okay, in relation to my previous comment, this is a case where the isHandleRequestMethod() is invoked directly... maybe the method that I suggested above could be slightly modified to include the type (as <? extends MessageHandler>) so when calling it, the caller could pass the required type (here just MessageHandler but above the AbstractReplyProducingMessageHandler).