code: function validateParameters (api, path, pathId, operation, operationId) {
    var pathParams = path.parameters || [];
    var operationParams = operation.parameters || [];
  
    // Check for duplicate path parameters
    try {
      checkForDuplicates(pathParams);
    }
    catch (e) {
      throw ono.syntax(e, "Validation failed. %s has duplicate parameters", pathId);
    }
  
    // Check for duplicate operation parameters
    try {
      checkForDuplicates(operationParams);
    }
    catch (e) {
      throw ono.syntax(e, "Validation failed. %s has duplicate parameters", operationId);
    }
  
    // Combine the path and operation parameters,
    // with the operation params taking precedence over the path params
    var params = pathParams.reduce(function (combinedParams, value) {
      var duplicate = combinedParams.some(function (param) {
        return param.in === value.in && param.name === value.name;
      });
      if (!duplicate) {
        combinedParams.push(value);
      }
      return combinedParams;
    }, operationParams.slice());
  
    validateBodyParameters(params, operationId);
    validatePathParameters(params, pathId, operationId);
    validateParameterTypes(params, api, operation, operationId);
  }
docs: Validates the parameters for the given operation.
  
  @param {SwaggerObject} api           - The entire Swagger API object
  @param {object}        path          - A Path object, from the Swagger API
  @param {string}        pathId        - A value that uniquely identifies the path
  @param {object}        operation     - An Operation object, from the Swagger API
  @param {string}        operationId   - A value that uniquely identifies the operation