common/src/main/java/com/streamsets/pipeline/lib/queue/XEvictingQueue.java
@Override public boolean add(E e) {
    checkNotNull(e);  // check before removing
    if (maxSize == 0) {
      return true;
    }
    if (size() == maxSize) {
      delegate.remove();
    }
    delegate.add(e);
    return true;
  }
@Override public boolean add(E e) {
    checkNotNull(e);  // check before removing
    if (maxSize == 0) {
      return true;
    }
    if (size() == maxSize) {
      delegate.remove();
    }
    delegate.add(e);
    return true;
  }
Adds the given element to this queue. If the queue is currently full, the element at the head
of the queue is evicted to make room.

@return {@code true} always