code: boolean setStart(ArgTokenizer at) {
          at.allowedOptions("-default", "-none", "-retain");
          List<String> fns = new ArrayList<>();
          while (at.next() != null) {
              fns.add(at.val());
          }
          if (!checkOptionsAndRemainingInput(at)) {
              return false;
          }
          boolean defaultOption = at.hasOption("-default");
          boolean noneOption = at.hasOption("-none");
          boolean retainOption = at.hasOption("-retain");
          boolean hasFile = !fns.isEmpty();
  
          int argCount = (defaultOption ? 1 : 0) + (noneOption ? 1 : 0) + (hasFile ? 1 : 0);
          if (argCount > 1) {
              errormsg("jshell.err.option.or.filename", at.whole());
              return false;
          }
          if (argCount == 0 && !retainOption) {
              // no options or filename, show current setting
              showSetStart();
              return true;
          }
          if (hasFile) {
              startup = Startup.fromFileList(fns, "/set start", this);
              if (startup == null) {
                  return false;
              }
          } else if (defaultOption) {
              startup = Startup.defaultStartup(this);
          } else if (noneOption) {
              startup = Startup.noStartup();
          }
          if (retainOption) {
              // retain startup setting
              prefs.put(STARTUP_KEY, startup.storedForm());
          }
          return true;
      }
docs: The sub-command:  /set start <start-file>