docs: private synchronized void connect() throws IOReactorException
      {
          if (m_connManager == null) {
              ConnectingIOReactor ioReactor = new DefaultConnectingIOReactor();
              m_connManager = new PoolingNHttpClientConnectionManager(ioReactor);
              m_connManager.setMaxTotal(HTTP_EXPORT_MAX_CONNS);
              m_connManager.setDefaultMaxPerRoute(HTTP_EXPORT_MAX_CONNS);
          }
  
          if (m_client == null || !m_client.isRunning()) {
              HttpAsyncClientBuilder client = HttpAsyncClients.custom().setConnectionManager(m_connManager).
                      setRedirectStrategy(new HDFSUtils.HadoopRedirectStrategy());
              if (m_isKrb) {
                  m_client = (CloseableHttpAsyncClient)Subject.doAs(m_context.getSubject(), new PrivilegedBuild(client));
              } else {
                  m_client = client.build();
              }
              m_client.start();
          }
      }