}
}
Arrays.sort(populatedReverseKeys);
SegmentedByteArray arr = byteData.getUnderlyingArray();
long currentCopyPointer = 0;
for(int i=0;i<populatedReverseKeys.length;i++) {
int ordinal = (int)(populatedReverseKeys[i] & 0xFFFFFFF);
if(usedOrdinals.get(ordinal)) {
long pointer = populatedReverseKeys[i] >> 28;
int length = VarInt.readVInt(arr, pointer);
length += VarInt.sizeOfVInt(length);
if(currentCopyPointer != pointer)
arr.copy(arr, pointer, currentCopyPointer, length);
populatedReverseKeys[i] = populatedReverseKeys[i] << 36 | currentCopyPointer;
currentCopyPointer += length;
} else {