if ("getMethod".equals(method)) {
String sig = getSigConstantOperand();
if (SIG_STRING_AND_CLASS_ARRAY_TO_METHOD.equals(sig) && (stack.getStackDepth() >= 2)) {
OpcodeStack.Item clsArgs = stack.getStackItem(0);
String[] arrayTypes = (String[]) clsArgs.getUserValue();
<BUG>if ((arrayTypes != null) || (clsArgs.isNull())) {
OpcodeStack.Item methodItem = stack.getStackItem(1);</BUG>
String methodName = (String) methodItem.getConstant();
if (methodName != null) {
<BUG>String reflectionSig = buildReflectionSignature(methodName, arrayTypes);
if (objectSigs.contains(reflectionSig)) {</BUG>
loadedTypes = (arrayTypes == null) ? new String[0] : arrayTypes;

if ("getMethod".equals(method)) {
String sig = getSigConstantOperand();
if (SIG_STRING_AND_CLASS_ARRAY_TO_METHOD.equals(sig) && (stack.getStackDepth() >= 2)) {
OpcodeStack.Item clsArgs = stack.getStackItem(0);
String[] arrayTypes = (String[]) clsArgs.getUserValue();
if ((arrayTypes != null) || clsArgs.isNull()) {
OpcodeStack.Item methodItem = stack.getStackItem(1);
String methodName = (String) methodItem.getConstant();
if (methodName != null) {
String reflectionSig = sigWithoutReturn.withMethodName(methodName).withParamTypes(arrayTypes).build();
if (objectSigs.contains(reflectionSig)) {
loadedTypes = (arrayTypes == null) ? new String[0] : arrayTypes;
