CAMEL-9732: camel-swagger-java - Issue in appendModels in the reader
diff --git a/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerReader.java b/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerReader.java
index 08c0a2d..dc7bfeb 100644
--- a/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerReader.java
+++ b/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerReader.java
@@ -506,7 +506,16 @@
         RestModelConverters converters = new RestModelConverters();
         final Map<String, Model> models = converters.readClass(clazz);
         for (Map.Entry<String, Model> entry : models.entrySet()) {
-            swagger.model(entry.getKey(), entry.getValue());
+
+            // favor keeping any existing model that has the vendor extension in the model
+            boolean oldExt = false;
+            if (swagger.getDefinitions() != null && swagger.getDefinitions().get(entry.getKey()) != null) {
+                oldExt = swagger.getDefinitions().get(entry.getKey()).getVendorExtensions().get("x-className") == null;
+            }
+
+            if (!oldExt) {
+                swagger.model(entry.getKey(), entry.getValue());
+            }
         }
     }