Cache createCache(Properties gemfireProperties) {
    Iterable<ServerLauncherCacheProvider> loader = getServerLauncherCacheProviders();
    for (ServerLauncherCacheProvider provider : loader) {
      Cache cache = provider.createCache(gemfireProperties, this);
      if (cache != null) {
        return cache;
      }
    }

    return DEFAULT_CACHE_PROVIDER.createCache(gemfireProperties, this);
  }
Invokes the 'start' command and operation to startup a Geode server (a cache server). Note,
this method will cause the JVM to block upon server start, providing the calling Thread is a
non-daemon Thread.

@return a {@link ServerState} representing the state of the server following the attempt to
        start
@see #run()
geode-core/src/main/java/org/apache/geode/distributed/ServerLauncher.java