@Override
public ShardStrategy newShardStrategy(List<ShardId> shardIds) {
ShardSelectionStrategy pss = this.getShardSelectionStrategy(shardIds);
ShardResolutionStrategy prs = this.getShardResolutionStrategy(shardIds);
ShardAccessStrategy pas = this.getShardAccessStrategy();
ShardReduceStrategy srs = this.getShardReduceStrategy();
return new ShardStrategyImpl(pss, prs, pas, srs);
}