public static void createClientCache(String host, Integer port1, Integer port2) throws Exception {
    int PORT1 = port1;
    int PORT2 = port2;
    Properties props = new Properties();
    props.setProperty(MCAST_PORT, "0");
    props.setProperty(LOCATORS, "");
    new HAGIIDistributedTest().createCache(props);
    AttributesFactory factory = new AttributesFactory();
    ClientServerTestCase.configureConnectionPool(factory, host, new int[] {PORT1, PORT2}, true, -1,
        2, null, 1000, -1, -1);
    factory.setScope(Scope.DISTRIBUTED_ACK);
    factory.addCacheListener(HAGIIDistributedTest.checker);
    RegionAttributes attrs = factory.create();
    cache.createRegion(REGION_NAME, attrs);
  }
Client is connected to S1 which has a slow dispatcher. Puts are made on S1. Then S2 is started
and made available for the client. After that , S1 's server is stopped. The client fails over to
S2. The client should receive all the puts . These puts have arrived on S2 via GII of HARegion.
geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ha/HAGIIDistributedTest.java