if (!classNameMatcher.match(inv.getClassName(cpg)) || !methodNameMatcher.match(methodName) || !methodSigMatcher.match(inv.getSignature(cpg)))
if (!methodNameMatcher.match(methodName) || !methodSigMatcher.match(inv.getSignature(cpg)) || !classNameMatcher.match(inv.getClassName(cpg)))
	public MatchResult match(InstructionHandle handle, ConstantPoolGen cpg,		ValueNumberFrame before, ValueNumberFrame after, BindingSet bindingSet) throws DataflowAnalysisException {		// See if the instruction is an InvokeInstruction		Instruction ins = handle.getInstruction();		if (!(ins instanceof InvokeInstruction))			return null;		InvokeInstruction inv = (InvokeInstruction) ins;		String methodName = inv.getMethodName(cpg);		boolean isStatic = inv.getOpcode() == Constants.INVOKESTATIC;		boolean isCtor = methodName.equals("<init>");		int actualMode = 0;		if (isStatic) actualMode |= STATIC;		if (isCtor) actualMode |= CONSTRUCTOR;		if (!isStatic && !isCtor) actualMode |= INSTANCE;		// Intersection of actual and desired modes must be nonempty.		if ((actualMode & mode) == 0)			return null;		// Check class name, method name, and method signature.		if (!classNameMatcher.match(inv.getClassName(cpg)) ||			!methodNameMatcher.match(methodName) ||			!methodSigMatcher.match(inv.getSignature(cpg)))			return null;		// It's a match!		return new MatchResult(this, bindingSet);	}