@Override
    public Authenticator validateConfig(Map<String, String> config) {
        Objects.requireNonNull(config.get("clientId") != null || config.get("clientID") != null, "must provide clientId");
        Objects.requireNonNull(config.get("clientSecret"), "must provide clientSecret");
        Objects.requireNonNull(config.get("oauthUri") != null, "must provide OAuth URI 'oauthUri'.");
        Objects.requireNonNull(config.get("flowType"), "must provide OAuth2 flow type 'flowType'.");
        return this;
    }
@author Marc Savy {@literal <marc@rhymewithgravy.com>}
gateway/engine/vertx-polling/src/main/java/io/apiman/gateway/engine/vertx/polling/fetchers/auth/OAuth2.java