private boolean mergeState(int[] current,int[] incoming,int size,ConstantPool pool){
  boolean changed=false;
  for (int i=0; i < size; i++) {
    int currentType=current[i];
    current[i]=TypeInfo.merge(current[i],incoming[i],pool);
    if (currentType != current[i]) {
      changed=true;
    }
  }
  return changed;
}

private boolean mergeState ( int [ ] current , int [ ] incoming , int size , ConstantPool pool ) { boolean changed = false ; for ( int i = 0 ; i < size ; i ++ ) { int currentType = current [ i ] ; current [ i ] = TypeInfo . merge ( current [ i ] , incoming [ i ] , pool ) ; if ( currentType != current [ i ] ) { changed = true ; } } return changed ; }
merge an operand stack or local variable array with incoming state . they are treated the same way ; by this point , it should already be ensured that the array sizes are the same , which is the only additional constraint that is imposed on merging operand stacks ( the local variable array is always the same size ) .
