docs: function check(log, validity, req, res, type, full, finalValidator, callback) {
    var validator, v;
  
    log.info.call(log, 'deserializing and validating request body', {
      serializerType: type,
      full: full,
      finalValidator: finalValidator ? true : false
    });
  
    if (!req.body) {
      callback(new Error('Empty Request Body'));
      return;
    }
  
    if (!validity.hasOwnProperty(type)) {
      throw new Error('Unrecognized type: ' + type);
    }
  
    v = new Valve(validity[type]);
  
    if (req.ctx) {
      req.ctx.setValve(v);
    }
  
    if (finalValidator) {
      v.addFinalValidator(finalValidator);
    }
  
    v.baton = {req: req};
    validator = full ? v.check : v.checkPartial;
  
    validator.call(v, req.body, function(err, cleaned) {
      if (err) {
        log.debug.call(log, 'validation_check (error)', {request: req, body: req.body});
        callback(err);
        return;
      }
  
      log.debug.call(log, 'validation_check (success)', {request: req, cleaned: cleaned});
      callback(null, cleaned);
    });
  }