public static RegionMBeanBridge getInstance(Region region) { if (region.getAttributes().getPartitionAttributes() != null) { RegionMBeanBridge bridge = new PartitionedRegionBridge(region); PartitionedRegion parRegion = ((PartitionedRegion) region); DiskStoreImpl dsi = parRegion.getDiskStore(); if (dsi != null) { DiskRegionStats stats = parRegion.getDiskRegionStats(); DiskRegionBridge diskRegionBridge = new DiskRegionBridge(stats); bridge.addDiskRegionBridge(diskRegionBridge); for (DirectoryHolder dh : dsi.getDirectoryHolders()) { diskRegionBridge.addDirectoryStats(dh.getDiskDirectoryStats()); } bridge.addDiskRegionBridge(diskRegionBridge); } return bridge; } else { RegionMBeanBridge bridge = new RegionMBeanBridge(region); LocalRegion localRegion = ((LocalRegion) region); DiskStoreImpl dsi = localRegion.getDiskStore(); if (dsi != null) { DiskRegionBridge diskRegionBridge = new DiskRegionBridge(localRegion.getDiskRegion().getStats()); bridge.addDiskRegionBridge(diskRegionBridge); for (DirectoryHolder dh : dsi.getDirectoryHolders()) { diskRegionBridge.addDirectoryStats(dh.getDiskDirectoryStats()); } } return bridge; } }