Selects the most appropriate channel name matching channel identifiers which are the
fully qualified class names encountered while traversing the payload type hierarchy.
To resolve ties and conflicts (e.g., Serializable and String) it will match:
1. Type name to channel identifier else...
2. Name of the subclass of the type to channel identifier else...
3. Name of the Interface of the type to channel identifier while also
preferring direct interface over indirect subclass