docs: public ReturnCode doPackage() {
          boolean isClient = bootProps.getProcessType() == BootstrapConstants.LOC_PROCESS_TYPE_CLIENT;
          if (isClient) {
              System.out.println(MessageFormat.format(BootstrapConstants.messages.getString("info.clientPackaging"), serverName));
          } else {
              System.out.println(MessageFormat.format(BootstrapConstants.messages.getString("info.serverPackaging"), serverName));
          }
  
          // Use initialized bootstrap configuration to find the server lock file.
          ServerLock serverLock = ServerLock.createServerLock(bootProps);
  
          ReturnCode packageRc = ReturnCode.PACKAGE_ACTION;
  
          // create timestamp
          SimpleDateFormat sdf = new SimpleDateFormat("yy.MM.dd_HH.mm.ss");
          Date date = new Date();
          String packageTimestamp = sdf.format(date);
  
          File archive = null;
          if (serverLock.testServerRunning()) {
              packageRc = ReturnCode.SERVER_ACTIVE_STATUS;
          } else {
              archive = getArchive(serverName, new File(serverOutputDir));
  
              if (archive == null) {
                  System.out.println(MessageFormat.format(BootstrapConstants.messages.getString("error.package.extension"), serverName));
                  return ReturnCode.ERROR_SERVER_PACKAGE;
              }
  
              //generate package txt
              File packageInfoFile = new File(serverOutputDir, BootstrapConstants.SERVER_PACKAGE_INFO_FILE_PREFIX + packageTimestamp + ".txt");
              generatePackageInfo(packageInfoFile, serverName, date);
  
              packageRc = packageServerRuntime(archive, false);
  
              //clean up package txt
              FileUtils.recursiveClean(packageInfoFile);
          }
  
          if (isClient) {
              if (packageRc == ReturnCode.OK) {
                  System.out.println(MessageFormat.format(BootstrapConstants.messages.getString("info.clientPackageComplete"), serverName, archive.getAbsolutePath()));
              } else if (packageRc == ReturnCode.SERVER_ACTIVE_STATUS) {
                  System.out.println(MessageFormat.format(BootstrapConstants.messages.getString("info.clientIsRunning"), serverName));
                  System.out.println(MessageFormat.format(BootstrapConstants.messages.getString("info.clientPackageUnreachable"), serverName));
              } else {
                  System.out.println(MessageFormat.format(BootstrapConstants.messages.getString("info.clientPackageException"), serverName));
              }
          } else {
              if (packageRc == ReturnCode.OK) {
                  System.out.println(MessageFormat.format(BootstrapConstants.messages.getString("info.serverPackageComplete"), serverName, archive.getAbsolutePath()));
              } else if (packageRc == ReturnCode.SERVER_ACTIVE_STATUS) {
                  System.out.println(MessageFormat.format(BootstrapConstants.messages.getString("info.serverIsRunning"), serverName));
                  System.out.println(MessageFormat.format(BootstrapConstants.messages.getString("info.serverPackageUnreachable"), serverName));
              } else {
                  System.out.println(MessageFormat.format(BootstrapConstants.messages.getString("info.serverPackageException"), serverName));
              }
          }
  
          return packageRc;
      }