internal TokenInterProductionCollectionBuilder(TokenInterProduction parserEntry)
            {
                _collection = null;
                _entry0     = parserEntry;
                _entry1     = null;
                _entry2     = null;
                _entry3     = null;

                EntryCount = 1;
            }
            private void Add(TokenInterProduction parserEntry)
            {
                if (EntryCount >= Capacity)
                {
                    _collection.Add(parserEntry);

                    EntryCount++;

                    return;
                }

                if (EntryCount == 0)
                {
                    _entry0 = parserEntry;
                }
                else if (EntryCount == 1)
                {
                    _entry1 = parserEntry;
                }
                else if (EntryCount == 2)
                {
                    _entry2 = parserEntry;
                }
                else if (EntryCount == 3)
                {
                    _entry3 = parserEntry;
                }

                EntryCount++;

                if (EntryCount == Capacity)
                {
                    _collection = new List <TokenInterProduction>(Capacity);

                    for (var i = 0; i < EntryCount; i++)
                    {
                        _collection.Add(this[i]);
                    }
                }
            }