@Test
  public void testVoidRemovalStats() throws Exception {
    HARegionQueue rq = createHARegionQueue("testVoidRemovalStats");
    Conflatable cf = null;

    int totalEvents = 100;
    for (int i = 0; i < totalEvents; i++) {
      cf = new ConflatableObject("key" + i, "value" + i, new EventID(new byte[] {1}, 1, i), false,
          "testing");
      rq.put(cf);
    }

    rq.peek(totalEvents);
    rq.take(totalEvents);
    rq.remove();

    HARegionQueueStats stats = rq.getStatistics();
    assertNotNull("stats for HARegionQueue found null", stats);

    assertEquals(
        "eventsEnqued by stats not equal to the actual number of events added to the queue",
        totalEvents, stats.getEventsEnqued());

    assertEquals(
        "Number of void removals shud be equal to total peeked since all the events were removed by take() before remove()",
        totalEvents, stats.getNumVoidRemovals());
  }
This test does the following:<br>
1)Create HARegionQueue.<br>
2)Add objects with unique eventids and conflation false<br>
3)peek a batch to peek all the events added and take() all the events<br>
4)Call remove()<br>
5)Verify that statistics object is not null<br>
6)Verify that total events added matches the eventsEnqued stats<br>
7)Verify that numVoidRemovals stats is same as the total events added since all the peeked
events were removed by take() call and remove() was a void operation.

@throws Exception - thrown if any problem occurs in test execution
geode-core/src/integrationTest/java/org/apache/geode/internal/cache/ha/HARegionQueueStatsJUnitTest.java