public String[] listSubRegionPaths(boolean recursive) {
    String[] subRegionPathsArr = new String[0];

    Collection<RegionMXBean> proxies = mapOfProxy.values();
    // Need to go through all proxies as different proxies could have different sub-regions
    if (proxies != null && !proxies.isEmpty()) {
      SortedSet<String> subRegionPaths = new TreeSet<>();
      for (RegionMXBean regionMXBean : proxies) {
        String[] listSubRegionPaths = regionMXBean.listSubregionPaths(recursive);
        subRegionPaths.addAll(Arrays.asList(listSubRegionPaths)); // Little cosly, but how can it be
                                                                  // avoided?
      }

      subRegionPathsArr = subRegionPaths.toArray(subRegionPathsArr);
    }

    return subRegionPathsArr;
  }
Lists the sub regions of the GemFire {@link Region} represented by this
{@link DistributedRegionMXBean}. If <code>recursive</code> is <code>true</code>, will return
sub-regions by traversing recursively.

@param recursive if <code>true</code>, recursively traverses to find sub regions.
@return String array of sub region paths
geode-core/src/main/java/org/apache/geode/management/internal/beans/DistributedRegionBridge.java