private int getMaxInd(int pos1, int pos2) {
            if (Math.min(pos1, pos2) >= size)
                throw new ArrayIndexOutOfBoundsException(String.format(
                        "Invalid data: %d, %d", pos1, pos2));
            if (Math.max(pos1, pos2) >= size) return Math.min(pos1, pos2);
            return heap.get(pos1).compareTo(heap.get(pos2)) > 0 ? pos1 : pos2;
        }