/// <summary>
 /// Test explicitly required complex object. Please put a valid class-wrapper
 /// with 'value' = null and the client library should throw before the request
 /// is sent.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='value'>
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <Error> PostRequiredClassPropertyAsync(this IExplicitModel operations, Product value, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.PostRequiredClassPropertyWithHttpMessagesAsync(value, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
        /// <summary>
        /// Test explicitly required complex object. Please put a valid class-wrapper
        /// with 'value' = null and the client library should throw before the
        /// request is sent.
        /// </summary>
        /// <param name='operations'>
        /// The operations group for this extension method.
        /// </param>
        /// <param name='bodyParameter'>
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        public static async Task <Error> PostRequiredClassPropertyAsync(this IExplicitModel operations, ClassWrapper bodyParameter, CancellationToken cancellationToken = default(CancellationToken))
        {
            HttpOperationResponse <Error> result = await operations.PostRequiredClassPropertyWithHttpMessagesAsync(bodyParameter, null, cancellationToken).ConfigureAwait(false);

            return(result.Body);
        }