public ParameterAnalyzerFactory(
     IHeaderParameterMatcher headerParameterMatcher,
     IQueryStringParameterMatcher queryStringParameterMatcher,
     IBodyParameterMatcher bodyParameterMatcher,
     IPathParameterMatcherFactory parameterMatcherFactory
     )
 {
     _parameterMatcherFactory     = parameterMatcherFactory ?? throw new ArgumentNullException(nameof(parameterMatcherFactory));
     _bodyParameterMatcher        = bodyParameterMatcher ?? throw new ArgumentNullException(nameof(bodyParameterMatcher));
     _queryStringParameterMatcher = queryStringParameterMatcher ?? throw new ArgumentNullException(nameof(queryStringParameterMatcher));
     _headerParameterMatcher      = headerParameterMatcher ?? throw new ArgumentNullException(nameof(headerParameterMatcher));
 }
 public ParameterAnalyzer(
     OperationInfo opetionInfo,
     ParameterInfo parameter,
     IHeaderParameterMatcher headerParameterMatcher,
     IQueryStringParameterMatcher queryStringParameterMatcher,
     IBodyParameterMatcher bodyParameterMatcher,
     IPathParameterMatcherFactory pathParameterMatcherFactory)
 {
     _pathParameterMatcherFactory = pathParameterMatcherFactory ?? throw new ArgumentNullException(nameof(pathParameterMatcherFactory));
     _bodyParameterMatcher        = bodyParameterMatcher ?? throw new ArgumentNullException(nameof(bodyParameterMatcher));
     _queryStringParameterMatcher = queryStringParameterMatcher ?? throw new ArgumentNullException(nameof(queryStringParameterMatcher));
     _headerParameterMatcher      = headerParameterMatcher ?? throw new ArgumentNullException(nameof(headerParameterMatcher));
     _operation = opetionInfo ?? throw new ArgumentNullException(nameof(opetionInfo));
     _parameter = parameter ?? throw new ArgumentNullException(nameof(parameter));
 }