static void Main()
        {
            var test = new GenericList <int>();

            for (int i = 0; i < 11; i++)
            {
                test.Add(i);
            }
            Console.WriteLine(test.ToString());

            test.AddAtIndex(4, 56);

            Console.WriteLine(test.ToString());

            Console.WriteLine(test.Max());   // Testing Min and Max methods Task 7
            Console.WriteLine(test.Min());
        }
        public void AddAtIndex(int index, T newElement)
        {
            if (index >= this.Capacity || index < 0)
            {
                throw new IndexOutOfRangeException(String.Format(
                                                       "Invalid index: {0}.", index));
            }

            var temp = new GenericList <T>();

            for (int i = index; i < this.Count; i++)
            {
                temp.Add(this.elements[i]);
            }

            this.elements[index] = newElement;

            for (int i = 0, j = index + 1; i <= temp.Count; i++, j++)
            {
                this.elements[j] = temp.elements[i];
            }
            this.Count++;
        }