docs: @Override
      public void sawOpcode(int seen) {
          if (seen == Const.INVOKEVIRTUAL) {
              if ("equals".equals(getNameConstantOperand()) && "(Ljava/lang/Object;)Z".equals(getSigConstantOperand())) {
                  OpcodeStack.Item item = stack.getStackItem(1);
                  ClassDescriptor c = DescriptorFactory.createClassDescriptorFromSignature(item.getSignature());
                  check(c);
  
              } else if ("java/lang/Class".equals(getClassConstantOperand())
                      && ("isInstance".equals(getNameConstantOperand()) || "cast".equals(getNameConstantOperand()))) {
                  OpcodeStack.Item item = stack.getStackItem(1);
                  if ("Ljava/lang/Class;".equals(item.getSignature())) {
                      Object value = item.getConstant();
                      if (value instanceof String) {
                          ClassDescriptor c = DescriptorFactory.createClassDescriptor((String) value);
                          check(c);
                      }
                  }
  
              }
  
          } else if (seen == Const.INSTANCEOF || seen == Const.CHECKCAST) {
              check(getClassDescriptorOperand());
          }
  
      }