I am following some existing code and trying to implement it the same way for this new class and the behavior.

however the problem is that I will not be able to query it using IQueryable because it is a CollectionBase:

Code:
public class ValidityPeriodItemCollection : CollectionBase
{

        public ValidityPeriodItem this[int index]
        {
            get { return (ValidityPeriodItem)List[index]; }
            set { List[index] = value; }
        }

        public ValidityPeriodItem this[Guid id]
        {
            get
            {
                foreach (ValidityPeriodItem item in this)
                {
                    if (item.Id == id)
                        return item;
                }
                return null;
            }
        }

        public int Add(ValidityPeriodItem item)
        {
            return List.Add(item);
        }
}

what I want to be able to do is simply query this using IQueryable, so I can filter and select a ValidityPeriodItem

how can I do this with the current implementation?