public static Optional<AuthenticationService> create(
      final Vertx vertx, final JsonRpcConfiguration config) {
    return create(
        vertx,
        config.isAuthenticationEnabled(),
        config.getAuthenticationCredentialsFile(),
        config.getAuthenticationPublicKeyFile(),
        config.getAuthenticationAlgorithm());
  }
Creates a ready for use set of authentication providers if authentication is enabled

@param vertx The vertx instance that will be providing requests that this set of authentication
    providers will be handling
@param config The {{@link JsonRpcConfiguration}} that describes this rpc setup
@return Optionally an authentication service. If empty then authentication isn't to be enabled
    on this service
ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/authentication/DefaultAuthenticationService.java