assert location.getIso3166Codes().size() == 0
|| location.getParent().getIso3166Codes().containsAll(location.getIso3166Codes()) : location
+ " ||" + location.getParent();
break;
case ZONE:
Location provider = location.getParent().getParent();
// zone can be a direct descendant of provider
if (provider == null)
provider = location.getParent();
assertProvider(provider);
assert location.getIso3166Codes().size() == 0
|| location.getParent().getIso3166Codes().containsAll(location.getIso3166Codes()) : location
+ " ||" + location.getParent();
break;
case HOST:
Location provider2 = location.getParent().getParent().getParent();
// zone can be a direct descendant of provider
if (provider2 == null)
provider2 = location.getParent().getParent();
assertProvider(provider2);
break;