ConstantPoolGen cpg = classContext.getConstantPoolGen();
	private void analyzeMethod(ClassContext classContext, Method method)			throws CFGBuilderException, DataflowAnalysisException {		CFG cfg = classContext.getCFG(method);		IsNullValueDataflow nullValueDataflow = classContext				.getIsNullValueDataflow(method);		ConstantPoolGen cpg = classContext.getConstantPoolGen();		MethodGen methodGen = classContext.getMethodGen(method);		String sourceFile = classContext.getJavaClass().getSourceFileName();		for (Iterator<Location> i = cfg.locationIterator(); i.hasNext();) {			Location location = i.next();			InstructionHandle handle = location.getHandle();			Instruction ins = handle.getInstruction();			if (!(ins instanceof ALOAD))				continue;			ALOAD load = (ALOAD) ins;			IsNullValueFrame frame = nullValueDataflow					.getFactAtLocation(location);			if (!frame.isValid()) {				// This basic block is probably dead				continue;			}			int index = load.getIndex();			IsNullValue v = frame.getValue(index);			if (v.isDefinitelyNull()) {				Instruction next = handle.getNext().getInstruction();				InstructionHandle prevHandle = handle.getPrev();				SourceLineAnnotation sourceLineAnnotation = SourceLineAnnotation				.fromVisitedInstruction(classContext, methodGen, sourceFile, handle);				SourceLineAnnotation prevSourceLineAnnotation = SourceLineAnnotation				.fromVisitedInstruction(classContext, methodGen, sourceFile, prevHandle);					if (next instanceof ARETURN) {					// probably stored for duration of finally block					continue;				}				if (sourceLineAnnotation.getStartLine() > prevSourceLineAnnotation.getEndLine()) {					// probably stored for duration of finally block					// System.out.println("Inverted line");					continue;				}				int priority = NORMAL_PRIORITY;								if (!v.isChecked()) priority++;								bugReporter.reportBug(new BugInstance(this,						"NP_LOAD_OF_KNOWN_NULL_VALUE",						priority)						.addClassAndMethod(methodGen, sourceFile)						.addSourceLine(sourceLineAnnotation));			}		}	}