protected void memberRemoved(List<Address> departAddresses) {
    List<ClusterNode> departClusterNodes = new ArrayList<>();

    for (Address departAddress : departAddresses) {
      ClusterNode departClusterNode = _liveInstances.remove(departAddress);

      if (departClusterNode == null) {
        continue;
      }

      departClusterNodes.add(departClusterNode);

      _clusterNodeAddresses.remove(departClusterNode.getClusterNodeId());
    }

    if (departClusterNodes.isEmpty()) {
      return;
    }

    ClusterEvent clusterEvent = ClusterEvent.depart(departClusterNodes);

    fireClusterEvent(clusterEvent);
  }