public virtual AltAST GetOutermostAltNode()
{
if (this is AltAST && Parent.Parent is RuleAST)
{
return (AltAST)this;
}
if (Parent != null)
return ((GrammarAST)Parent).GetOutermostAltNode();
return null;
}