statementContext = oldStatementContext;
    public void visitForStatement(JForStatement self,                                  JStatement init,                                  JExpression cond,                                  JStatement incr,                                  JStatement body) {	//be careful, if you return prematurely, decrement me	forLoopHeader++;        print("for (");        if (init != null) {            init.accept(this);	    //the ; will print in a statement visitor	}        print(" ");        if (cond != null) {            cond.accept(this);	}	//cond is an expression so print the ;        print("; ");	if (incr != null) {	    FlatIRToCluster l2c = new FlatIRToCluster(filter);            incr.accept(l2c);	    // get String	    String str = l2c.getString();	    // leave off the trailing semicolon if there is one	    if (str.endsWith(";")) {		print(str.substring(0, str.length()-1));	    } else { 		print(str);	    }        }	forLoopHeader--;        print(") ");        print("{");        pos += TAB_SIZE;        body.accept(this);        pos -= TAB_SIZE;        newLine();        print("}");    }