public static void createClientCache(String host, Integer port, String conflation)
      throws Exception {
    ClientConflationDistributedTest test = new ClientConflationDistributedTest();
    cacheClient = test.createCache(createProperties1(conflation));
    AttributesFactory factory = new AttributesFactory();
    factory.setScope(Scope.LOCAL);
    createPool2(host, factory, port);
    factory.setCacheListener(new CacheListenerAdapter() {
      @Override
      public void afterCreate(EntryEvent event) {
        synchronized (ClientConflationDistributedTest.class) {
          counterCreate1++;
        }
      }

      @Override
      public void afterUpdate(EntryEvent event) {
        // getLogWriter().info("afterUpdate event = " + event, new Exception());
        synchronized (this) {
          counterUpdate1++;
        }
      }
    });
    RegionAttributes attrs = factory.create();
    cacheClient.createRegion(REGION_NAME1, attrs);
    createPool2(host, factory, port);
    factory.setCacheListener(new CacheListenerAdapter() {
      @Override
      public void afterCreate(EntryEvent event) {
        synchronized (ClientConflationDistributedTest.class) {
          counterCreate2++;
        }
      }

      @Override
      public void afterUpdate(EntryEvent event) {
        synchronized (this) {
          counterUpdate2++;
        }
      }
    });
    attrs = factory.create();
    cacheClient.createRegion(REGION_NAME2, attrs);
  }
create client 2 with 2 regions each with a unique writer and unique listeners
geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/ClientConflationDistributedTest.java