private void getMembersToWaitForRemovesAllMembers(DiskStoreID diskStoreID,
      Set<PersistentMemberID> previouslyOnlineMembers) {
    InternalDistributedMember member = mock(InternalDistributedMember.class);

    when(cacheDistributionAdvisor.adviseGeneric())
        .thenReturn(createMemberSet(member));
    when(persistentMemberView.getMyPersistentID())
        .thenReturn(createPersistentMemberID(getNewDiskStoreID(), TIME_STAMP_4));
    when(persistentStateQueryResults.getDiskStoreIds())
        .thenReturn(singletonMap(member, diskStoreID));
    when(persistentStateQueryResults.getInitializingIds())
        .thenReturn(singletonMap(member, createPersistentMemberID(diskStoreID, TIME_STAMP_3)));
    when(persistentStateQueryResults.getPersistentIds())
        .thenReturn(singletonMap(member, createPersistentMemberID(diskStoreID, TIME_STAMP_2)));
    when(persistentStateQueryResults.getStateOnPeers())
        .thenReturn(singletonMap(member, PersistentMemberState.ONLINE));

    Set<PersistentMemberID> membersToWaitFor =
        persistenceAdvisorImpl.getMembersToWaitFor(previouslyOnlineMembers, new HashSet<>());

    assertThat(membersToWaitFor).isEmpty();
  }
GEODE-5402: This test creates a scenario where a member has two versions (based on timeStamp)
of another member. The call to getMembersToWaitFor should return that we wait for neither of
them.
geode-core/src/test/java/org/apache/geode/internal/cache/persistence/PersistenceAdvisorImplTest.java