* @param languageAoptions
   * @return boolean
   */
  public static boolean loadSystem(String systemname, Cons languageAoptions) {
    { Cons options = languageAoptions;
      Keyword language = (Stella.getQuotedTree("((:COMMON-LISP :CPP :JAVA) \"/STELLA\")", "/STELLA").memberP(options.value) ? ((Keyword)(options.value)) : Stella.runningInLanguage());
      PropertyList plist = Stella_Object.vetOptions(((options.value == language) ? options.rest : options), Stella.getQuotedTree("((:FORCE-RECOMPILATION? :STARTUP? :LANGUAGE :ACTION) \"/STELLA\")", "/STELLA"));
      boolean forcerecompilationP = false;
      boolean startupsystemP = true;
      boolean translatedfileP = false;

      language = ((Keyword)(plist.lookupWithDefault(Stella.KWD_LANGUAGE, language)));
      plist.insertAt(Stella.KWD_LANGUAGE, language);
      plist.insertAt(Stella.KWD_ACTION, plist.lookupWithDefault(Stella.KWD_ACTION, Stella.KWD_LOAD_SYSTEM));
      { Stella_Object key = null;
        Stella_Object value = null;
        Cons iter000 = plist.thePlist;

        for (;!(iter000 == Stella.NIL); iter000 = iter000.rest.rest) {
          key = iter000.value;
          value = iter000.rest.value;
          { GeneralizedSymbol testValue000 = ((GeneralizedSymbol)(key));

            if (testValue000 == Stella.KWD_FORCE_RECOMPILATIONp) {
              forcerecompilationP = Stella_Object.eqlP(value, Stella.TRUE_WRAPPER);
            }
            else if (testValue000 == Stella.KWD_STARTUPp) {
              startupsystemP = Stella_Object.eqlP(value, Stella.TRUE_WRAPPER);
            }
            else {
            }
          }
        }
      }
      { Object old$CurrentSystemAction$000 = Stella.$CURRENT_SYSTEM_ACTION$.get();

        try {
          Native.setSpecial(Stella.$CURRENT_SYSTEM_ACTION$, plist.copy());
          { Object old$Currentsystemdefinition$000 = Stella.$CURRENTSYSTEMDEFINITION$.get();
            Object old$Currentsystemdefinitionsubdirectory$000 = Stella.$CURRENTSYSTEMDEFINITIONSUBDIRECTORY$.get();

            try {
              Native.setSpecial(Stella.$CURRENTSYSTEMDEFINITION$, Stella.getSystemDefinition(systemname));
              Native.setSpecial(Stella.$CURRENTSYSTEMDEFINITIONSUBDIRECTORY$, ((((SystemDefinition)(Stella.$CURRENTSYSTEMDEFINITION$.get())) != null) ? ((SystemDefinition)(Stella.$CURRENTSYSTEMDEFINITION$.get())).directory : null));
              if (((SystemDefinition)(Stella.$CURRENTSYSTEMDEFINITION$.get())) != null) {
                {
                  if (((SystemDefinition)(Stella.$CURRENTSYSTEMDEFINITION$.get())).loadedP) {
                    {
                      System.out.println("Loading system `" + systemname + "' over top of itself.");
                      System.out.println();
                    }
;
                  }
                  if (Stella.runningAsLispP()) {
                    translatedfileP = Cons.compileAndLoadFiles(Cons.filesPlusSystemStartup(SystemDefinition.systemDefinitionNativeFiles(((SystemDefinition)(Stella.$CURRENTSYSTEMDEFINITION$.get())))), language, forcerecompilationP);
                  }
                  ((SystemDefinition)(Stella.$CURRENTSYSTEMDEFINITION$.get())).loadedP = true;
                  if (startupsystemP) {
                    SystemDefinition.runSystemStartupFunction(((SystemDefinition)(Stella.$CURRENTSYSTEMDEFINITION$.get())));
                  }
                }
              }
              else {
                {
                  Stella.STANDARD_WARNING.nativeStream.println("Warning: Can't find a system named `" + systemname + "'");
                  Stella.STANDARD_WARNING.nativeStream.println();
                }
;
              }

            } finally {
              Stella.$CURRENTSYSTEMDEFINITIONSUBDIRECTORY$.set(old$Currentsystemdefinitionsubdirectory$000);
              Stella.$CURRENTSYSTEMDEFINITION$.set(old$Currentsystemdefinition$000);
            }
          }
          return (translatedfileP);

        } finally {
          Stella.$CURRENT_SYSTEM_ACTION$.set(old$CurrentSystemAction$000);
        }
      }
    }
  }