/**
   * Add topology event listeners to the topology event receiver.
   *
   * @param topologyEventReceiver topology event receiver instance
   */
  private void addTopologyEventListeners(
      final LoadBalancerCommonTopologyEventReceiver topologyEventReceiver) {
    topologyEventReceiver.addEventListener(
        new CompleteTopologyEventListener() {

          @Override
          protected void onEvent(Event event) {
            try {
              if (!loadBalancerStarted) {
                configureAndStart();
              }
            } catch (Exception e) {
              if (log.isErrorEnabled()) {
                log.error("Could not start load balancer", e);
              }
              stop();
            }
          }
        });
    topologyEventReceiver.addEventListener(
        new MemberActivatedEventListener() {
          @Override
          protected void onEvent(Event event) {
            reloadConfiguration();
          }
        });
    topologyEventReceiver.addEventListener(
        new MemberSuspendedEventListener() {
          @Override
          protected void onEvent(Event event) {
            reloadConfiguration();
          }
        });
    topologyEventReceiver.addEventListener(
        new MemberTerminatedEventListener() {
          @Override
          protected void onEvent(Event event) {
            reloadConfiguration();
          }
        });
    topologyEventReceiver.addEventListener(
        new ClusterRemovedEventListener() {
          @Override
          protected void onEvent(Event event) {
            reloadConfiguration();
          }
        });
    topologyEventReceiver.addEventListener(
        new ServiceRemovedEventListener() {
          @Override
          protected void onEvent(Event event) {
            reloadConfiguration();
          }
        });
    topologyEventReceiver.addEventListener(
        new MemberMaintenanceListener() {
          @Override
          protected void onEvent(Event event) {
            reloadConfiguration();
          }
        });
  }