code: @Override
      public boolean addAll(@NonNull Collection<? extends E> collection) {
          final int size = collection.size();
          if (size > maxSize) {
              collection = new ArrayList<>(collection).subList(size - maxSize, size);
          }
          final int overhead = size() + collection.size() - maxSize;
          if (overhead > 0) {
              removeRange(0, overhead);
          }
          return super.addAll(collection);
      }
docs: /*
  (non-Javadoc)
  
  @see java.util.LinkedList#addAll(java.util.Collection)