### Question:
ProcessLauncherConfiguration extends LauncherConfiguration implements ProcessLauncherOptions { public void merge(ProcessLauncherOptions other) { if (other == null) { return; } super.merge(other); includeWebDriverBinaryPaths = other.isIncludeWebDriverBinaryPaths(); includeJavaSystemProperties = other.isIncludeJavaSystemProperties(); includeJarsInSeLionHome = other.isIncludeJarsInSeLionHomeDir(); includeParentProcessClassPath = other.isIncludeParentProcessClassPath(); includeJarsInPWD = other.isIncludeJarsInPresentWorkingDir(); continuousRestart = other.isContinuouslyRestart(); setupLoggingForJavaSubProcess = other.isSetupLoggingForJavaSubProcess(); restartCycle = other.getRestartCycle(); }  boolean isIncludeWebDriverBinaryPaths(); T setIncludeWebDriverBinaryPaths(boolean val); boolean isIncludeJavaSystemProperties(); T setIncludeJavaSystemProperties(boolean val); boolean isIncludeJarsInSeLionHomeDir(); T setIncludeJarsInSeLionHomeDir(boolean val); boolean isIncludeParentProcessClassPath(); T setIncludeParentProcessClassPath(boolean val); boolean isIncludeJarsInPresentWorkingDir(); T setIncludeJarsInPresentWorkingDir(boolean val); boolean isContinuouslyRestart(); T setContinuouslyRestart(boolean val); boolean isSetupLoggingForJavaSubProcess(); T setSetupLoggingForJavaSubProcess(boolean val); long getRestartCycle(); T setRestartCycle(long val); void merge(ProcessLauncherOptions other); @Override String toString(); @Override ProcessLauncherConfiguration fromJson(JsonElement json); @Override ProcessLauncherConfiguration fromJson(String json); static ProcessLauncherConfiguration loadFromFile(String configFile); static final String RESTART_CYCLE; static final String RESTART_CYCLE_ARG; static final String CONTINUOUS_RESTART; static final String CONTINUOUS_RESTART_ARG; static final String INCLUDE_WEB_DRIVER_BINARY_PATHS; static final String INCLUDE_WEB_DRIVER_BINARY_PATHS_ARG; static final String INCLUDE_JAVA_SYSTEM_PROPERTIES; static final String INCLUDE_JAVA_SYSTEM_PROPERTIES_ARG; static final String INCLUDE_JARS_IN_SELION_HOME; static final String INCLUDE_JARS_IN_SELION_HOME_ARG; static final String INCLUDE_JARS_IN_PWD; static final String INCLUDE_JARS_IN_PWD_ARG; static final String INCLUDE_PARENT_PROCESS_CLASSPATH; static final String INCLUDE_PARENT_PROCESS_CLASSPATH_ARG; static final String SETUP_LOGGING_FOR_JAVA_SUB_PROCESS; static final String SETUP_LOGGING_FOR_JAVA_SUB_PROCESS_ARG; }### Answer:
@Test public void testMerge() { ProcessLauncherConfiguration plc = new ProcessLauncherConfiguration(); TestProcessLauncherOptions tplo = new TestProcessLauncherOptions(); plc.merge(tplo); assertTrue(plc.isFileDownloadCheckTimeStampOnInvocation()); assertTrue(plc.isFileDownloadCleanupOnInvocation()); assertEquals(plc.getSeLionConfig(), tplo.getSeLionConfig()); assertFalse(plc.isContinuouslyRestart()); assertTrue(plc.isIncludeJarsInPresentWorkingDir()); assertTrue(plc.isIncludeJarsInSeLionHomeDir()); assertTrue(plc.isIncludeJavaSystemProperties()); assertTrue(plc.isIncludeParentProcessClassPath()); assertTrue(plc.isIncludeWebDriverBinaryPaths()); assertTrue(plc.isSetupLoggingForJavaSubProcess()); assertEquals(plc.getRestartCycle(), 0L); plc.continuousRestart = null; ProcessLauncherConfiguration otherPlc = new ProcessLauncherConfiguration(); otherPlc.merge(plc); assertEquals(otherPlc.getSeLionConfig(), plc.getSeLionConfig()); assertTrue(otherPlc.isContinuouslyRestart()); assertEquals(otherPlc.getRestartCycle(), plc.getRestartCycle()); }