private ConnectionSource getSourceImpl(LocatorDiscoveryCallback locatorDiscoveryCallback,
      SocketFactory socketFactory) {
    List<InetSocketAddress> locators = getLocators();
    if (locators.isEmpty()) {
      return new ExplicitConnectionSourceImpl(getServers());
    } else {
      AutoConnectionSourceImpl source = new AutoConnectionSourceImpl(locatorAddresses,
          getServerGroup(), socketConnectTimeout, socketFactory);
      if (locatorDiscoveryCallback != null) {
        source.setLocatorDiscoveryCallback(locatorDiscoveryCallback);
      }
      return source;
    }
  }
Destroys this pool but does not unregister it. This is used by the PoolManagerImpl when it
wants to close all its pools.
geode-core/src/main/java/org/apache/geode/cache/client/internal/PoolImpl.java