docs: @Override
      public List<Message> peekMessages(int itemsToPeek) throws MessageQueueException {
          List<Message> messages = Lists.newArrayList();
  
          for (MessageQueueShard shard : shardReaderPolicy.listShards()) {
              messages.addAll(peekMessages(shard.getName(), itemsToPeek - messages.size()));
  
              if (messages.size() == itemsToPeek)
                  return messages;
              }
  
          return messages;
      }