code: public SimpleOrderedMap<Object> createListOutput(boolean shardRequests, int maxNumber) {
      garbageCollect();
      SimpleOrderedMap<Object> output = new SimpleOrderedMap<>();
      output.add(NAME_ENABLED, enabled());
      output.add(NAME_ENABLED, true);
      int numberTotal = data.size();
      ListData listData = new ListData();
  
      synchronized (data) {
        ListIterator<MtasSolrStatus> iter = data.listIterator(data.size());
        MtasSolrStatus item;
        int number = 0;
        while (iter.hasPrevious() && number < maxNumber) {
          item = iter.previous();
          if (item.shardRequest()) {
            listData.addShardRequest();
            if (shardRequests) {
              listData.outputList.add(item.createItemOutput());
              number++;
            }
          } else {
            listData.addNormal();
            listData.outputList.add(item.createItemOutput());
            number++;
          }
        }
      }
      output.add(NAME_SIZE_TOTAL, numberTotal);
      output.add(NAME_SIZE_NORMAL, listData.numberNormal);
      output.add(NAME_SIZE_SHARDREQUESTS, listData.numberShardRequests);
      output.add(NAME_LIST, listData.outputList);
      return output;
    }
docs: Creates the list output.
  
  @param shardRequests          the shard requests
  @param maxNumber the max number
  @return the simple ordered map