Set<LocationWhereValueBecomesNull> locationWhereValueBecomesNullSet = invDataflow.getAnalysis().getLocationWhereValueBecomesNullSet();     Map<ValueNumber, Set<Location>> nullValueAssignmentMap = new HashMap<ValueNumber, Set<Location>>(); for (LocationWhereValueBecomesNull lwvbn : locationWhereValueBecomesNullSet) { Set<Location> locationSet = nullValueAssignmentMap.get(lwvbn.getValueNumber()); if (locationSet == null) { locationSet = new HashSet<Location>(); nullValueAssignmentMap.put(lwvbn.getValueNumber(), locationSet); } locationSet.add(lwvbn.getLocation()); }    Map<ValueNumber, Set<Location>> nullValueGuaranteedDerefMap = new HashMap<ValueNumber, Set<Location>>(); for (Iterator<Location> i = classContext.getCFG(method).locationIterator(); i.hasNext();) { Location location = i.next();  ValueNumberFrame vnaFrame = classContext.getValueNumberDataflow(method).getFactAtLocation(location); IsNullValueFrame invFrame = classContext.getIsNullValueDataflow(method).getFactAtLocation(location);   if (!vnaFrame.isValid() || !invFrame.isValid() || vnaFrame.getNumSlots() != invFrame.getNumSlots())  { continue; }   for (int j = 0; j < invFrame.getNumSlots(); j++) { if (invFrame.getValue(j).isDefinitelyNull()) {  ValueNumber valueNumber = vnaFrame.getValue(j);  UnconditionalValueDerefSet derefSet = classContext.getUnconditionalValueDerefDataflow(method).getFactAtLocation(location); if (derefSet.isUnconditionallyDereferenced(valueNumber)) {    Set<Location> thisValueNumberDerefLocationSet = nullValueGuaranteedDerefMap.get(valueNumber); if (thisValueNumberDerefLocationSet == null) { thisValueNumberDerefLocationSet = new HashSet<Location>(); nullValueGuaranteedDerefMap.put(valueNumber, thisValueNumberDerefLocationSet); } thisValueNumberDerefLocationSet.addAll(derefSet.getUnconditionalDerefLocationSet(valueNumber)); } } } }   for (ValueNumber valueNumber : nullValueGuaranteedDerefMap.keySet()) { Set<Location> assignedNullLocationSet = nullValueAssignmentMap.get(valueNumber); Set<Location> derefLocationSet = nullValueGuaranteedDerefMap.get(valueNumber);  collector.foundGuaranteedNullDeref(assignedNullLocationSet, derefLocationSet, valueNumber); }
	private void examineNullValues() throws CFGBuilderException, DataflowAnalysisException {//		CFG cfg = classContext.getCFG(method);//		Iterator<Location> i = cfg.locationIterator();//		//		UnconditionalValueDerefDataflow uvdDataflow =//			classContext.getUnconditionalValueDerefDataflow(method);//		//		while (i.hasNext()) {//			Location loc = i.next();//		}	}