void close() {

    // closing watch dog
    if (conCheckWatchDogTask != null) {
      conCheckWatchDogTask.cancel();
      conCheckWatchDogTask = null;
    }

    // close open connections
    try {
      for (NonBlockingConnection connection : getConnections()) {
        try {
          connection.close();
        } catch (IOException ioe) {
          if (LOG.isLoggable(Level.FINE)) {
            LOG.fine(
                "error occured by closing connection "
                    + connection.getId()
                    + " "
                    + DataConverter.toString(ioe));
          }
        }
      }
    } catch (Throwable e) {
      if (LOG.isLoggable(Level.FINE)) {
        LOG.fine("error occured by closing open connections " + DataConverter.toString(e));
      }
    }

    // clear handle list
    handles.clear();
  }