@Override
    public void afterMessageCreation(Message msg) {
      try {
        logger.info("waiting in DelaySendingEvent...");
        latch.await();
        logger.info("finished waiting in DelaySendingEvent");
      } catch (InterruptedException e) {
        e.printStackTrace();
      }
    }
1. create an entry 2. Install a observer to pause sending subscription events to the client 3.
invalidate the entry from the server (it will be done on server but pause prevents it from
being sent to the client). 4. verify that afterInvalidate was invoked on the server. 5. change
the same entry (do a put). Both the client and server now have the latest version which is this
update. 6. unpause the observer so that it now sends invalidate event to client. It will arrive
late and not be done because of concurrency checks. 7. verify that afterInvalidate was invoked
on the client.
geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/ClientServerForceInvalidateDUnitTest.java