private void OverrideBnfTermKindInCaseOfSpecificInfo(BnfTerm current, ref BnfTermKind currentKind) { if (IsFlaggedOperator(current)) { currentKind = BnfTermKind.Operator; _flaggedOrDerivedOperatorToMultiOperatorInfo[current] = new MultiOperatorInfo(current, current); } else if (current.IsOpenBrace()) { currentKind = BnfTermKind.LeftParenthesis; } else if (current.IsCloseBrace()) { currentKind = BnfTermKind.RightParenthesis; } else if (current is GrammarHint) { currentKind = BnfTermKind.GrammarHint; } }