if (curPhase.num==0) { continue; }
    private static void makeWorkBody(List filterInfo, 				     JBlock statements,				     boolean init) {	// for all the filters...	for (int i=0; i<filterInfo.size(); i++) {	    FilterInfo cur = (FilterInfo)filterInfo.get(i);	    FilterInfo next = (FilterInfo)filterInfo.get(i);	    PhaseInfo curPhase = init ? cur.init : cur.steady;	    PhaseInfo nextPhase = init ? next.init : next.steady;	    // if in the steady-state phase, restore the peek values	    if (!init) {		statements.addStatement(makePeekRestore(cur, curPhase));	    }	    // get the filter's work function	    JMethodDeclaration work = cur.filter.getWork();	    // take a deep breath and clone the body of the work function	    JBlock oldBody = new JBlock(null, work.getStatements(), null);	    JBlock body = (JBlock)ObjectDeepCloner.deepCopy(oldBody);	    // mutate <statements> to make them fit for fusion	    FusingVisitor fuser = new FusingVisitor(curPhase, nextPhase, i!=0,						    i!=filterInfo.size()-1);	    for (ListIterator it = body.getStatementIterator(); it.hasNext();){		((JStatement)it.next()).accept(fuser);	    }	    // get <body> into a loop in <statements>	    statements.addStatement(makeForLoop(body,						curPhase.loopCounter,						new JIntLiteral(curPhase.num))				    );	    // get the postlude--copying state to the peek buffer	    statements.addStatement(makePeekBackup(cur, curPhase));	}    }