@Override
      public synchronized @NotNull T getValue() {
        final long curExternalChangesCount = getCurrentExternalChangesCount();
        if (curExternalChangesCount != myExternalChangesCount) {
          myExternalChangesCount = curExternalChangesCount;
          drop(); // drop cache
        }
        return super.getValue();
      }
@Override
      public synchronized @NotNull T getValue()