title: Swagger-ui not working with complex objects
body: <p>When the object has another cutom object i get an error from swaggerUi:</p>
  
  <blockquote>
    <p>Caused by: java.lang.NoSuchMethodError: io.swagger.models.properties.RefProperty.(Ljava/lang/String;Lio/swagger/models/refs/RefFormat;)V</p>
  </blockquote>
  
  <p><a href="https://i.stack.imgur.com/0a28M.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/0a28M.png" alt="enter image description here"></a></p>
  
  <p>Swagger version is 2.9.2 (<a href="https://mvnrepository.com/artifact/io.springfox/springfox-swagger2/2.9.2" rel="nofollow noreferrer">https://mvnrepository.com/artifact/io.springfox/springfox-swagger2/2.9.2</a>, <a href="https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui/2.9.2" rel="nofollow noreferrer">https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui/2.9.2</a>), java 11.</p>
  
  <p>If i change object type of <code>sender</code> field to <code>String</code> it works fine, but i want it to work with custom object.</p>
  
  <pre><code>@Getter // lombok here
  @Setter
  @AllArgsConstructor
  @XmlRootElement(name = "r")
  @NoArgsConstructor
  public class RDto {
      private String id;
      private String number;
      private String status;
      private String error;
  }
  </code></pre>
  
  <pre><code>@Data
  @AllArgsConstructor
  @NoArgsConstructor
  @ToString
  @XmlRootElement(name="TDto")
  public class MDto {
      RDto sender; // If changed to String -&gt; works fine
  }
  </code></pre>
  
  <pre><code>@Component
  public class CamelConfig extends RouteBuilder {
      @Override
      public void configure() throws Exception {
          restConfiguration().component("servlet") // configure we want to use servlet as the component for the rest DSL
                  .bindingMode(RestBindingMode.json_xml) // enable json/xml binding mode
                  .dataFormatProperty("prettyPrint", "true") // output using pretty print
                  .contextPath("/con/api/")
                  .apiContextPath("/api-doc")  // enable swagger api
                  .apiProperty("api.version", "2.0.0")
                  .apiProperty("api.title", "title")
                  .apiProperty("api.description", "descr")
                  .apiProperty("api.contact.name", "Aaa")
                  .apiProperty("cors", "true"); // enable CORS
  
          // error handling to return custom HTTP status codes for the various exceptions
          onException(TestMessageException.class)
                  .handled(true)
                  // use HTTP status 400 when input data is invalid
                  .setHeader(Exchange.HTTP_RESPONSE_CODE, constant(400))
                  .setBody(simple("Invalid input data"));
  
          rest()
                  .description("rest service provider")
                  .consumes("application/xml").produces("application/xml")
                  .post("/send").type(MDto.class)
                  .bindingMode(RestBindingMode.json_xml).description("test")
                  .route().routeId("REST test").log("Message send: \n ${body}")
                  .to("bean:MService?method=test")
                  .endRest();
      }
  }
  </code></pre>