private static Configuration maskedConfiguration(final Configuration configuration) {
        final Configuration maskedConfiguration = new BaseConfiguration();
        final Iterator keys = configuration.getKeys();
        while(keys.hasNext()) {
            final String key = (String)keys.next();
            if (key.matches(maskedProperties))
                maskedConfiguration.setProperty(key, "******");
            else
                maskedConfiguration.setProperty(key, configuration.getProperty(key));
        }
        return maskedConfiguration;
    }
Return a reference to the shim service.  This method may return a cached shim service
unless {@code forceReload} is true.  Calls to this method need not be externally
synchonized.

@param forceReload if false, this method may use its internal service cache; if true,
                   this method must ignore cache, and it must invoke {@link ServiceLoader#reload()}
                   before selecting a new service to return
@return the shim service
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/kryoshim/KryoShimServiceLoader.java