I'm having two routes in two separated projects :

1. First route is setting the header with a data format bean name as a constant :

`setHeader("dataFormatBeanName", constant("myFirstList"))`

First route :

```
public class MyTest {
    @Configuration
    public static class MyTestConfig extends CamelConfiguration {

        @Bean(name = "myFirstList")
        public DataFormat getMyFirstListDataFormat() {
            return new MyFirstListDataFormat();
        }

        @Bean(name = "mySecondList")
        public DataFormat getMySecondListDataFormat() {
            return new MySecondListDataFormat();
        }

        @Bean
        public RouteBuilder route() {
            return new RouteBuilder() {

                @Override
                public void configure() throws Exception {
                    from("direct:testFirstDataFormat").setHeader("dataFormatBeanName", constant("myFirstList")).to("direct:myRoute");
                    from("direct:testSecondDataFormat").setHeader("dataFormatBeanName", constant("mySecondList")).to("direct:myRoute");
                }
            };
        }
    }
}

```

2. Second route is supposed to retrieve the bean name from the header and use it as a custom marshaller. Something like :

`custom(header("dataFormatBeanName"))`

(doesn't compile)

Anyone knows how I'm supposed to get my bean name from the header to use it in the custom method ?

```
@Component
public class MyRouteBuilder extends RouteBuilder {
    @Override
    public void configure() throws Exception {
        final RouteDefinition routedefinition = this.from("direct:myRoute");
        routedefinition.marshal().custom(??????????).to("netty4:tcp://{{route.address}}:{{port}}?textline=true&sync=true");
    }

```