@Override
  public void invalidate() {
    isTrue("open", !isClosed());

    serverStateListener.stateChanged(
        new ChangeEvent<ServerDescription>(
            description,
            ServerDescription.builder().state(CONNECTING).address(serverAddress).build()));
    connectionPool.invalidate();
    serverMonitor.invalidate();
  }