This class and it's sub-classes exists primarily as an optimization of the reflection-based mechanism(s) previously used exclusively to create instances of AST node objects.
Parsers and TreeParsers already use the ASTFactory class in ANTLR whenever they need to create an AST node objeect. What this class does is to support performant extensibility of the basic ASTFactory. The ASTFactory can now be extnded as run-time to support more new AST node types without using needing to use reflection.