/// <summary>
        ///     Possible since 5.7
        ///     Search for issues, with a CQL (e.g. from a filter) see
        ///     <a href="https://docs.atlassian.com/confluence/REST/latest/#d2e4539">here</a>
        /// </summary>
        /// <param name="confluenceClient">IContentDomain to bind the extension method to</param>
        /// <param name="cqlClause">Confluence Query Language, like SQL, for the search</param>
        /// <param name="cqlContext">
        ///     the execution context for CQL functions, provides current space key and content id. If this is
        ///     not provided some CQL functions will not be available.
        /// </param>
        /// <param name="pagingInformation">PagingInformation</param>
        /// <param name="expandSearch">The expand value for the search, when null the value from the ConfluenceClientConfig.ExpandSearch is taken</param>
        /// <param name="cancellationToken">CancellationToken</param>
        /// <returns>Result with content items</returns>
        public static Task <Result <Content> > SearchAsync(this IContentDomain confluenceClient, IFinalClause cqlClause, string cqlContext = null, PagingInformation pagingInformation = null, IEnumerable <string> expandSearch = null,
                                                           CancellationToken cancellationToken = default)
        {
            var searchDetails = new SearchDetails(cqlClause)
            {
                Start = pagingInformation?.Start,
                Limit = pagingInformation?.Limit
            };

            if (cqlContext != null)
            {
                searchDetails.CqlContext = cqlContext;
            }
            if (expandSearch != null)
            {
                searchDetails.ExpandSearch = expandSearch;
            }
            return(confluenceClient.SearchAsync(searchDetails, cancellationToken));
        }
 /// <summary>
 ///     Possible since 5.7
 ///     Search for issues, with a CQL (e.g. from a filter) see
 ///     <a href="https://docs.atlassian.com/confluence/REST/latest/#d2e4539">here</a>
 /// </summary>
 /// <param name="confluenceClient">IContentDomain to bind the extension method to</param>
 /// <param name="cqlClause">Confluence Query Language clause, created via Where</param>
 /// <param name="cqlContext">
 ///     the execution context for CQL functions, provides current space key and content id. If this is
 ///     not provided some CQL functions will not be available.
 /// </param>
 /// <param name="limit">Maximum number of results returned, default is 20</param>
 /// <param name="expandSearch">The expand value for the search, when null the value from the ConfluenceClientConfig.ExpandSearch is taken</param>
 /// <param name="cancellationToken">CancellationToken</param>
 /// <returns>Result with content items</returns>
 public static Task <Result <Content> > SearchAsync(this IContentDomain confluenceClient, IFinalClause cqlClause, string cqlContext = null, int limit = 20, IEnumerable <string> expandSearch = null, CancellationToken cancellationToken = default)
 {
     return(confluenceClient.SearchAsync(cqlClause.ToString(), cqlContext, limit, expandSearch, cancellationToken));
 }