question: public boolean merge ( final Frame < ? extends V > frame , final Interpreter < V > interpreter ) throws AnalyzerException { if ( top != frame . top ) { throw new AnalyzerException ( null , "Incompatible stack heights" ) ; } boolean changes = false ; for ( int i = 0 ; i < locals + top ; ++ i ) { V v = interpreter . merge ( values [ i ] , frame . values [ i ] ) ; if ( ! v . equals ( values [ i ] ) ) { values [ i ] = v ; changes = true ; } } return changes ; }
target:  Merges this frame with the given frame.