private void doRemoveAllTest(RegionShortcut serverShortcut, ClientRegionShortcut clientShortcut,
      boolean serverConcChecks, boolean clientConcChecks) {
    setupGemFireCacheServer(serverShortcut, serverConcChecks);
    setupGemFireClientCache(clientShortcut, clientConcChecks);
    clientVM.invoke(() -> {
      Region<String, String> aRegion = ClientCacheFactory.getAnyInstance().getRegion(REGION_NAME);
      aRegion.put("key1", "value1");
      aRegion.put("key2", "value2");
      aRegion.put("key3", "value3");

      Set<String> removeAllSet = new HashSet<>();
      removeAllSet.add("key1");
      removeAllSet.add("key2");
      removeAllSet.add(NON_EXISTENT_KEY);
      aRegion.removeAll(removeAllSet);
      Object error = getBlackboard().getMailbox(BB_MAILBOX_KEY);
      assertNotNull(error);
      assertEquals("", error);
    });
  }
Add values to a region, then do a removeAll using both existent and non-existent keys. If a
listener event is invoked on a non-existent key, the listener writes it to the blackboard. Read
from the blackboard and fail the test if a listener event was invoked for a non-existent key.
geode-core/src/distributedTest/java/org/apache/geode/cache/client/RemoveAllCacheListenerClientServerRegressionTest.java