self.setInit(null);
self.setInit(new JEmptyStatement(null, null));
    public Object visitForStatement(JForStatement self,				    JStatement init,				    JExpression cond,				    JStatement incr,				    JStatement body) {	// cond should never be a constant, or else we have an	// infinite or empty loop.  Thus I won't check for it... 	// recurse into init	JStatement newInit = (JStatement)init.accept(this);	if (newInit!=null && newInit!=init) {	    self.setInit(newInit);	}		// recurse into incr	JStatement newIncr = (JStatement)incr.accept(this);	if (newIncr!=null && newIncr!=incr) {	    self.setIncr(newIncr);	}	JExpression newExp = (JExpression)cond.accept(this);	if (newExp!=null && newExp!=cond) {	    self.setCond(newExp);	}		// recurse into body	JStatement newBody = (JStatement)body.accept(this);	if (newBody!=null && newBody!=body) {	    self.setBody(newBody);	}	if(newInit instanceof JVariableDeclarationStatement) {	    JVariableDefinition[] vars=((JVariableDeclarationStatement)newInit).getVars();	    if(vars.length>1)		System.err.println("Warning: Compound Variable Declaration in for loop"); //Not handled	    JVariableDefinition def=(JVariableDefinition)vars[0];	    JExpression val=def.getValue();	    varDefs.add(newInit);	    if(val!=null) {		def.setValue(null);		TokenReference ref=((JVariableDeclarationStatement)newInit).getTokenReference();		self.setInit(new JExpressionListStatement(ref,new JExpression[] {new JAssignmentExpression(ref,new JLocalVariableExpression(ref,def),val)},null));	    } else		self.setInit(null);	}	return self;    }