code: public void garbageCollect() {
      if (softLimit == 0) {
        reset();
      } else if (data.size() > hardLimit) {
        long boundaryTime = data.get(softLimit).getStartTime();
        data.removeIf((MtasSolrStatus status) -> status.getStartTime() < boundaryTime);
        index.clear();
        data.forEach((MtasSolrStatus status) -> index.put(status.key(), status));
      }
    }
docs: /* (non-Javadoc)
  @see mtas.solr.handler.util.MtasSolrBaseList#garbageCollect()