@Override
    public @Nullable PsiElement getElementAt() {
      updateData();
      PsiElement element = SoftReference.dereference(myPsiElementRef);
      if (element == null) {
        element = ReadAction.compute(this::calcPsiElement);
        myPsiElementRef = new WeakReference<>(element);
        return element;
      }
      return element;
    }
@Override
    public @Nullable PsiElement getElementAt()