private void invalidateUnderLock() {
      List<T> toInvalidate = Collections.emptyList();
      Lock l = getTree().l.writeLock();
      l.lock();
      try {
        invalidate();
      }
      finally {
        l.unlock();
        getTree().fireAfterRemoved(toInvalidate);
      }
    }
private void invalidateUnderLock()