Interesting issue. We would have to use reflection. Probably better to expose dataTypes in AbstractMessageChannel and/or addDataType in addition to setDataTypes. For now, I figure if you use type parameters, it trumps whatever is already configured for the channel