code: @Override
      public void close() throws IOException {
          final List<IOException> exceptionList = new ArrayList<>();
          for (final Node node : nodeList) {
              try {
                  node.close();
              } catch (final IOException e) {
                  exceptionList.add(e);
              }
          }
          if (exceptionList.isEmpty()) {
              print("Closed all nodes.");
          } else {
              if (useLogger && logger.isDebugEnabled()) {
                  for (final Exception e : exceptionList) {
                      logger.debug("Failed to close a node.", e);
                  }
              }
              throw new IOException(exceptionList.toString());
          }
      }
docs: Close a cluster runner.
  @throws IOException i/o exception