rename.init_for_hash_maps();
    public static void renameDestroyedVars(SIRFilter filter, Set destroyed_vars) {	RenameDestroyedVars rename = new RenameDestroyedVars(destroyed_vars);	JMethodDeclaration methods[] = filter.getMethods();	for (int i = 0; i < methods.length; i++) {	    rename.first_assign = new HashMap();	    rename.last_usage = new HashMap();	    rename.RENAME = false;	    methods[i].accept(rename);	    rename.RENAME = true;	    rename.live_vars = new HashMap();	    rename.max_live_vars = new HashMap();	    rename.available_names = new HashMap();	    rename.var_alias = new HashMap();	    methods[i].accept(rename);	    Set types = rename.max_live_vars.keySet();	    Iterator iter = types.iterator();	    while (iter.hasNext()) {		Object type = iter.next();		int num = ((Integer)rename.max_live_vars.get(type)).intValue();		System.out.println("[Function: "+methods[i].getName()+" Type: "+type+" Max-live-destroyed-vars: "+num+"]");		JBlock body = methods[i].getBody();		Stack alias_stack = (Stack)rename.available_names.get(type);		JVariableDefinition var;		for (int y = 0; y < num; y++) {		    assert (!alias_stack.empty());		    var = (JVariableDefinition)alias_stack.pop();		    body.addStatementFirst(new JVariableDeclarationStatement(null, var, null));		}	    }	}    }