public object this[int Index] { get { if(Index >= FList.Count || Index < 0) throw new ArgumentOutOfRangeException("Index is less than zero or Index is greater than Count."); return FList[Index]; } set { throw new InvalidOperationException("[] operator cannot be used to set a value in a Heap."); } }