TypeDataflow typeDataflow = typeDataflowMap.get(method); if (typeDataflow == null ) { MethodGen methodGen = getMethodGen(method); CFG cfg = getRawCFG(method); DepthFirstSearch dfs = getDepthFirstSearch(method);  TypeAnalysis typeAnalysis = new TypeAnalysis(methodGen, cfg, dfs, lookupFailureCallback); typeDataflow = new TypeDataflow(cfg, typeAnalysis); typeDataflow.execute();  typeDataflowMap.put(method, typeDataflow); } return typeDataflow;
return typeDataflowFactory.getAnalysis(method);
	public TypeDataflow getTypeDataflow(Method method) throws DataflowAnalysisException, CFGBuilderException {		TypeDataflow typeDataflow = typeDataflowMap.get(method);		if (typeDataflow == null ) {			MethodGen methodGen = getMethodGen(method);			CFG cfg = getRawCFG(method);			DepthFirstSearch dfs = getDepthFirstSearch(method);			TypeAnalysis typeAnalysis = new TypeAnalysis(methodGen, cfg, dfs, lookupFailureCallback);			typeDataflow = new TypeDataflow(cfg, typeAnalysis);			typeDataflow.execute();			typeDataflowMap.put(method, typeDataflow);		}		return typeDataflow;	}