/// <summary>
        /// Deletes Node at specified index
        /// </summary>
        public void Delete(int index)
        {
            if (index == 0) //Delete Head Node
            {
                SimpleNode nodeToDelete = GetNodeAtIndex(index);
                this.First = nodeToDelete.NextNode;
            }

            else //Delete Body Node
            {
                SimpleNode nodeBeforeDelete = GetNodeAtIndex(--index);
                SimpleNode nodeToDelete = nodeBeforeDelete.NextNode;
                nodeBeforeDelete.NextNode = nodeToDelete.NextNode;
            }

            this.Count--;
        }
        /// <summary>
        /// Add element to the end of the list.
        /// </summary>
        public void Add(Object newNodeValue)
        {
            if (newNodeValue == null)
                return;

            SimpleNode elementToBeAdded = new SimpleNode { Value = newNodeValue };

            if (this.First == null) //first element added
                this.First = elementToBeAdded;

            else
            {
                SimpleNode lastElement = this.GetNodeAtIndex(Count - 1);// = elementToBeAdded;
                lastElement.NextNode = elementToBeAdded;
            }

            this.Count++;
        }