if (filterInfo.isTwoStage() && filterInfo.filter.getMethods()[i] == filterInfo.filter.getInitWork()) {
if (filterInfo.isSimple() && filterInfo.isTwoStage() && filterInfo.filter.getMethods()[i] == filterInfo.filter.getInitWork()) {
    public JMethodDeclaration[] getHelperMethods()     {                Vector methods = new Vector();        //add all helper methods, except work function and initWork        /*          for (int i = 0; i < filterInfo.filter.getMethods().length; i++)           if (!(filterInfo.filter.getMethods()[i].equals(filterInfo.filter.getWork()) ||          (filterInfo.isTwoStage() &&           filterInfo.filter.getInitWork().          equals(filterInfo.filter.getMethods()[i]))))          methods.add(filterInfo.filter.getMethods()[i]);        */            //add all methods        for (int i = 0; i < filterInfo.filter.getMethods().length; i++) {            //if we are inlining don't generate the code for the work function.            if (INLINE_WORK &&                     filterInfo.filter.getMethods()[i] == filterInfo.filter.getWork())                continue;                        if (filterInfo.isTwoStage() && filterInfo.filter.getMethods()[i] ==                filterInfo.filter.getInitWork()) {                //if the filter is a two stage, then add the var decl of                 //the simple index to the body and then clone the body to                 //get a new simple index                JMethodDeclaration initWork = filterInfo.filter.getInitWork();                JBlock newBody = initWork.getBody();                newBody.addStatementFirst(                        new JVariableDeclarationStatement(generatedVariables.simpleIndex));                newBody = (JBlock)ObjectDeepCloner.deepCopy(newBody);                initWork.setBody(newBody);                filterInfo.filter.setInitWork(initWork);            }                        methods.add(filterInfo.filter.getMethods()[i]);        }        return (JMethodDeclaration[])methods.toArray(new JMethodDeclaration[0]);    }