@Override
  public List getEvents() {
    ArrayList events = new ArrayList();
    for (final Map.Entry me : regions.entrySet()) {
      InternalRegion r = (InternalRegion) me.getKey();
      TXRegionState txrs = (TXRegionState) me.getValue();
      txrs.getEvents(r, events, this);
    }
    if (events.isEmpty()) {
      return Collections.EMPTY_LIST;
    } else {
      Collections.sort(events);
      return Collections.unmodifiableList(events);
    }
  }
Note that cleanup does more than is needed in this method. This method only needs to do stuff
that is required when a Cache close is done and we have txs that are still in progress.
Currently the only thing that is needed is to decrement off-heap refcounts since off-heap
memory lives after a cache close.
geode-core/src/main/java/org/apache/geode/internal/cache/TXState.java