if(!self.unrolled) {
if((KjcOptions.unroll>1 || inInit) && !self.getUnrolled()) {
    public Object visitForStatement(JForStatement self,				    JStatement init,				    JExpression cond,				    JStatement incr,				    JStatement body) {	if(!self.unrolled) { //Ignore if already unrolled	    // first recurse into body	    Hashtable saveModified=currentModified;	    currentModified=new Hashtable();	    JStatement newStmt = (JStatement)body.accept(this);	    if (newStmt!=null && newStmt!=body) {		self.setBody(newStmt);	    }	    // check for loop induction variable	    	    UnrollInfo info = getUnrollInfo(init, cond, incr, body,values,constants);	    // see if we can unroll...	    if(shouldUnroll(info, body, currentModified)) {		// Set modified		saveModified.putAll(currentModified);		currentModified=saveModified;		currentModified.put(info.var,Boolean.TRUE);		// do unrolling		return doUnroll(info, self);	    } else if(canUnroll(info,currentModified)) {		// Set modified		saveModified.putAll(currentModified);		currentModified=saveModified;		currentModified.put(info.var,Boolean.TRUE);		// do unrolling		return doPartialUnroll(info, self);	    }	    saveModified.putAll(currentModified);	    currentModified=saveModified;	}	return self;    }