The function is called ...ForUndo, not ...ForUndoOrAnyCompletelyUnrelatedCaseThatHappensToNeedMostlySimilarProcessing. Consider renaming the function or possibly refactoring, with deleteTupleForUndo being one entry point and deleteTupleForElasticRebalance being another. The preparatory "lookup" behavior needed only by the actual ForUndo caller should be isolated to that particular entry point, so we can lose the hard-coded bool.  Even if we named the common code deleteTupleWork or something similarly ambiguous, an ambiguous name beats a misleading one.