* @param superclass
   * @return boolean
   */
  public static boolean subclassOfP(Stella_Class subclass, Stella_Class superclass) {
    if (subclass == superclass) {
      return (true);
    }
    { TaxonomyNode subnode = subclass.classTaxonomyNode;
      TaxonomyNode supernode = superclass.classTaxonomyNode;
      int sublabel = Stella.NULL_INTEGER;

      if ((subnode == null) ||
          ((supernode == null) ||
           ((sublabel = subnode.label) == Stella.NULL_INTEGER))) {
        return (subclass.classAllSuperClasses.membP(superclass));
      }
      { Interval interval = null;
        Cons iter000 = supernode.intervals;

        for (;!(iter000 == Stella.NIL); iter000 = iter000.rest) {
          interval = ((Interval)(iter000.value));
          if ((sublabel >= interval.lowerBound) &&
              (sublabel <= interval.upperBound)) {
            return (true);
          }
        }
      }
      return (false);
    }
  }