public T NextLargest2(T key) throws InvalidPositionException,
			EmptyTreeException {

		BTPosition<T> current = checkPosition(root());

		Stack<BTPosition<T>> s = new Stack<>();

		while (!s.isEmpty() || current != null) {
			if (current != null) {
				s.push(current);
				current = current.getLeft();
			} else {
				current = s.pop();
				if (comp.compare(key, current.element()) < 0)
					return current.element();
				current = current.getRight();
			}
		}
		return null;
	}