public MapIterator destructiveIterator() {
        return new MapIterator(numElements, loc, true);
    }
Returns a destructive iterator for iterating over the entries of this map. It frees each page
as it moves onto next one. Notice: it is illegal to call any method on the map after
`destructiveIterator()` has been called.

For efficiency, all calls to `next()` will return the same {@link Location} object.

If any other lookups or operations are performed on this map while iterating over it, including
`lookup()`, the behavior of the returned iterator is undefined.
indexr-query-opt/src/main/java/org/apache/spark/unsafe/map/BytesToBytesMap.java