Why do we need this in `ParserATNSimulator`? The feature can be implemented in a derived type instead to avoid impacting this class.