private void checkOptionDependencies(final Logger logger, final CommandLine commandLine) {
    CommandLineUtils.checkOptionDependencies(
        logger,
        commandLine,
        "--rpc-ws-enabled",
        !isRpcWsEnabled,
        List.of(
            "--rpc-ws-api",
            "--rpc-ws-apis",
            "--rpc-ws-api-method-no-auth",
            "--rpc-ws-api-methods-no-auth",
            "--rpc-ws-host",
            "--rpc-ws-port",
            "--rpc-ws-max-frame-size",
            "--rpc-ws-max-active-connections",
            "--rpc-ws-authentication-enabled",
            "--rpc-ws-authentication-credentials-file",
            "--rpc-ws-authentication-public-key-file",
            "--rpc-ws-authentication-jwt-algorithm",
            "--rpc-ws-ssl-enabled"));

    CommandLineUtils.checkOptionDependencies(
        logger,
        commandLine,
        "--rpc-ws-ssl-enabled",
        !isRpcWsSslEnabled,
        List.of(
            "--rpc-ws-ssl-keystore-file",
            "--rpc-ws-ssl-keystore-type",
            "--rpc-ws-ssl-client-auth-enabled"));

    CommandLineUtils.checkOptionDependencies(
        logger,
        commandLine,
        "--rpc-ws-ssl-client-auth-enabled",
        !isRpcWsClientAuthEnabled,
        List.of(
            "--rpc-ws-ssl-truststore-file",
            "--rpc-ws-ssl-truststore-type",
            "--rpc-ws-ssl-trustcert-file"));

    if (isRpcWsSslEnabled) {
      if ("PEM".equalsIgnoreCase(rpcWsKeyStoreType)) {
        CommandLineUtils.checkOptionDependencies(
            logger,
            commandLine,
            "--rpc-ws-ssl-key-file",
            rpcWsKeyFile == null,
            List.of("--rpc-ws-ssl-cert-file"));
        CommandLineUtils.checkOptionDependencies(
            logger,
            commandLine,
            "--rpc-ws-ssl-cert-file",
            rpcWsCertFile == null,
            List.of("--rpc-ws-ssl-key-file"));
      } else {
        CommandLineUtils.checkOptionDependencies(
            logger,
            commandLine,
            "--rpc-ws-ssl-keystore-file",
            rpcWsKeyStoreFile == null,
            List.of("--rpc-ws-ssl-keystore-password", "--rpc-ws-ssl-keystore-password-file"));
      }
    }

    if (isRpcWsClientAuthEnabled && !"PEM".equalsIgnoreCase(rpcWsTrustStoreType)) {
      CommandLineUtils.checkOptionDependencies(
          logger,
          commandLine,
          "--rpc-ws-ssl-truststore-file",
          rpcWsTrustStoreFile == null,
          List.of("--rpc-ws-ssl-truststore-password", "--rpc-ws-ssl-truststore-password-file"));
    }

    if (isRpcWsAuthenticationEnabled) {
      CommandLineUtils.checkOptionDependencies(
          logger,
          commandLine,
          "--rpc-ws-authentication-public-key-file",
          rpcWsAuthenticationPublicKeyFile == null,
          List.of("--rpc-ws-authentication-jwt-algorithm"));
    }
  }
Checks the dependencies of the WebSocket options.

@param logger Logger instance
@param commandLine CommandLine instance
app/src/main/java/org/hyperledger/besu/cli/options/RpcWebsocketOptions.java