@Override
  public @NotNull ASTNode getNode() {
    if (mySubstrateRef instanceof SubstrateRef.StubRef) {
      ApplicationManager.getApplication().assertReadAccessAllowed();
      PsiFileImpl file = (PsiFileImpl)getContainingFile();
      if (!file.isValid()) throw new PsiInvalidElementAccessException(file);

      FileElement treeElement = file.getTreeElement();
      if (treeElement != null && mySubstrateRef instanceof SubstrateRef.StubRef) {
        return notBoundInExistingAst(file, treeElement);
      }

      treeElement = file.calcTreeElement();
      if (mySubstrateRef instanceof SubstrateRef.StubRef) {
        return failedToBindStubToAst(file, treeElement);
      }
    }

    return mySubstrateRef.getNode();
  }
@Override
  public @NotNull ASTNode getNode()