code: private void parseTerritoryContainment(JsonObject root) {
      JsonObject node = resolve(root, "supplemental", "territoryContainment");
      for (Map.Entry<String, JsonElement> entry : node.entrySet()) {
        String parentCode = entry.getKey();
        if (parentCode.contains("-")) {
          if (!parentCode.endsWith("-status-grouping")) {
            continue;
          }
          parentCode = parentCode.split("-")[0];
        }
        
        JsonObject value = entry.getValue().getAsJsonObject();
        JsonArray elements = (JsonArray) value.get("_contains");
        if (elements == null) {
          throw new RuntimeException("Unexpected object structure: " + value);
        }
  
        List<String> children = new ArrayList<>();
        for (JsonElement element : elements) {
          String code = element.getAsString();
          children.add(code);
        }
        
        Set<String> regions = territoryContainment.get(parentCode);
        if (regions == null) {
          regions = new TreeSet<>();
          territoryContainment.put(parentCode, regions);
        }
        regions.addAll(children);
      }
    }
docs: Parse territory containment tree.