internal Task <User> GetCurrentUserAsync()
 {
     return(callWithSharedClient(
                async(client) =>
                await OperatorCallWrapper.Call(
                    () =>
                    CommonOperator.SearchCurrentUserAsync(client))));
 }
 internal Task <IEnumerable <MergeRequest> > SearchMergeRequestsAsync(
     SearchCriteria searchCriteria, int?maxResults, bool onlyOpen)
 {
     return(callWithSharedClient(
                async(client) =>
                await OperatorCallWrapper.Call(
                    () =>
                    CommonOperator.SearchMergeRequestsAsync(client, searchCriteria, maxResults, onlyOpen))));
 }
        async internal Task <IEnumerable <MergeRequest> > SearchMergeRequestsAsync(
            SearchCriteria searchCriteria, int?maxResults, bool onlyOpen)
        {
            List <MergeRequest> mergeRequests = new List <MergeRequest>();

            foreach (object search in searchCriteria.Criteria)
            {
                mergeRequests.AddRange(
                    await callWithSharedClient(
                        async(client) =>
                        await OperatorCallWrapper.Call(
                            async() =>
                            await CommonOperator.SearchMergeRequestsAsync(client, searchCriteria, maxResults, onlyOpen))));
            }
            return(mergeRequests);
        }