code: protected boolean joinWithComparator(int i, int j) {
          if (comparator.compare(array[j], array[i]) < 0) {
              K tmp = array[i];
              array[i] = array[j];
              array[j] = tmp;
              reverse.flip(j);
              return false;
          }
          return true;
      }
docs: Join two weak heaps into one.
  
  @param i
  root of the first weak heap
  @param j
  root of the second weak heap
  @return true if already a weak heap, false if a flip was needed