if (xfield != null && !xfield.isStatic()  && !xfield.isVolatile() && !xfield.isFinal()) {
if (xfield != null && !xfield.isStatic()) {
	private void analyzeMethod(ClassContext classContext, Method method, Set<Method> lockedMethodSet)		throws CFGBuilderException, DataflowAnalysisException {		final InnerClassAccessMap icam = InnerClassAccessMap.instance();		final ConstantPoolGen cpg = classContext.getConstantPoolGen();		final CFG cfg = classContext.getCFG(method);		final LockDataflow lockDataflow = classContext.getLockDataflow(method);		final ValueNumberDataflow vnaDataflow = classContext.getValueNumberDataflow(method);		new LocationScanner(cfg).scan(new LocationScanner.Callback() {			public void visitLocation(Location location) throws CFGBuilderException, DataflowAnalysisException {				try {					Instruction ins = location.getHandle().getInstruction();					XField xfield = null;					boolean isWrite = false;					if (ins instanceof FieldInstruction) {						FieldInstruction fins = (FieldInstruction) ins;						xfield = Lookup.findXField(fins, cpg);						isWrite = ins.getOpcode() == Constants.PUTFIELD;					} else if (ins instanceof INVOKESTATIC) {						INVOKESTATIC inv = (INVOKESTATIC) ins;						InnerClassAccess access = icam.getInnerClassAccess(inv, cpg);						if (access != null && access.getMethodSignature().equals(inv.getSignature(cpg))) {							xfield = access.getField();							isWrite = !access.isLoad();						}					}					if (xfield != null && !xfield.isStatic() /*&& !xfield.isPublic()*/ && !xfield.isVolatile() && !xfield.isFinal()) {						instanceAccess(vnaDataflow.getFactAtLocation(location),									lockDataflow.getFactAtLocation(location),									xfield, ins, isWrite, cpg);					}					// FIXME: should we do something for static fields?				} catch (ClassNotFoundException e) {					bugReporter.reportMissingClass(e);				}			}		});	}