@Test
  public void testRefCountForNormalAndGIIPut() throws Exception {
    // slow start for dispatcher
    serverVM0.invoke(() -> ConflationDistributedTestHelper.setIsSlowStart("240000"));
    serverVM1.invoke(() -> ConflationDistributedTestHelper.setIsSlowStart("240000"));

    createClientCache(getServerHostName(), PORT1, PORT2,
        "1");
    final String client1Host = getServerHostName();
    clientVM1.invoke(() -> HARQueueNewImplDistributedTest.createClientCache(client1Host,
        PORT1, PORT2, "1"));
    final String client2Host = getServerHostName();
    clientVM2.invoke(() -> HARQueueNewImplDistributedTest.createClientCache(client2Host,
        PORT1, PORT2, "1"));

    registerInterestListAll();
    clientVM1.invoke(HARQueueNewImplDistributedTest::registerInterestList);
    clientVM2.invoke(HARQueueNewImplDistributedTest::registerInterestList);

    serverVM1.invoke(HARQueueNewImplDistributedTest::stopServer);

    serverVM0.invoke((SerializableRunnableIF) HARQueueNewImplDistributedTest::createEntries);

    serverVM1.invoke(HARQueueNewImplDistributedTest::startServer);

    serverVM1.invoke(() -> ValidateRegionSizes(PORT2));
    serverVM0.invoke(() -> ValidateRegionSizes(PORT1));


    serverVM0.invoke(HARQueueNewImplDistributedTest::updateMapForVM0);
    serverVM1.invoke(HARQueueNewImplDistributedTest::updateMapForVM1);

    serverVM0.invoke(() -> HARQueueNewImplDistributedTest.verifyQueueData(
        PORT1));
    serverVM1.invoke(() -> HARQueueNewImplDistributedTest.verifyQueueData(
        PORT2));
  }
This test verifies that the ha-region-queues increment the reference count of their respective
HAEventWrapper instances in the client-messages-region correctly, during put as well as GII
path.
geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ha/HARQueueNewImplDistributedTest.java