}
private static void multisortInternal(OffHeapStructCollection collection, long start, long end,
List<OffHeapStructSortKey> keys, int keyIndex) {
if(keyIndex >= keys.size()) return;
OffHeapStructSortKey key = keys.get(keyIndex);
// sort current key
sortByKey(collection, start, end, key);
// whether last key reached
if(keyIndex >= keys.size() - 1) return;
// sort children keys recursively