private static Optional<AuthenticationProvider> makeCredentialAuthProvider(
      final Vertx vertx,
      final boolean authenticationEnabled,
      @Nullable final String authenticationCredentialsFile) {
    if (authenticationEnabled && authenticationCredentialsFile != null) {
      return Optional.of(
          new TomlAuthOptions().setTomlPath(authenticationCredentialsFile).createProvider(vertx));
    } else {
      return Optional.empty();
    }
  }
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 WebSocketConfiguration}} 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