/// <summary>
 /// 1-to-many identification to find the closest matches of the specific query
 /// person face from a person group or large person group.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='faceIds'>
 /// Array of query faces faceIds, created by the Face - Detect. Each of the
 /// faces are identified independently. The valid number of faceIds is between
 /// [1, 10].
 /// </param>
 /// <param name='personGroupId'>
 /// PersonGroupId of the target person group, created by PersonGroup - Create.
 /// Parameter personGroupId and largePersonGroupId should not be provided at
 /// the same time.
 /// </param>
 /// <param name='largePersonGroupId'>
 /// LargePersonGroupId of the target large person group, created by
 /// LargePersonGroup - Create. Parameter personGroupId and largePersonGroupId
 /// should not be provided at the same time.
 /// </param>
 /// <param name='maxNumOfCandidatesReturned'>
 /// The range of maxNumOfCandidatesReturned is between 1 and 5 (default is 1).
 /// </param>
 /// <param name='confidenceThreshold'>
 /// Confidence threshold of identification, used to judge whether one face
 /// belong to one person. The range of confidenceThreshold is [0, 1] (default
 /// specified by algorithm).
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <IList <IdentifyResult> > IdentifyAsync(this IFaceOperations operations, IList <System.Guid> faceIds, string personGroupId = default(string), string largePersonGroupId = default(string), int?maxNumOfCandidatesReturned = 1, double?confidenceThreshold = default(double?), CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.IdentifyWithHttpMessagesAsync(faceIds, personGroupId, largePersonGroupId, maxNumOfCandidatesReturned, confidenceThreshold, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }