@Override protected void reset() { super.reset(); // Check if we are about to enter or leave the drop deletes range. switch (dropDeletesInOutput) { case BEFORE: if (entered()) { if (left()) { // Already out of range, which means there are no rows within the range. dropDeletesInOutput = DropDeletesInOutput.AFTER; } else { dropDeletesInOutput = DropDeletesInOutput.IN; } } break; case IN: if (left()) { dropDeletesInOutput = DropDeletesInOutput.AFTER; } break; default: break; } } }