public AltAST getOutermostAltNode() {
		if ( this instanceof AltAST && parent.parent instanceof RuleAST ) {
			return (AltAST)this;
		}
		if ( parent!=null ) return ((GrammarAST)parent).getOutermostAltNode();
		return null;
	}
If we build an ATN, we make AST node point at left edge of ATN construct
tool/src/org/antlr/v4/tool/ast/GrammarAST.java