public void handleMarker() {
    ArrayList regions = new ArrayList();
    Cache cache = GemFireCacheImpl.getInstance();
    if (cache == null) {
      return;
    }

    Set rootRegions = cache.rootRegions();

    for (final Object value : rootRegions) {
      Region rootRegion = (Region) value;
      regions.add(rootRegion);
      try {
        Set subRegions = rootRegion.subregions(true); // throws RDE
        for (final Object subRegion : subRegions) {
          regions.add(subRegion);
        }
      } catch (RegionDestroyedException e) {
        continue; // region is gone go to the next one bug 38705
      }
    }

    for (final Object o : regions) {
      LocalRegion region = (LocalRegion) o;
      try {
        if (region.getAttributes().getPoolName() != null
            && region.getAttributes().getPoolName().equals(qManager.getPool().getName())) {
          region.handleMarker(); // can this throw RDE??
        }
      } catch (RegionDestroyedException e) {
        continue; // region is gone go to the next one bug 38705
      }
    }
  }
This will store the ThreadId to latest received sequence Id

Keys are instances of {@link ThreadIdentifier} Values are instances of
{@link SequenceIdAndExpirationObject}
geode-core/src/main/java/org/apache/geode/cache/client/internal/QueueStateImpl.java