private HandlerMethodReturnValueHandler getReturnValueHandler(MethodParameter returnType) {
   for (HandlerMethodReturnValueHandler handler : this.returnValueHandlers) {
     if (handler.supportsReturnType(returnType)) {
       return handler;
     }
   }
   return null;
 }
 /**
  * Find a registered {@link HandlerMethodReturnValueHandler} that supports the given return type.
  */
 private HandlerMethodReturnValueHandler getReturnValueHandler(MethodParameter returnType) {
   HandlerMethodReturnValueHandler result = this.returnValueHandlerCache.get(returnType);
   if (result == null) {
     for (HandlerMethodReturnValueHandler returnValueHandler : returnValueHandlers) {
       if (logger.isTraceEnabled()) {
         logger.trace(
             "Testing if return value handler ["
                 + returnValueHandler
                 + "] supports ["
                 + returnType.getGenericParameterType()
                 + "]");
       }
       if (returnValueHandler.supportsReturnType(returnType)) {
         result = returnValueHandler;
         this.returnValueHandlerCache.put(returnType, returnValueHandler);
         break;
       }
     }
   }
   return result;
 }