@Override
	public void addLast(ListNode node) {
		ListNode beforeNode = root;
		ListNode currentNode = root;

		if (isEmpty()) {
			root = node;
		} else if (!isEmpty() && size() == 1) {
			if ((currentNode.isLessThan(node) || currentNode.isEqualTo(node))) {
				root.next = node;
			} else {
				node.next = root;
				root = node;
			}
		} else {
			while (currentNode != null
					&& (currentNode.isLessThan(node) || currentNode
							.isEqualTo(node))) {
				beforeNode = currentNode;
				currentNode = currentNode.next;
			}
			beforeNode.next = node;
			node.next = currentNode;
		}

	}