code: protected final void removeEndpoint(Endpoint e) {
          final List<Endpoint> newEndpoints;
          endpointsLock.lock();
          try {
              endpoints = newEndpoints = endpoints.stream()
                                                  .filter(endpoint -> !endpoint.equals(e))
                                                  .collect(toImmutableList());
          } finally {
              endpointsLock.unlock();
          }
          notifyListeners(newEndpoints);
      }
docs: Removes the specified {@link Endpoint} from current {@link Endpoint} list.