docs: public static boolean hasInterestingMethod(ConstantPool cp, Collection<MethodDescriptor> methods) {
          for(Constant c : cp.getConstantPool()) {
              if(c instanceof ConstantMethodref || c instanceof ConstantInterfaceMethodref) {
                  ConstantCP desc = (ConstantCP)c;
                  ConstantNameAndType nameAndType = (ConstantNameAndType) cp.getConstant(desc.getNameAndTypeIndex());
                  String className = cp.getConstantString(desc.getClassIndex(), Const.CONSTANT_Class);
                  String name = ((ConstantUtf8)cp.getConstant(nameAndType.getNameIndex())).getBytes();
                  String signature = ((ConstantUtf8)cp.getConstant(nameAndType.getSignatureIndex())).getBytes();
                  // We don't know whether method is static thus cannot use equals
                  int hash = FieldOrMethodDescriptor.getNameSigHashCode(name, signature);
                  for(MethodDescriptor method : methods) {
                      if (method.getNameSigHashCode() == hash
                              && (method.getSlashedClassName().isEmpty() || method.getSlashedClassName().equals(className))
                              && method.getName().equals(name) && method.getSignature().equals(signature)) {
                          return true;
                      }
                  }
              }
          }
          return false;
      }