### Question:
BaseConfiguration { protected IOReactorConfig buildIOReactorConfig() { IOReactorConfig config = new IOReactorConfig(); config.setIoThreadCount(conf.getIOThreadsPerReactor()); config.setSoTimeout(getSocketTimeout()); config.setConnectTimeout(getConnectionTimeout()); config.setTcpNoDelay(conf.getBooleanProperty(HttpConnectionParams.TCP_NODELAY, true)); config.setSoLinger(conf.getIntProperty(HttpConnectionParams.SO_LINGER, -1)); config.setSoReuseAddress(conf.getBooleanProperty(HttpConnectionParams.SO_REUSEADDR, false)); config.setInterestOpQueued(conf.getBooleanProperty("http.nio.interest-ops-queueing", false)); config.setSelectInterval(conf.getIntProperty("http.nio.select-interval", 1000)); return config; } BaseConfiguration(ConfigurationContext configurationContext,
                             ParameterInclude parameters,
                             WorkerPool workerPool,
                             PassThroughTransportMetricsCollector metrics); void build(); WorkerPool getWorkerPool(int workerPoolCoreSize, int workerPoolMaxSize,
                                    int workerThreadKeepaliveSec, int workerPoolQueuLen,
                                    String threadGroupName, String threadgroupID); int getIOBufferSize(); WorkerPool getWorkerPool(); ConfigurationContext getConfigurationContext(); BufferFactory getBufferFactory(); PassThroughTransportMetricsCollector getMetrics(); Boolean isCorrelationLoggingEnabled(); boolean isPreserveHttpHeader(String headerName); List<String> getPreserveHttpHeaders();  }### Answer:
@Test public void testBuildIOReactorConfig() throws Exception { IOReactorConfig config = baseConfiguration.buildIOReactorConfig(); int expectedIOThreadCount = Runtime.getRuntime().availableProcessors(); Assert.assertNotNull("I/O Reactor hasn't been initialized.", config); Assert.assertEquals("I/O reactor thread count isn't correct.", expectedIOThreadCount, config.getIoThreadCount()); }