code: Observable<LifecycleState> removeNode(final Node node) {
          LOGGER.debug("Got instructed to remove Node {}", node.hostname());
          nodes.remove(node);
          return node.disconnect();
      }
docs: Removes a {@link Node} from the cluster.
  
  The node first gets removed from the list and then is disconnected afterwards, so that outstanding
  operations can be handled gracefully.