if (!fld.isStatic() && (fld.isPublic() || fld.isProtected())) {
if (!fld.isStatic() && !maskedFields.contains(fld) && (fld.isPublic() || fld.isProtected())) {
	public void visit(JavaClass obj) {		if (obj.isInterface())			return;		classFields.clear();				Field[] fields = obj.getFields();		String fieldName;		for (int f = 0; f < fields.length; f++) {			fieldName = fields[f].getName();			classFields.add(fieldName);		}				// Walk up the super class chain, looking for name collisions		try		{				JavaClass[] superClasses = org.apache.bcel.Repository.getSuperClasses(obj);			if (superClasses.length > 0) {				Set<String> superClassFields = new HashSet<String>();				for (int c = 0; c < superClasses.length; c++) {					fields = superClasses[c].getFields();					for (int f = 0; f < fields.length; f++) {						Field fld = fields[f];						if (!fld.isStatic() && (fld.isPublic() || fld.isProtected())) {							fieldName = fld.getName();							if (fieldName.length() == 1)								continue;							if (fieldName.equals("serialVersionUID"))								continue;							if (classFields.contains( fieldName )) {								FieldAnnotation fa = new FieldAnnotation( getDottedClassName(), 													  fieldName, 													  fld.getSignature(), 													  fld.isStatic());				                                bugReporter.reportBug(									new BugInstance("MF_CLASS_MASKS_FIELD", LOW_PRIORITY)				                                        	.addClass(this)				                                        	.addField(fa));							}							else								superClassFields.add(fieldName);						}					}				}				classFields.addAll(superClassFields);			}		}		catch (ClassNotFoundException e) { 			bugReporter. reportMissingClass(e);		}				super.visit(obj);	}