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;
}
}