@SuppressWarnings("unchecked")
        private <T, K> List<T> requireJsonArray(String keyName, JsonObject json, Class<K> klazz) {
            // Contains key.
            Arguments.require(json.containsKey(keyName),
                    String.format("Must provide array of %s objects for key '%s'", StringUtils.capitalize(keyName), keyName));
            // Is of type array.
            Arguments.require(json.getValue(keyName) instanceof JsonArray,
                    String.format("'%s' must be a Json array", keyName));
            // Transform into List<T>.
            return Json.decodeValue(json.getJsonArray(keyName).encode(), List.class, klazz);
        }
URI loading registry that pulls configuration from a specified JSON file.
<ul>
  <li>configUri: apiman policy config to load from JSON via file
  ({@link FileResourceFetcher}) or HTTP/S ({@link HttpResourceFetcher}).
  See the corresponding fetcher for additional options.</li>
</ul>

@author Marc Savy {@literal <marc@rhymewithgravy.com>}
@see FileResourceFetcher
@see HttpResourceFetcher
gateway/engine/vertx-polling/src/main/java/io/apiman/gateway/engine/vertx/polling/URILoadingRegistry.java