docs: public T getAndSetReference(final T newValue) {
          _lock.writeLock().lock();
          final T oldReference = _reference.getAndSet(newValue);
          _lock.writeLock().unlock();
          return oldReference;
      }