private RequestDispatcher createRequestDispatcher(ExceptionMapperRegistry exceptionMapperRegistry) { ControllerRegistryBuilder controllerRegistryBuilder = new ControllerRegistryBuilder(resourceRegistry, moduleRegistry.getTypeParser(), objectMapper, propertiesProvider); ControllerRegistry controllerRegistry = controllerRegistryBuilder.build(); this.documentMapper = controllerRegistryBuilder.getDocumentMapper(); QueryAdapterBuilder queryAdapterBuilder; if (queryParamsBuilder != null) { queryAdapterBuilder = new QueryParamsAdapterBuilder(queryParamsBuilder, moduleRegistry); } else { queryAdapterBuilder = new QuerySpecAdapterBuilder(querySpecDeserializer, moduleRegistry); } return new RequestDispatcher(moduleRegistry, controllerRegistry, exceptionMapperRegistry, queryAdapterBuilder); }