private void reverse(INode<T> head)
	{
		if(head != null)
		{
			// if next node is 
			if(head.getNextNode() == null)
			{
				// The reversed list head;
				INode<T> newNode = new Node<T>(head.getValue());
				mReversedList.addToEnd(newNode);
			}
			else
			{
				reverse(head.getNextNode());
				INode<T> newNode = new Node<T>(head.getValue());
				mReversedList.addToEnd(newNode);
			}
		}
	}