docs: public CommandLine makeCopy() {
          CommandLine cl = new CommandLine(m_startAction);
          // first copy the base class fields
          cl.m_ipcPort = m_ipcPort;
          cl.m_backend = m_backend;
          cl.m_leader = m_leader;
          cl.m_pathToCatalog = m_pathToCatalog;
          cl.m_pathToDeployment = m_pathToDeployment;
          cl.m_pathToLicense = m_pathToLicense;
          cl.m_noLoadLibVOLTDB = m_noLoadLibVOLTDB;
          cl.m_zkInterface = m_zkInterface;
          cl.m_port = m_port;
          cl.m_adminPort = m_adminPort;
          cl.m_internalPort = m_internalPort;
          cl.m_externalInterface = m_externalInterface;
          cl.m_internalInterface = m_internalInterface;
          cl.m_drAgentPortStart = m_drAgentPortStart;
          cl.m_httpPort = m_httpPort;
          cl.m_drPublicHost = m_drPublicHost;
          cl.m_drPublicPort = m_drPublicPort;
          // final in baseclass: cl.m_isEnterprise = m_isEnterprise;
          cl.m_deadHostTimeoutMS = m_deadHostTimeoutMS;
          cl.m_startMode = m_startMode;
          cl.m_selectedRejoinInterface = m_selectedRejoinInterface;
          cl.m_quietAdhoc = m_quietAdhoc;
          // final in baseclass: cl.m_commitLogDir = new File("/tmp");
          cl.m_timestampTestingSalt = m_timestampTestingSalt;
          cl.m_isRejoinTest = m_isRejoinTest;
          cl.m_tag = m_tag;
          cl.m_vemTag = m_vemTag;
          cl.m_versionStringOverrideForTest = m_versionStringOverrideForTest;
          cl.m_versionCompatibilityRegexOverrideForTest = m_versionCompatibilityRegexOverrideForTest;
          cl.m_buildStringOverrideForTest = m_buildStringOverrideForTest;
          cl.m_forceVoltdbCreate = m_forceVoltdbCreate;
          cl.m_userSchemas = m_userSchemas;
          cl.m_stagedClassesPaths = m_stagedClassesPaths;
  
          // second, copy the derived class fields
          cl.includeTestOpts = includeTestOpts;
          cl.debugPort = debugPort;
          cl.zkport = zkport;
          cl.buildDir = buildDir;
          cl.volt_root = volt_root;
          cl.java_library_path = java_library_path;
          cl.rmi_host_name = rmi_host_name;
          cl.log4j = log4j;
          cl.gcRollover = gcRollover;
          cl.voltFilePrefix = voltFilePrefix;
          cl.initialHeap = initialHeap;
          cl.maxHeap = maxHeap;
          cl.classPath = classPath;
          cl.javaExecutable = javaExecutable;
          cl.jmxPort = jmxPort;
          cl.jmxHost = jmxHost;
          cl.customCmdLn = customCmdLn;
          cl.m_isPaused = m_isPaused;
          cl.m_meshBrokers = m_meshBrokers;
          cl.m_coordinators = ImmutableSortedSet.copyOf(m_coordinators);
          cl.m_hostCount = m_hostCount;
          cl.m_enableAdd = m_enableAdd;
          cl.m_voltdbRoot = m_voltdbRoot;
          cl.m_newCli = m_newCli;
          cl.m_sslEnable = m_sslEnable;
          cl.m_sslExternal = m_sslExternal;
          cl.m_sslInternal = m_sslInternal;
          cl.m_placementGroup = m_placementGroup;
          // deep copy the property map if it exists
          if (javaProperties != null) {
              cl.javaProperties = new TreeMap<>();
              for (Entry<String, String> e : javaProperties.entrySet()) {
                  cl.javaProperties.put(e.getKey(), e.getValue());
              }
          }
          cl.m_missingHostCount = m_missingHostCount;
  
          return cl;
      }