anchor.diff:    List<dynamic> orderedParametersForRequest = [];
     Map<Symbol, dynamic> optionalParametersForRequest = {};
   
  -  bool isMissingRequiredParameters;
  -  String missingParametersString;
  -
  -  _HTTPMethodParameterValues(this.methodSymbolForRequest,
  -                             this.controllerParametersForRequest,
  -                             this.orderedParametersForRequest,
  -                             this.optionalParametersForRequest,
  -                             List<String> missingQueries,
  -                             List<String> missingHeaders) {
  -    isMissingRequiredParameters = missingQueries.isNotEmpty || missingHeaders.isNotEmpty;
  -    missingParametersString = buildMissingParameterString(missingQueries, missingHeaders);
  -  }
  -
  -  String buildMissingParameterString(List<String> missingQueries, List<String> missingHeaders) {
  +  bool get isMissingRequiredParameters => _missingQueries.isNotEmpty || _missingHeaders.isNotEmpty;
  +  String get missingParametersString {
       if (!isMissingRequiredParameters) {
         return null;
       }
   
       StringBuffer missings = new StringBuffer();
  -    if (missingQueries.isNotEmpty) {
  -      var missingQueriesString = missingQueries
  +    if (_missingQueries.isNotEmpty) {
  +      var missingQueriesString = _missingQueries
             .map((p) => "'${p}'")
             .join(", ");
         missings.write("Missing query value(s): ${missingQueriesString}.");
       }
  -    if (missingQueries.isNotEmpty && missingHeaders.isNotEmpty) {
  +    if (_missingQueries.isNotEmpty && _missingHeaders.isNotEmpty) {
         missings.write(" ");
       }
  -    if (missingHeaders.isNotEmpty) {
  -      var missingHeadersString = missingHeaders
  +    if (_missingHeaders.isNotEmpty) {
  +      var missingHeadersString = _missingHeaders
             .map((p) => "'${p}'")
             .join(", ");
         missings.write("Missing header(s): ${missingHeadersString}.");
  
positive.code: 
      return missings.toString();
    }
  }
  
  class _HTTPMethodParameterTemplate {
  
negative.code:     _headerParameters = _request.innerRequest.headers;
    }
  
    void _symbolicateControllerParameterValues(_HTTPMethodParameterValues values) {
      values.controllerParametersForRequest = _symbolicateParameterValues(_controllerLevelParameters[_controller.runtimeType], values);
    }
  
    void _symbolicateOptionalParameterValues(_HTTPMethodParameterValues values) {
      var key = _generateHandlerMethodKey(_request.innerRequest.method, _request.path.orderedVariableNames);
      var method = _methodCache[_controller.runtimeType][key];
  
      var symbolizedCachedParameters = {};
      method.optionalParameters.forEach((name, param) => symbolizedCachedParameters[new Symbol(name)] = param);
      values.optionalParametersForRequest = _symbolicateParameterValues(symbolizedCachedParameters, values);
    }
  
    Map<Symbol, dynamic> _symbolicateParameterValues(Map<Symbol, _HTTPControllerCachedParameter> parameters, _HTTPMethodParameterValues values) {
      Map<Symbol, dynamic> symbolicatedParameters = {};
  
      parameters.forEach((sym, param) {
  