public void GatherIncrementalAliases()
        {
            foreach (var ruleName in _ruleStatistics.LhsRawRuleNames)
            {
                var ruleDetail = _ruleStatistics.RuleDetails[ruleName];

                var countOfIncrementalAlternatives = ruleDetail.CountOfIncrementalAlternatives;

                if (countOfIncrementalAlternatives > 0)
                {
                    var incrementalAliases = new string[countOfIncrementalAlternatives];

                    var lastIndex = countOfIncrementalAlternatives - 1;

                    for (int index = 0; index < countOfIncrementalAlternatives; index++)
                    {
                        // determine alias
                        var parserRuleName = AntlrHelper.GetParserRuleName(ruleName);

                        var alias = parserRuleName;

                        int counter = 0;

                        while (AntlrHelper.IsReservedKeyWord(alias) || _ruleStatistics.Aliases.Contains(alias) || _allIncrementalAliases.Contains(alias))
                        {
                            counter++;
                            alias = parserRuleName + "_" + counter;

                            while (_ruleStatistics.AllParserRuleNames.Contains(alias))
                            {
                                counter++;
                                alias = parserRuleName + "_" + counter;
                            }
                        }

                        _allIncrementalAliases.Add(alias);

                        if (index == lastIndex)
                        {
                            if (ruleDetail.IsLexerRule)
                            {
                                alias = GetLexerRuleName(alias);
                            }
                        }

                        incrementalAliases[index] = alias;
                    }

                    _mapRuleNameToIncrementalAliases.Add(ruleName, incrementalAliases);
                    _lhsIncrementalRuleCounters[ruleName] = 0;
                }
            }
        }