docs: protected void heapifyUp(int pos, E elem) {
      assert (pos < size && pos >= 0);
      while(pos > 0) {
        final int parent = (pos - 1) >>> 1;
        Object par = queue[parent];
  
        if(comparator.compare(elem, par) >= 0) {
          break;
        }
        queue[pos] = par;
        pos = parent;
      }
      queue[pos] = elem;
    }