public static List helpAllRequiredSystems(String systemName, List found) {
    { SystemDefinition system = Stella.getSystemDefinition(systemName);

      if (system == null) {
        { OutputStringStream stream000 = OutputStringStream.newOutputStringStream();

          stream000.nativeStream.print("Couldn't find system `" + systemName + "'");
          throw ((StellaException)(StellaException.newStellaException(stream000.theStringReader()).fillInStackTrace()));
        }
      }
      { Cons requiredSystemNames = system.requiredSystems;

        if (requiredSystemNames != null) {
          { StringWrapper sys = null;
            Cons iter000 = requiredSystemNames;

            for (;!(iter000 == Stella.NIL); iter000 = iter000.rest) {
              sys = ((StringWrapper)(iter000.value));
              if (!found.memberP(sys)) {
                Stella.helpAllRequiredSystems(sys.wrapperValue, found);
                found.push(sys);
              }
            }
          }
        }
        return (found);
      }
    }
  }