code: public boolean isSubtype(ObjectType type, ObjectType possibleSupertype) throws ClassNotFoundException {
          if (DEBUG_QUERIES) {
              System.out.println("isSubtype: check " + type + " subtype of " + possibleSupertype);
          }
  
          if (type.equals(possibleSupertype)) {
              if (DEBUG_QUERIES) {
                  System.out.println("  ==> yes, types are same");
              }
              return true;
          }
          ClassDescriptor typeClassDescriptor = DescriptorFactory.getClassDescriptor(type);
          ClassDescriptor possibleSuperclassClassDescriptor = DescriptorFactory.getClassDescriptor(possibleSupertype);
  
          return isSubtype(typeClassDescriptor, possibleSuperclassClassDescriptor);
      }
docs: Determine whether or not a given ObjectType is a subtype of another.
  Throws ClassNotFoundException if the question cannot be answered
  definitively due to a missing class.
  
  @param type
  a ReferenceType
  @param possibleSupertype
  another Reference type
  @return true if <code>type</code> is a subtype of
  <code>possibleSupertype</code>, false if not
  @throws ClassNotFoundException
  if a missing class prevents a definitive answer