if (knownNull.get(sourceLineAnnotation.getStartLine())) {
if (!knownNull.get(sourceLineAnnotation.getStartLine())) {
	public void foundGuaranteedNullDeref(			@NonNull Set<Location> assignedNullLocationSet,			@NonNull Set<Location> derefLocationSet,			SortedSet<Location> doomedLocations,			ValueNumberDataflow vna, ValueNumber refValue, boolean alwaysOnExceptionPath, boolean npeIfStatementCovered) {		if (DEBUG) {			System.out.println("Found guaranteed null deref in " + method.getName());			for(Location loc : doomedLocations)				System.out.println("Doomed at " + loc);		}				String bugType = alwaysOnExceptionPath			? "NP_GUARANTEED_DEREF_ON_EXCEPTION_PATH"			: "NP_GUARANTEED_DEREF";		int priority = alwaysOnExceptionPath ? NORMAL_PRIORITY : HIGH_PRIORITY;		if (!npeIfStatementCovered) priority++;				// Create BugInstance		BugInstance bugInstance = new BugInstance(this, bugType, priority)			.addClassAndMethod(classContext.getJavaClass(), method);				// Add Locations in the set of locations at least one of which		// is guaranteed to be dereferenced				TreeSet<Location> sortedDerefLocationSet = new TreeSet<Location>(derefLocationSet);		SortedSet<Location> sourceLocations;		if (doomedLocations.isEmpty()) sourceLocations= new TreeSet<Location>(assignedNullLocationSet);		else sourceLocations = doomedLocations;				BugAnnotation variableAnnotation = null;		try {			for (Location loc : sourceLocations)  {				variableAnnotation = findLocalVariable(loc, refValue, vna.getFactAtLocation(loc));				if (variableAnnotation != null) break;			}			if (variableAnnotation == null) for (Location loc : sortedDerefLocationSet) {				variableAnnotation = findLocalVariable(loc, refValue, vna.getFactAtLocation(loc));				if (variableAnnotation != null) break;			}					} catch (DataflowAnalysisException e) {		}		if (variableAnnotation == null) variableAnnotation = new LocalVariableAnnotation("?",-1,-1);				bugInstance.add(variableAnnotation);		BitSet knownNull = new BitSet();				SortedSet<SourceLineAnnotation> knownNullLocations = new TreeSet<SourceLineAnnotation>();		for (Location loc : sourceLocations) {			SourceLineAnnotation sourceLineAnnotation =				SourceLineAnnotation.fromVisitedInstruction(classContext, classContext.getMethodGen(method), 						classContext.getJavaClass().getSourceFileName(),						loc.getHandle());			if (sourceLineAnnotation == null) continue;			if (knownNull.get(sourceLineAnnotation.getStartLine())) {				knownNull.set(sourceLineAnnotation.getStartLine());				knownNullLocations.add(sourceLineAnnotation);			}		}			for(SourceLineAnnotation sourceLineAnnotation : knownNullLocations)			bugInstance.add(sourceLineAnnotation).describe("SOURCE_LINE_NULL_VALUE");				for (Location loc : sortedDerefLocationSet) {			bugInstance.addSourceLine(classContext, method, loc).describe("SOURCE_LINE_DEREF");		}						// Report it		bugReporter.reportBug(bugInstance);	}