Correct delegation for canRead/canWrite. Support for multiple marshallers/unmarshallers.

See [SPR-10463](https://jira.springsource.org/browse/SPR-10463) for more information.