anchor.diff:  
   class _HTTPControllerCachedMethod {
     Symbol methodSymbol;
  -  List<String> orderedPathParameters = [];
  +  List<_HTTPControllerCachedParameter> orderedPathParameters = [];
  +}
  +
  +class _HTTPControllerCachedParameter {
  +  String name;
  +  TypeMirror typeMirror;
   }
positive.code:   }
  
    Future<Response> _process() async {
      var methodSymbol = _routeMethodSymbolForRequest(request);
      var handlerParameters = _parametersForRequest(request, methodSymbol);
  
      if (request.innerRequest.contentLength > 0) {
        if (_requestContentTypeIsSupported(request)) {
  
negative.code:             .firstWhere((attr) => attr.reflectee is HTTPMethod, orElse: () => null);
  
          if (methodAttrs != null) {
            List<_HTTPControllerCachedParameter> params = (declaration as MethodMirror)
                .parameters
                .where((pm) => !pm.isOptional)
                .map((pm) {
                  return new _HTTPControllerCachedParameter()
                      ..name = MirrorSystem.getName(pm.simpleName)
                      ..typeMirror = pm.type;
                })
                .toList();
  
            var generatedKey = _generateHandlerMethodKey((methodAttrs.reflectee as HTTPMethod).method, params.map((p) => p.name).toList());
            var cachedMethod = new _HTTPControllerCachedMethod()
              ..methodSymbol = key
              ..orderedPathParameters = params;
  