public void insertItem(Object k, Object e) throws InvalidKeyException { if (!comp.isComparable(k)) throw new InvalidKeyException("Invalid Key"); Position z = T.add(new Item(k, e)); Position u; while (!T.isRoot(z)) { // up-heap bubbling u = T.parent(z); if (comp.isLessThanOrEqualTo(key(u), key(z))) break; T.swapElements(u, z); z = u; } }