protected @Nullable ASTNode findElementAt(final int offset) {
    PsiFile containingFile = myASTNode.getPsi().getContainingFile();
    Project project = containingFile.getProject();

    assert !PsiDocumentManager.getInstance(project).isUncommited(myDocumentModel.getDocument());
    // TODO:default project can not be used for injections, because latter might wants (unavailable) indices

    PsiElement psiElement = project.isDefault() ? null : InjectedLanguageManager.getInstance(containingFile.getProject())
      .findInjectedElementAt(containingFile, offset);
    if (psiElement != null) {
      return psiElement.getNode();
    }

    psiElement = containingFile.findElementAt(offset);
    return psiElement != null ? psiElement.getNode() : null;
  }
protected @Nullable ASTNode findElementAt(final int offset)