Inserts the specified element at the tail of this queue if it is
possible to do so immediately without exceeding the queue's capacity,
returning {@code true} upon success and {@code false} if this queue
is full.
When using a capacity-restricted queue, this method is generally
preferable to method {@link BlockingQueue#add add}, which can fail to
insert an element only by throwing an exception.
@throws NullPointerException if the specified element is null
Inserts the specified element at the tail of this queue if it is possible to do so immediately without exceeding the queue's capacity, returning {@code true} upon success and {@code false} if this queue is full. When using a capacity-restricted queue, this method is generally preferable to method {@link BlockingQueue#add add}, which can fail to insert an element only by throwing an exception.
@throws NullPointerException if the specified element is null