class RedisPlayerRepository implements PlayerRepository {

    @Override
    public Map<String, String> getPlayersProxies(Collection<String> playerNames) {
        return redisTransactions.runTransaction(jedis -> {
            Map<String, Response<String>> pipelineResponses = new HashMap<>();
            Pipeline pipeline = jedis.pipelined();
            playerNames.forEach(

                    name -> pipelineResponses.put(name, pipeline.hget(playerHashTable(name), PROXY))
            );
            pipeline.sync();
            return pipelineResponses
                    .entrySet()
                    .stream()
                    .filter(e -> e.getValue().get() != null)
                    .collect(Collectors.toMap(
                            Map.Entry::getKey,
                            e -> e.getValue().get()
                    ));

        });
    }

}