public LR0Item(int id, Production production, int position, GrammarHintList hints) { ID = id; Production = production; Position = position; Current = (Position < Production.RValues.Count) ? Production.RValues[Position] : null; if (hints != null) { Hints.AddRange(hints); } _hashCode = ID.ToString().GetHashCode(); }