class ModuleShardBackendResolver extends AbstractShardBackendResolver {

    Long resolveShardForPath(final YangInstanceIdentifier path) {
        final String shardName = actorUtils().getShardStrategyFactory().getStrategy(path).findShard(path);
        Long cookie = shards.get(shardName);
        if (cookie == null) {
            synchronized (this) {
                cookie = shards.get(shardName);
                if (cookie == null) {
                    cookie = nextShard++;

                    Builder<String, Long> builder = ImmutableBiMap.builder();
                    builder.putAll(shards);
                    builder.put(shardName, cookie);
                    shards = builder.build();
                }
            }
        }

        return cookie;
    }

      ModuleShardBackendResolver(final ClientIdentifier clientId, final ActorUtils actorUtils);

}