public Node insertItem(int key) {
		Node node = new Node(key);
		if (isEmpty())
			root = node;
		else {
			Node current = this.root;
			while (true)
				if (current.getKey() > key && current.getLeft() != null)
					current = current.getLeft();
				else if (current.getKey() <= key && current.getRight() != null)
					current = current.getRight();
				else
					break;
			if (current.getKey() > key)
				current.setLeft(node);
			else
				current.setRight(node);
			node.setParent(current);
		}
		size++;
		return node;
	}