* @param class2
   * @return Stella_Class
   */
  public static Stella_Class twoArgumentLeastCommonSuperclass(Stella_Class class1, Stella_Class class2) {
    if (Stella_Class.subclassOfP(class1, class2)) {
      return (class2);
    }
    if (Stella_Class.subclassOfP(class2, class1)) {
      return (class1);
    }
    { Stella_Class c = null;
      Cons iter000 = class1.classAllSuperClasses;

      for (;!(iter000 == Stella.NIL); iter000 = iter000.rest) {
        c = ((Stella_Class)(iter000.value));
        c.classMarkedP = false;
      }
    }
    { Stella_Class c = null;
      Cons iter001 = class2.classAllSuperClasses;

      for (;!(iter001 == Stella.NIL); iter001 = iter001.rest) {
        c = ((Stella_Class)(iter001.value));
        c.classMarkedP = true;
      }
    }
    { Stella_Class c = null;
      Cons iter002 = class1.classAllSuperClasses;

      for (;!(iter002 == Stella.NIL); iter002 = iter002.rest) {
        c = ((Stella_Class)(iter002.value));
        if (c.classMarkedP) {
          return (c);
        }
      }
    }
    return (null);
  }