The old implementation assumed that only a handful of different protocol classes would be used. It didn't support Nio2 or Apr protocol classes, and would break if some other custom protocol class was used too
This implementation uses a different connector xpath expression based on the value of the custom connector protocol class property. If it's not set, then the old selector is still used.
Verified that interactions with the customized connector protocol still work, so that things like HTTP/2 upgrade are guaranteed to be configured correctly when Nio2 or Apr classes are used