Buggy code:
abstract class MethodCallNode extends JavaValueNode { String methodName ; String javaClassName ; RoutineAliasInfo routineInfo ; boolean internalCall ; private String [ ] procedurePrimitiveArrayType ; protected JSQLType [ ] signature ; protected JavaValueNode [ ] methodParms ; protected Member method ; protected String actualMethodReturnType ; String [ ] methodParameterTypes ; public void init ( Object methodName ) { } public String getMethodName ( ) { } public String getJavaClassName ( ) { } public RoutineAliasInfo getRoutineInfo ( ) { } public void addParms ( Vector parameterList ) throws StandardException { } public Class [ ] getMethodParameterClasses ( ) { } void getCorrelationTables ( JBitSet correlationMap ) throws StandardException { CollectNodesVisitor getCRs = new CollectNodesVisitor ( ColumnReference . class ) ; <START_BUG> super . accept ( getCRs ) ; <END_BUG> Vector colRefs = getCRs . getList ( ) ; for ( Enumeration e = colRefs . elements ( ) ; e . hasMoreElements ( ) ; ) { ColumnReference ref = ( ( ColumnReference ) ( e . nextElement ( ) ) ) ; if ( ref . getCorrelated ( ) ) { correlationMap . set ( ref . getTableNumber ( ) ) ; } } } public void printSubNodes ( int depth ) { } public String toString ( ) { } final void bindParameters ( FromList fromList , SubqueryList subqueryList , Vector aggregateVector ) throws StandardException { } protected boolean areParametersQueryInvariant ( ) throws StandardException { } void throwNoMethodFound ( String receiverTypeName , String [ ] parmTypeNames , String [ ] primParmTypeNames ) throws StandardException { } public void preprocess ( int numTables , FromList outerFromList , SubqueryList outerSubqueryList , PredicateList outerPredicateList ) throws StandardException { } public boolean categorize ( JBitSet referencedTabs , boolean simplePredsOnly ) throws StandardException { } public JavaValueNode remapColumnReferencesToExpressions ( ) throws StandardException { } public int generateParameters ( ExpressionClassBuilder acb , MethodBuilder mb ) throws StandardException { } public static String getParameterTypeName ( JavaValueNode param ) throws StandardException { } public void generateOneParameter ( ExpressionClassBuilder acb , MethodBuilder mb , int parameterNumber ) throws StandardException { } public void setNullParameterInfo ( String [ ] parmTypeNames ) throws StandardException { } protected void resolveMethodCall ( String javaClassName , boolean staticMethod ) throws StandardException { } private String [ ] parseValidateSignature ( String externalName , int offset , boolean hasDynamicResultSets ) throws StandardException { } protected boolean someParametersAreNull ( ) { } protected String [ ] getObjectSignature ( ) throws StandardException { } protected boolean [ ] getIsParam ( ) { } private String getObjectTypeName ( JSQLType jsqlType ) throws StandardException { } String [ ] getPrimitiveSignature ( boolean castToPrimitiveAsNecessary ) throws StandardException { } protected int getOrderableVariantType ( ) throws StandardException { } private int getVariantTypeOfParams ( ) throws StandardException { } public JavaValueNode [ ] getMethodParms ( ) { } public Visitable accept ( Visitor v ) throws StandardException { } private String getVarargsType ( ) { } protected int getCompiledResultSetCount ( ) { } }

Fix:
accept ( getCRs ) ;