public static void startupPli() {
    { Object old$Module$000 = Stella.$MODULE$.get();
      Object old$Context$000 = Stella.$CONTEXT$.get();

      try {
        Native.setSpecial(Stella.$MODULE$, Stella.getStellaModule("/PLI", Stella.$STARTUP_TIME_PHASE$ > 1));
        Native.setSpecial(Stella.$CONTEXT$, ((Module)(Stella.$MODULE$.get())));
        if (Stella.currentStartupTimePhaseP(2)) {
          _StartupPli.helpStartupPli1();
        }
        if (Stella.currentStartupTimePhaseP(4)) {
          { Environment self061 = Environment.newEnvironment();

            self061.level = "ASSERTION";
            PLI.ASSERTION_ENV = self061;
          }
          { Environment self062 = Environment.newEnvironment();

            self062.level = "TAXONOMIC";
            PLI.TAXONOMIC_ENV = self062;
          }
          { Environment self063 = Environment.newEnvironment();

            self063.level = "INFERENCE";
            PLI.INFERENCE_ENV = self063;
          }
          { PlIterator self064 = PlIterator.newPlIterator();

            self064.cursor = Stella.NIL;
            PLI.EMPTY_PL_ITERATOR = self064;
          }
        }
        if (Stella.currentStartupTimePhaseP(5)) {
          { Stella_Class renamed_Class = Stella.defineClassFromStringifiedSource("ENVIRONMENT", "(DEFCLASS ENVIRONMENT (STANDARD-OBJECT) :PUBLIC? TRUE :SLOTS ((LEVEL :TYPE STRING)) :PRINT-FORM (PRINT-NATIVE-STREAM STREAM \"|ENV|\" (LEVEL SELF)))");

            renamed_Class.classConstructorCode = Native.find_java_method("edu.isi.powerloom.Environment", "newEnvironment", new java.lang.Class [] {});
            renamed_Class.classSlotAccessorCode = Native.find_java_method("edu.isi.powerloom.Environment", "accessEnvironmentSlotValue", new java.lang.Class [] {Native.find_java_class("edu.isi.powerloom.Environment"), Native.find_java_class("edu.isi.stella.Symbol"), Native.find_java_class("edu.isi.stella.Stella_Object"), java.lang.Boolean.TYPE});
          }
          { Stella_Class renamed_Class = Stella.defineClassFromStringifiedSource("PL-ITERATOR", "(DEFCLASS PL-ITERATOR (ITERATOR) :PUBLIC? TRUE :PARAMETERS ((ANY-VALUE :TYPE OBJECT)) :SLOTS ((CURSOR :TYPE CONS)))");

            renamed_Class.classConstructorCode = Native.find_java_method("edu.isi.powerloom.PlIterator", "newPlIterator", new java.lang.Class [] {});
            renamed_Class.classSlotAccessorCode = Native.find_java_method("edu.isi.powerloom.PlIterator", "accessPlIteratorSlotValue", new java.lang.Class [] {Native.find_java_class("edu.isi.powerloom.PlIterator"), Native.find_java_class("edu.isi.stella.Symbol"), Native.find_java_class("edu.isi.stella.Stella_Object"), java.lang.Boolean.TYPE});
          }
        }
        if (Stella.currentStartupTimePhaseP(6)) {
          Stella.finalizeClasses();
        }
        if (Stella.currentStartupTimePhaseP(7)) {
          _StartupPli.helpStartupPli2();
          _StartupPli.helpStartupPli3();
          _StartupPli.helpStartupPli4();
        }
        if (Stella.currentStartupTimePhaseP(8)) {
          Stella.finalizeSlots();
          Stella.cleanupUnfinalizedClasses();
        }
        if (Stella.currentStartupTimePhaseP(9)) {
          Stella_Object.inModule(((StringWrapper)(Stella_Object.copyConsTree(StringWrapper.wrapString("PLI")))));
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *POWERLOOM-INITIALIZED?* BOOLEAN FALSE)");
          PLI.$POWERLOOM_INITIALIZEDp$ = true;
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFCONSTANT ASSERTION-ENV ENVIRONMENT (NEW ENVIRONMENT :LEVEL \"ASSERTION\") :PUBLIC? TRUE)");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFCONSTANT TAXONOMIC-ENV ENVIRONMENT (NEW ENVIRONMENT :LEVEL \"TAXONOMIC\") :PUBLIC? TRUE)");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFCONSTANT INFERENCE-ENV ENVIRONMENT (NEW ENVIRONMENT :LEVEL \"INFERENCE\") :PUBLIC? TRUE)");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL EMPTY-PL-ITERATOR PL-ITERATOR (NEW PL-ITERATOR :CURSOR NIL) :PUBLIC? FALSE :DOCUMENTATION \"Iterator that generates no values.\")");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *LITERAL-CONCEPT* NAMED-DESCRIPTION NULL :PUBLIC? FALSE)");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *STRING-CONCEPT* NAMED-DESCRIPTION NULL :PUBLIC? FALSE)");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *INTEGER-CONCEPT* NAMED-DESCRIPTION NULL :PUBLIC? FALSE)");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *FLOAT-CONCEPT* NAMED-DESCRIPTION NULL :PUBLIC? FALSE)");
          PLI.$LITERAL_CONCEPT$ = ((NamedDescription)(PLI.sGetConcept("LITERAL", "PL-USER", null)));
          PLI.$STRING_CONCEPT$ = ((NamedDescription)(PLI.sGetConcept("STRING", "PL-USER", null)));
          PLI.$INTEGER_CONCEPT$ = ((NamedDescription)(PLI.sGetConcept("INTEGER", "PL-USER", null)));
          PLI.$FLOAT_CONCEPT$ = ((NamedDescription)(PLI.sGetConcept("FLOAT", "PL-USER", null)));
        }

      } finally {
        Stella.$CONTEXT$.set(old$Context$000);
        Stella.$MODULE$.set(old$Module$000);
      }
    }
  }