for(int i=newArrays.size()-1;i>=0;i--) self.addStatementFirst((JStatement)newArrays.get(i));
    public Object visitBlockStatement(JBlock self,				      JavaStyleComment[] comments) {	if(parent==null) {	    parent=self;	    varDefs=new LinkedList();	}	//LinkedList saveDefs=varDefs;	int size=self.size();	for (int i=0;i<size;i++) {	    JStatement oldBody = (JStatement)self.getStatement(i);	    Object newBody = oldBody.accept(this);	    if (!(newBody instanceof JStatement))		continue;	    if(newBody instanceof JVariableDeclarationStatement) {		self.removeStatement(i);		varDefs.add(newBody);		JVariableDefinition[] vars=((JVariableDeclarationStatement)newBody).getVars();		for(int j=vars.length-1;j>=0;j--) {		    JVariableDefinition def=(JVariableDefinition)vars[j];		    JExpression val=def.getValue();		    if(val!=null) {			def.setValue(null);			TokenReference ref=((JVariableDeclarationStatement)newBody).getTokenReference();			self.addStatement(i,new JExpressionStatement(ref,new JAssignmentExpression(ref,new JLocalVariableExpression(ref,def),val),null));			size++;		    }		}		i--;		size--;	    } else if (newBody!=null && newBody!=oldBody) {		self.setStatement(i,(JStatement)newBody);	    }	}	if(parent==self) {	    Hashtable visitedVars=new Hashtable();	    for(int i=varDefs.size()-1;i>=0;i--) {		JVariableDeclarationStatement varDec=(JVariableDeclarationStatement)varDefs.get(i);		self.addStatementFirst(varDec);		JVariableDefinition[] varArray=varDec.getVars();		LinkedList newVars=new LinkedList();		for(int j=0;j<varArray.length;j++) {		    JLocalVariable var=(JLocalVariable)varArray[j];		    if(!visitedVars.containsKey(var.getIdent())) {			visitedVars.put(var.getIdent(),Boolean.TRUE);			newVars.add(var);		    } else {			var.setIdent(var.getIdent()+"__conflict__"+conflict++);			visitedVars.put(var.getIdent(),Boolean.TRUE);			//System.err.println("Conflict:"+var.getIdent());			newVars.add(var);		    }		}		varDec.setVars((JVariableDefinition[])newVars.toArray(new JVariableDefinition[0]));	    }	    parent=null;	}	//varDefs=saveDefs;	visitComments(comments);	return self;    }