public static Stella_Class defineClassFromParseTree(Cons parsetree) {
    if (Cons.badArgumentRangeP(parsetree, 2, Stella.NULL_INTEGER)) {
      return (null);
    }
    if (!(Stella_Object.symbolP(parsetree.rest.value) &&
        Stella_Object.consP(parsetree.rest.rest.value))) {
      { Object old$PrintreadablyP$000 = Stella.$PRINTREADABLYp$.get();

        try {
          Native.setBooleanSpecial(Stella.$PRINTREADABLYp$, true);
          Stella.signalTranslationError();
          if (!(Stella.suppressWarningsP())) {
            Stella.printErrorContext(">> ERROR: ", Stella.STANDARD_ERROR);
            {
              Stella.STANDARD_ERROR.nativeStream.println();
              Stella.STANDARD_ERROR.nativeStream.println(" Illegal class definition: `" + Stella_Object.deUglifyParseTree(parsetree) + "'.");
            }
;
          }

        } finally {
          Stella.$PRINTREADABLYp$.set(old$PrintreadablyP$000);
        }
      }
      return (null);
    }
    { Symbol classname = ((Symbol)(parsetree.rest.value));
      String stringifiedsource = Native.stringify(parsetree);
      Stella_Class oldclass = Stella.getIdenticalClass(classname.symbolName, stringifiedsource);

      if ((oldclass != null) &&
          (!Stella.$REDEFINE_IDENTICAL_CLASSESp$)) {
        return (oldclass);
      }
      return (Cons.helpDefineClassFromParseTree(parsetree, stringifiedsource));
    }
  }