The idea here is to allow an iterator stack to send back a special key or throw a special exception which will allow the tablet server to tear down the scan to be rebuilt later. This is to handle the case where an iterator is doing a lot of work without returning results to avoid starving out other scans.
There are two thoughts on how to do this:
1) A special "interrupt" key is returned from the getTopKey call that is detected in the Tablet.nextBatch call, is not added to the results, but is used to add an unfinished range and results in the remaining ranges to be deemed unfinished.
2) An special exception is thrown from the next or seek call that included the key of the current position, and the same actions are taken as in 1).