public boolean add (E newItem) {
		if (root == null) {
			root = new Node(newItem);
			size++;
			return true;
		}
		
		Node node = root;
		
		while (true) {
			if (newItem.compareTo(node.data) < 0) {
				if (node.left == null) {
					node.left = new Node(newItem);
					size++;
					return true;
				} else
					node = node.left;
			} else if (newItem.compareTo(node.data) > 0) {
				if (node.right == null) {
					node.right = new Node(newItem);
					size++;
					return true;
				} else
					node = node.right;
			} else
				return false; // (newKey.compareTo(node.mKey) == 0)
		}
	}