@Override
	public INode<T> removeHead()
	{
        Node<T> head = null;

		if(!isEmpty())
        {
            head = (Node<T>)getListHead();
            if(getListTail() == head)
                setListTail(null);
            setListHead(head.getNextNode());
        }

        return head;
	}