System.out.println("Optimizing "+filter+"...");
    public void visitFilter(SIRFilter filter,		     SIRFilterIter iter) { 	//unroll all methods	System.out.println("Optimizing "+filter+"...");	for (int i = 0; i < filter.getMethods().length; i++) {	    JMethodDeclaration method=filter.getMethods()[i];	    if (!KjcOptions.nofieldprop) {		Unroller unroller;		do {		    do {			unroller = new Unroller(new Hashtable());			method.accept(unroller);		    } while(unroller.hasUnrolled());		    		    method.accept(new Propagator(new Hashtable()));		    unroller = new Unroller(new Hashtable());                    method.accept(unroller);		} while(unroller.hasUnrolled());		method.accept(new BlockFlattener());		method.accept(new Propagator(new Hashtable()));               	    } else {		filter.getMethods()[i].accept(new BlockFlattener());	    }	    	    filter.getMethods()[i].accept(new VarDeclRaiser());	}           	DeadCodeElimination.doit(filter);    }