@Override
  public boolean processDeclarations(@NotNull PsiScopeProcessor processor, @NotNull ResolveState substitutor, PsiElement lastParent, @NotNull PsiElement place) {
    final ASTNode astNode = getNode();

    final ASTNode[] children = astNode.getChildren(GRAMMAR_CONTENT);
    processor.handleEvent(PsiScopeProcessor.Event.SET_DECLARATION_HOLDER, this);
    for (ASTNode element : children) {
      if (!processor.execute(element.getPsi(), substitutor)) {
        return false;
      }
    }
    processor.handleEvent(PsiScopeProcessor.Event.SET_DECLARATION_HOLDER, null);
    return true;
  }
@Override
  public boolean processDeclarations(@NotNull PsiScopeProcessor processor, @NotNull ResolveState substitutor, PsiElement lastParent, @NotNull PsiElement place)