private void create() {
      assertThat(serverPorts).isNotEmpty();
      if (subscriptionAckInterval != DEFAULT_SUBSCRIPTION_ACK_INTERVAL ||
          subscriptionRedundancy != DEFAULT_SUBSCRIPTION_REDUNDANCY) {
        assertThat(subscriptionEnabled).isTrue();
      }

      Properties config = getDistributedSystemProperties();
      config.setProperty(LOCATORS, "");

      createClientCache(new ClientCacheFactory(config));

      PoolFactory poolFactory = PoolManager.createFactory();
      for (int serverPort : serverPorts) {
        poolFactory.addServer(hostName, serverPort);
      }
      poolFactory
          .setPRSingleHopEnabled(prSingleHopEnabled)
          .setReadTimeout(readTimeoutMillis)
          .setSubscriptionAckInterval(subscriptionAckInterval)
          .setSubscriptionEnabled(subscriptionEnabled)
          .setSubscriptionRedundancy(subscriptionRedundancy)
          .create(poolName);

      ClientRegionFactory<String, TickerData> clientRegionFactory =
          getClientCache().createClientRegionFactory(ClientRegionShortcut.LOCAL);

      clientRegionFactory
          .setConcurrencyChecksEnabled(true);

      clientRegionFactory
          .setPoolName(poolName);

      Region<String, TickerData> region = clientRegionFactory
          .create(regionName);

      if (registerInterest) {
        region.registerInterestRegex(".*", false, false);
      }
    }
Stops the cache server specified by port
geode-cq/src/distributedTest/java/org/apache/geode/internal/cache/PutAllClientServerDistributedTest.java