public BindingSet match(InstructionHandle handle, ConstantPoolGen cpg,
public MatchResult match(InstructionHandle handle, ConstantPoolGen cpg,
	public BindingSet match(InstructionHandle handle, ConstantPoolGen cpg,		ValueNumberFrame before, ValueNumberFrame after, BindingSet bindingSet) throws DataflowAnalysisException {		Variable field;		Instruction ins = handle.getInstruction();		FieldInstruction fieldIns;		// The instruction must be GETFIELD or GETSTATIC		if (ins instanceof GETFIELD) {			fieldIns = (GETFIELD) ins;			ValueNumber ref = before.getTopValue();			field = new FieldVariable(ref, fieldIns.getClassName(cpg), fieldIns.getFieldName(cpg), fieldIns.getSignature(cpg));		} else if (ins instanceof GETSTATIC) {			fieldIns = (GETSTATIC) ins;			field = new FieldVariable(fieldIns.getClassName(cpg), fieldIns.getFieldName(cpg), fieldIns.getSignature(cpg));		} else			return null;		Variable result = snarfFieldValue(fieldIns, cpg, after);		return checkConsistent(field, result, bindingSet);	}