internal RecordCollection(RecordTable table)
        {
            this.table = table;
            this.dic = new RecordDictionary();
            this.list = new ReadOnlyCollection<Record>(new List<Record>());

        }
        private RecordCollection(RecordCollection rhs)
        {
            this.dic = new RecordDictionary(rhs.dic.Count);

            List<Record> tempList = new List<Record>(rhs.list.Count);
            foreach (Record item in rhs.list)
            {
                Record copy = item.CopyInternal(this.table);

                this.dic.Add(copy);
                tempList.Add(copy);
            }

            this.list = new ReadOnlyCollection<Record>(tempList);
        }