/** * Update fields from configuration. * * @param config Configuration * @return updated builder instance */ public Builder config(Config config) { config.get("name").asString().ifPresent(this::name); config.get("default").asBoolean().ifPresent(this::isDefault); config.get("authentication").asList(FlaggedProvider::create) .ifPresent(this.authenticators::addAll); config.get("authorization").asList(FlaggedProvider::create) .ifPresent(this.authorizers::addAll); config.get("outbound").asNodeList() .ifPresent(configs -> configs.forEach(outConfig -> addOutboundProvider(outConfig.get("name") .asString() .get()))); return this; }