primarySourceLineAnnotation = bug.getPrimarySourceLineAnnotation();  int startLine;  if (primarySourceLineAnnotation != null) { startLine = primarySourceLineAnnotation.getStartLine(); if(startLine <= 0 && bug.getPrimaryField() != null){ completeFieldInfo(qualifiedClassName, innerName, type, bug); } } else { if(bug.getPrimaryField() != null){ completeFieldInfo(qualifiedClassName, innerName, type, bug); } }
	public static IResource getUnderlyingResource(BugInstance bug, IProject project)		throws JavaModelException {		SourceLineAnnotation primarySourceLineAnnotation = bug.getPrimarySourceLineAnnotation();		PackageMemberAnnotation packageAnnotation = null;		String packageName = null;		String qualifiedClassName = null;		if (primarySourceLineAnnotation == null) {			packageAnnotation = bug.getPrimaryClass();			if (packageAnnotation != null) {				packageName = packageAnnotation.getPackageName();				qualifiedClassName = packageAnnotation.getClassName();			}		}		else {			packageName = primarySourceLineAnnotation.getPackageName();			qualifiedClassName = primarySourceLineAnnotation.getClassName();		}		if (qualifiedClassName == null) {			return null;		}		if (Reporter.DEBUG) {			System.out.println("Looking up class: " //$NON-NLS-1$			+ packageName + ", " //$NON-NLS-1$			+ qualifiedClassName);		}		int lastDollar =			Math.max(				qualifiedClassName.lastIndexOf('$'),				qualifiedClassName.lastIndexOf('+'));		boolean isInnerClass = lastDollar > 0;		//        boolean isAnonInnerClass = Character.isDigit(qualifiedClassName		//            .charAt(lastDollar + 1));		IType type = null;		if (isInnerClass) {			// cut the useless number value			String innerName = qualifiedClassName.substring(lastDollar + 1);			String shortQualifiedClassName =				qualifiedClassName.substring(0, lastDollar);			type = Reporter.getJavaProject(project).findType(shortQualifiedClassName);			completeInnerClassInfo(qualifiedClassName, innerName, type, bug);		}		else {			type = Reporter.getJavaProject(project).findType(qualifiedClassName);		}		if (type != null) {			return type.getUnderlyingResource();		}		return null;	}