void populateSnapshot(DistributionManager dm) {
    if (cancelled) {
      return;
    }

    DistributedSystem sys = dm.getSystem();
    InternalCache cache = (InternalCache) CacheFactory.getInstance(sys);

    if (cancelled) {
      return;
    }

    RegionSubRegionSnapshot root = new RegionSubRegionSnapshot();
    /*
     * This root exists only on admin side as a root of all root-region just to create a tree-like
     * structure
     */
    root.setName("Root");
    root.setParent(null);
    root.setEntryCount(0);

    Set rootRegions = cache.rootRegions();
    snapshot = root;

    populateRegionSubRegions(root, rootRegions, cache);
  }
Returns a {@code RegionSubRegionsSizeResponse} that will be returned to the specified
recipient. The message will contains a copy of the region snapshot
geode-core/src/main/java/org/apache/geode/internal/admin/remote/RegionSubRegionsSizeResponse.java