@Override
      public @Nullable Result<T> compute() {
        CachedValueProvider.Result<T> result = provider.compute();
        if (result != null && !context.isPhysical()) {
          PsiFile file = context.getContainingFile();
          if (file != null) {
            Result<T> adjusted = Result.create(
              result.getValue(), ArrayUtil.append(result.getDependencyItems(), file, ArrayUtil.OBJECT_ARRAY_FACTORY));
            CachedValueProfiler.onResultCreated(adjusted, result);
            return adjusted;
          }
        }
        return result;
      }
@Override
      public @Nullable Result<T> compute()