int nCursors = bin.nCursors();
if (nCursors > 0) {
/* Cursor prohibit compression. */
return;
} else {
BINReference binRef =
removeCompressibleBinReference(bin.getNodeId());
if ((binRef == null) || (!binRef.deletedKeysExist())) {
return;
} else {
boolean requeued = bin.compress(binRef, false /* canFetch */);
lazyProcessed++;
/*
* If this wasn't requeued, but there were deleted keys
* remaining, requeue, so the daemon can handle this. Either
* we must have shuffled some items because of a split, or a
* child was not resident and we couldn't process that entry.
*/
if (!requeued && binRef.deletedKeysExist()) {
addBinRefToQueue(binRef, false);
lazySplit++;
} else {
if (bin.getNEntries() == 0) {
addBinRefToQueue(binRef, false);