public ElderState getElderState(boolean waitToBecomeElder) throws InterruptedException {
    if (waitToBecomeElder) {
      waitForElder(clusterDistributionManager.getId());
    }

    if (!isElder() && !waitToBecomeElder) {
      return null; // early return if this clusterDistributionManager is not the elder
    }

    if (elderStateInitialized) {
      return elderState;
    } else {
      return initializeElderState();
    }
  }
Based on a recent JGroups view, return a member that might be the next elder.

@return the elder candidate, possibly this VM.
geode-core/src/main/java/org/apache/geode/distributed/internal/ClusterElderManager.java