if (ValueNumberAnalysis.DEBUG) { System.out.println("\n\nValue number analysis for " + method.getName()); for(Iterator<Location> locs = cfg.locationIterator(); locs.hasNext(); ) { Location loc = locs.next(); System.out.println("\nLocation: " + loc); System.out.println("Before: " + vnaDataflow.getFactAtLocation(loc)); System.out.println("After: " + vnaDataflow.getFactAfterLocation(loc));   } }
                         protected ValueNumberDataflow analyze(Method method) throws DataflowAnalysisException, CFGBuilderException {			        MethodGen methodGen = getMethodGen(method);			        if (methodGen == null) throw new MethodUnprofitableException(getJavaClass(),method);			        DepthFirstSearch dfs = getDepthFirstSearch(method);			        LoadedFieldSet loadedFieldSet = getLoadedFieldSet(method);			        ValueNumberAnalysis analysis = new ValueNumberAnalysis(methodGen, dfs, loadedFieldSet,							getLookupFailureCallback());					analysis.setMergeTree(new MergeTree(analysis.getFactory()));			        CFG cfg = getCFG(method);			        ValueNumberDataflow vnaDataflow = new ValueNumberDataflow(cfg, analysis);			        vnaDataflow.execute();			        return vnaDataflow;		        }