Groups changed within the same millisecond that they were selected for reaping can cause aggregators to emit duplicate messages. Use the re-fetched group (used to see if the timetamp changed) instead of the group passed in to forceClose (the group might have changed since it was selected as eligible for reaping). We still retain the last modified check because it might have been expired using timeoutOnIdle.