@demobox As I mentioned in #1438, this commit duplicates most of the code in DeleteAllKeysInList.  If we plan to mostly duplicate this class as in this commit, we should clean up that class before duplication.  Of course, I prefer restructuring the code to avoid duplication.