protected virtual IMessage BuildMessage(ISession session, Object result) { IMessageConverter converter = MessageConverter; if (converter != null) { return converter.ToMessage(result, session); } else { IMessage msg = result as IMessage; if (msg == null) { throw new MessageConversionException( "No IMessageConverter specified - cannot handle message [" + result + "]"); } return msg; } }