@Override public E pollLast() { synchronized (mutex) { return delegate().pollLast(); } }
@Override public NavigableSet<E> tailSet(E fromElement, boolean inclusive) { synchronized (mutex) { return Synchronized.navigableSet(delegate().tailSet(fromElement, inclusive), mutex); } }
@Override public E higher(E e) { synchronized (mutex) { return delegate().higher(e); } }
@Override public NavigableSet<E> headSet(E toElement, boolean inclusive) { synchronized (mutex) { return Synchronized.navigableSet(delegate().headSet(toElement, inclusive), mutex); } }
@Override public NavigableSet<E> subSet( E fromElement, boolean fromInclusive, E toElement, boolean toInclusive) { synchronized (mutex) { return Synchronized.navigableSet( delegate().subSet(fromElement, fromInclusive, toElement, toInclusive), mutex); } }
@Override public E pollFirst() { synchronized (mutex) { return delegate().pollFirst(); } }
@Override public E lower(E e) { synchronized (mutex) { return delegate().lower(e); } }
@Override public E floor(E e) { synchronized (mutex) { return delegate().floor(e); } }
@Override public NavigableSet<E> descendingSet() { synchronized (mutex) { if (descendingSet == null) { NavigableSet<E> dS = Synchronized.navigableSet(delegate().descendingSet(), mutex); descendingSet = dS; return dS; } return descendingSet; } }
@Override public Iterator<E> descendingIterator() { return delegate().descendingIterator(); // manually synchronized }
@Override public NavigableSet<E> tailSet(E fromElement, boolean inclusive) { synchronized (mutex) { return Synchronized.navigableSet(delegate().tailSet(fromElement, inclusive), mutex); } }
@Override public E floor(E e) { synchronized (mutex) { return delegate().floor(e); } }
@Override public E higher(E e) { synchronized (mutex) { return delegate().higher(e); } }
@Override public NavigableSet<E> subSet( E fromElement, boolean fromInclusive, E toElement, boolean toInclusive) { synchronized (mutex) { return Synchronized.navigableSet( delegate().subSet(fromElement, fromInclusive, toElement, toInclusive), mutex); } }
@Override public E pollLast() { synchronized (mutex) { return delegate().pollLast(); } }
@Override public E lower(E e) { synchronized (mutex) { return delegate().lower(e); } }
@Override public NavigableSet<E> headSet(E toElement, boolean inclusive) { synchronized (mutex) { return Synchronized.navigableSet(delegate().headSet(toElement, inclusive), mutex); } }
@Override public E pollFirst() { synchronized (mutex) { return delegate().pollFirst(); } }
@Override public NavigableSet<E> descendingSet() { synchronized (mutex) { if (descendingSet == null) { NavigableSet<E> dS = Synchronized.navigableSet(delegate().descendingSet(), mutex); descendingSet = dS; return dS; } return descendingSet; } }
@Override public E ceiling(E e) { synchronized (mutex) { return delegate().ceiling(e); } }