if (fieldSig.indexOf("L") >= 0 || !isFinal) priority = HIGH_PRIORITY; }
	public void report() {		/*		for(Iterator i = unsafeValue.iterator(); i.hasNext(); ) {			System.out.println("Unsafe: " + i.next());			}		*/		for (Iterator<FieldRecord> i = seen.iterator(); i.hasNext();) {			FieldRecord f = i.next();			boolean isFinal = f.isFinal;			String className = f.className;			String fieldSig = f.signature;			String fieldName = f.name;			String name = className + "." + fieldName;			boolean couldBeFinal = !isFinal			        && !notFinal.contains(name);			boolean isPublic = f.isPublic;			boolean couldBePackage = !outsidePackage.contains(name);			boolean movedOutofInterface = couldBePackage &&			        interfaces.contains(className);			boolean isHashtable = fieldSig.equals("Ljava/util/Hashtable;");			boolean isArray = fieldSig.charAt(0) == '['			        && unsafeValue.contains(name);			/*			System.out.println(className + "."  + fieldName						+ " : " + fieldSig					+ "	" + isHashtable					+ "	" + isArray						);			*/			String bugType;			int priority = NORMAL_PRIORITY;			if (isFinal && !isHashtable && !isArray) {				// System.out.println( name +" is a safe zero length array");				continue;			} else if (movedOutofInterface) {				bugType = "MS_OOI_PKGPROTECT";			} else if (couldBePackage && couldBeFinal && (isHashtable || isArray))				bugType = "MS_FINAL_PKGPROTECT";			else if (couldBeFinal && !isHashtable && !isArray) {				bugType = "MS_SHOULD_BE_FINAL";				if (fieldName.equals(fieldName.toUpperCase()))					priority = HIGH_PRIORITY;			} else if (couldBePackage)				bugType = "MS_PKGPROTECT";			else if (isHashtable)				bugType = "MS_MUTABLE_HASHTABLE";			else if (isArray)				bugType = "MS_MUTABLE_ARRAY";			else if (!isFinal)				bugType = "MS_CANNOT_BE_FINAL";			else				throw new RuntimeException("impossible");			bugReporter.reportBug(new BugInstance(bugType, priority)			        .addClass(className)			        .addField(className, fieldName, fieldSig, true));		}	}