docs: private void checkFailures() {
      for (SwimMember member : members.values()) {
        if (member.getState() == State.SUSPECT && System.currentTimeMillis() - member.getUpdated() > config.getFailureTimeout().toMillis()) {
          member.setState(State.DEAD);
          members.remove(member.id());
          randomMembers.remove(member);
          Collections.shuffle(randomMembers);
          LOGGER.debug("{} - Member removed {}", this.localMember.id(), member);
          post(new GroupMembershipEvent(GroupMembershipEvent.Type.MEMBER_REMOVED, member.copy()));
          recordUpdate(member.copy());
        }
      }
    }