code: public Set<Region> getContainedRegions(RegionType type) {
  
          loadRegionData();
  
          Set<Region> result = new TreeSet<Region>();
          Set<Region> cr = getContainedRegions();
  
          for ( Region r : cr ) {
              if ( r.getType() == type ) {
                  result.add(r);
              } else {
                  result.addAll(r.getContainedRegions(type));
              }
          }
          return Collections.unmodifiableSet(result);
      }
docs: Used to determine all the regions that are contained within this region and that match the given type
  
  @return An unmodifiable set containing all the regions that are children of this region
  anywhere in the region hierarchy and match the given type.  This API may return an empty set
  if this region doesn't have any sub-regions that match the given type.
  For example, calling this method with region "150" (Europe) and type "TERRITORY" returns a set
  containing all the territories in Europe ( "FR" (France) - "IT" (Italy) - "DE" (Germany) etc. )