@Override
        public void beforeProcessMessage(ClusterDistributionManager dm,
            DistributionMessage message) {
          if (message instanceof DestroyRegionMessage) {
            vm2.invoke(() -> LATCH.get().countDown());
            try {
              SLEEP.get().await(TIMEOUT_MILLIS, MILLISECONDS);
            } catch (InterruptedException e) {
              errorCollector.addError(e);
            } finally {
              DistributionMessageObserver.setInstance(null);
            }
          }
        }
Test to make sure we don't leak any persistent ids if a member does GII while a distributed
destroy is in progress
geode-core/src/distributedTest/java/org/apache/geode/internal/cache/persistence/PersistentRecoveryOrderDUnitTest.java