docs: void connect() throws InterruptedException, RestartBlockException {
          m_logger.info("Connecting to Socket export endpoint...");
  
          // gather the result or retry
          List<Future<Pair<HostAndPort, OutputStream>>> futures = m_executorService.invokeAll(callables);
          try {
              for (Future<Pair<HostAndPort, OutputStream>> future : futures) {
                  Pair<HostAndPort, OutputStream> result = future.get();
                  HostAndPort hap = result.getFirst();
                  OutputStream writer = result.getSecond();
                  if (writer != null) {
                      haplist.put(hap, writer);
                  } else {
                      throw new RestartBlockException(true);
                  }
              }
          } catch (ExecutionException ex) {
              ex.getCause().printStackTrace();
              throw new RestartBlockException(true);
          }
      }