docs: private void checkForMembershipChanges() throws KeeperException, InterruptedException {
          Set<String> children = ImmutableSet.copyOf(m_zk.getChildren(m_stateMachineMemberPath, m_membershipWatcher));
  
          Set<String> removedMembers;
          Set<String> addedMembers;
          if (m_registeredStateMachineInstances == m_registeredStateMachines.length && !m_groupMembers.equals(children)) {
              removedMembers = Sets.difference(m_groupMembers, children);
              addedMembers = Sets.difference(children, m_groupMembers);
              m_groupMembers = children;
              for (StateMachineInstance stateMachine : m_registeredStateMachines) {
                  stateMachine.membershipChanged(m_groupMembers, addedMembers, removedMembers);
              }
          }
      }