protected boolean needToStop() {
    synchronized (stateChange) {
      if (state == STOPPED || state == STOPPING) {
        return false;

      } else {
        setState(STOPPING);
        return true;
      }
    }
  }
Returns whether or not this managed system member needs to be stopped. If this member is
stopped or is stopping, then it does not need to be stopped. Otherwise, it will atomically
place this member in the {@link #STOPPING} state. See bug 32455.
geode-core/src/main/java/org/apache/geode/admin/internal/ManagedSystemMemberImpl.java