public static void setCreationTimeTidAndSeq() {
    final Map map = pool.getThreadIdToSequenceIdMap();
    WaitCriterion ev = new WaitCriterion() {
      @Override
      public boolean done() {
        synchronized (map) {
          return map.entrySet().size() > 0;
        }
      }

      @Override
      public String description() {
        return null;
      }
    };
    GeodeAwaitility.await().untilAsserted(ev);
    Entry entry;
    synchronized (map) {
      Iterator iter = map.entrySet().iterator();
      entry = (Entry) iter.next();
    }

    SequenceIdAndExpirationObject seo = (SequenceIdAndExpirationObject) entry.getValue();
    assertFalse(seo.getAckSend());
    creationTime = seo.getCreationTime();
    getLogWriter().info("seo is " + seo);
    assertTrue("Creation time not set", creationTime != 0);

    Object[] args = new Object[] {((ThreadIdentifier) entry.getKey()).getMembershipID(),
        ((ThreadIdentifier) entry.getKey()).getThreadID(), seo.getSequenceId()};
    server1.invoke(ReliableMessagingDUnitTest.class, "setTidAndSeq", args);
    server2.invoke(ReliableMessagingDUnitTest.class, "setTidAndSeq", args);
  }
Wait for acknowledgment from client, verify creation time is correct
geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/ReliableMessagingDUnitTest.java