public ThrowNoViableAlt getThrowNoViableAlt(OutputModelFactory factory,
												GrammarAST blkAST,
												IntervalSet expecting) {
		return new ThrowNoViableAlt(factory, blkAST, expecting);
	}
The class hierarchy underneath SrcOp is pretty deep but makes sense that,
 for example LL1StarBlock is a kind of LL1Loop which is a kind of Choice.
 The problem is it's impossible to figure
 out how to construct one of these deeply nested objects because of the
 long super constructor call chain. Instead, I decided to in-line all of
 this and then look for opportunities to re-factor code into functions.
 It makes sense to use a class hierarchy to share data fields, but I don't
 think it makes sense to factor code using super constructors because
 it has too much work to do.
tool/src/org/antlr/v4/codegen/model/Choice.java