@Override public int hashCode() { synchronized (lock) { return decorated().hashCode(); } }
@Override public E peek() { synchronized (lock) { return decorated().peek(); } }
@Override public E poll() { synchronized (lock) { return decorated().poll(); } }
@Override public boolean equals(final Object object) { if (object == this) { return true; } synchronized (lock) { return decorated().equals(object); } }
@Override public boolean offer(final E e) { synchronized (lock) { return decorated().offer(e); } }
@Override public E remove() { synchronized (lock) { return decorated().remove(); } }
@Override public E element() { synchronized (lock) { return decorated().element(); } }