Repository: quarkusio/quarkus
Issue: ResteasyReactiveRuntimeRecorder throws ClassCastException when deployed on Openshift

### Describe the bug

Related to PR #35246 
When deploying RestEasy Reactive application to Openshift, it will fail on ResteasyReactiveRuntimeRecorder's ClassCastException (see stack trace below). 
```
15:47:36,238 INFO  [app] 13:47:35,438 Failed to start application (with profile [OpenShiftCompressionHandlerIT]): java.lang.RuntimeException: Failed to start quarkus
15:47:36,238 INFO  [app] 	at io.quarkus.runner.ApplicationImpl.doStart(Unknown Source)
15:47:36,238 INFO  [app] 	at io.quarkus.runtime.Application.start(Application.java:101)
15:47:36,238 INFO  [app] 	at io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:111)
15:47:36,238 INFO  [app] 	at io.quarkus.runtime.Quarkus.run(Quarkus.java:71)
15:47:36,238 INFO  [app] 	at io.quarkus.runtime.Quarkus.run(Quarkus.java:44)
15:47:36,238 INFO  [app] 	at io.quarkus.runtime.Quarkus.run(Quarkus.java:124)
15:47:36,239 INFO  [app] 	at io.quarkus.runner.GeneratedMain.main(Unknown Source)
15:47:36,239 INFO  [app] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
15:47:36,239 INFO  [app] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
15:47:36,239 INFO  [app] 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
15:47:36,239 INFO  [app] 	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
15:47:36,239 INFO  [app] 	at io.quarkus.bootstrap.runner.QuarkusEntryPoint.doRun(QuarkusEntryPoint.java:61)
15:47:36,239 INFO  [app] 	at io.quarkus.bootstrap.runner.QuarkusEntryPoint.main(QuarkusEntryPoint.java:32)
15:47:36,239 INFO  [app] Caused by: java.lang.ClassCastException: class java.lang.String cannot be cast to class java.util.List (java.lang.String and java.util.List are in module java.base of loader 'bootstrap')
15:47:36,239 INFO  [app] 	at io.quarkus.resteasy.reactive.server.runtime.ResteasyReactiveRuntimeRecorder.runtimeConfiguration(ResteasyReactiveRuntimeRecorder.java:38)
15:47:36,240 INFO  [app] 	at io.quarkus.deployment.steps.ResteasyReactiveProcessor$runtimeConfiguration1462480334.deploy_0(Unknown Source)
15:47:36,240 INFO  [app] 	at io.quarkus.deployment.steps.ResteasyReactiveProcessor$runtimeConfiguration1462480334.deploy(Unknown Source)
15:47:36,240 INFO  [app] 	... 13 more
```
Seems like issue is on [this line](https://github.com/quarkusio/quarkus/blob/42cd3eac552ee5102033f7f7de7acc3ec90a75d3/extensions/resteasy-reactive/quarkus-resteasy-reactive/runtime/src/main/java/io/quarkus/resteasy/reactive/server/runtime/ResteasyReactiveRuntimeRecorder.java#L38). Somehow produces `String` ,while expected is `List<String>`.

Reverting #35246 fixes this issue.


### Expected behavior

RestEasy Reactive application will deploy

### Actual behavior

RestEasy Reactive application fails to deploy, with above-mention exception.

### How to Reproduce?

_No response_

### Output of `uname -a` or `ver`

_No response_

### Output of `java -version`

_No response_

### GraalVM version (if different from Java)

_No response_

### Quarkus version or git rev

_No response_

### Build tool (ie. output of `mvnw --version` or `gradlew --version`)

_No response_

### Additional information

_No response_

Changed files:
extensions/vertx-http/runtime/src/main/java/io/quarkus/vertx/http/runtime/MultiPartConfig.java
extensions/resteasy-reactive/quarkus-resteasy-reactive/deployment/src/test/java/io/quarkus/resteasy/reactive/server/test/multipart/MultipartInputWithAllUploadsTest.java

diff --git a/extensions/resteasy-reactive/quarkus-resteasy-reactive/deployment/src/test/java/io/quarkus/resteasy/reactive/server/test/multipart/MultipartInputWithAllUploadsTest.java b/extensions/resteasy-reactive/quarkus-resteasy-reactive/deployment/src/test/java/io/quarkus/resteasy/reactive/server/test/multipart/MultipartInputWithAllUploadsTest.java
index c9529c094e8..43ff48cba36 100644
--- a/extensions/resteasy-reactive/quarkus-resteasy-reactive/deployment/src/test/java/io/quarkus/resteasy/reactive/server/test/multipart/MultipartInputWithAllUploadsTest.java
+++ b/extensions/resteasy-reactive/quarkus-resteasy-reactive/deployment/src/test/java/io/quarkus/resteasy/reactive/server/test/multipart/MultipartInputWithAllUploadsTest.java
@@ -35,8 +35,11 @@ public JavaArchive get() {
                                     Status.class, MultipartResourceWithAllUploads.class)
                             .addAsResource(new StringAsset(
                                     // keep the files around so we can assert the outcome
-                                    "quarkus.http.body.delete-uploaded-files-on-end=false\\nquarkus.http.body.uploads-directory="
-                                            + uploadDir.toString() + "\\n"),
+                                    "quarkus.http.body.delete-uploaded-files-on-end=false\\n"
+                                            + "quarkus.http.body.uploads-directory=" + uploadDir.toString() + "\\n"
+                    // to reproduce https://github.com/quarkusio/quarkus/issues/35344:
+                                            + "quarkus.http.body.multipart.file-content-types=text/xml,custom/content-type"
+                                            + "\\n"),
                                     "application.properties");
                 }
 
diff --git a/extensions/vertx-http/runtime/src/main/java/io/quarkus/vertx/http/runtime/MultiPartConfig.java b/extensions/vertx-http/runtime/src/main/java/io/quarkus/vertx/http/runtime/MultiPartConfig.java
index 588b2cf7407..dc6981d8d7a 100644
--- a/extensions/vertx-http/runtime/src/main/java/io/quarkus/vertx/http/runtime/MultiPartConfig.java
+++ b/extensions/vertx-http/runtime/src/main/java/io/quarkus/vertx/http/runtime/MultiPartConfig.java
@@ -19,6 +19,5 @@ public interface MultiPartConfig {
      *
      * For now, this setting only works when using RESTEasy Reactive.
      */
-    @WithConverter(TrimmedStringConverter.class)
-    Optional<List<String>> fileContentTypes();
+    Optional<List<@WithConverter(TrimmedStringConverter.class) String>> fileContentTypes();
 }