@Override
public void methodInvocation(final Instruction instruction, final String owner, final String methodName, final String... args) {
if (!found[0] && expectedOwnerName.equals(owner) &&
expectedMethodName.equals(methodName)) {
Instruction prevInstruction = analysed.getInstruction(instruction.getInstructionIndex() - 1);
OperandStack operandStack = prevInstruction.getOperandStack();
found[0] = true;
for (int i = expectedParamTypes.length - 1; i >= 0; i--) {
final String expectedType = typeEncoding(expectedParamTypes[i]);
if (!expectedType.equals(operandStack.getOperandType())) {
found[0] = false;
break;
}
operandStack = operandStack.next();
}
}
}
});
return found[0];