@Override
    public Processor createPreProcessor(Exchange exchange, DynamicAwareEntry entry) {
        Processor preProcessor = null;
        if (DynamicRouterControlConstants.SHOULD_OPTIMIZE.test(entry.getUri())) {
            preProcessor = queryParamsHeadersProcessor.apply(entry);
        }
        return preProcessor;
    }
@Test
    void createPreProcessor() throws Exception {
        Mockito.when(exchange.getMessage()).thenReturn(message);
        Mockito.doNothing().when(message).setHeader(CONTROL_ACTION_HEADER, "subscribe");
        Mockito.doNothing().when(message).setHeader(CONTROL_SUBSCRIPTION_ID, "testSub1");
        String originalUri = "dynamic-router-control:subscribe?subscriptionId=testSub1";
        String uri = "dynamic-router-control://subscribe?subscriptionId=testSub1";
        try (DynamicRouterControlChannelSendDynamicAware testSubject = new DynamicRouterControlChannelSendDynamicAware()) {
            SendDynamicAware.DynamicAwareEntry entry = testSubject.prepare(exchange, uri, originalUri);
            Processor preProcessor = testSubject.createPreProcessor(exchange, entry);
            Assertions.assertNotNull(preProcessor);
            preProcessor.process(exchange);
        }
    }