/// <summary>
        ///     Gets a Redmine object. This method does not block the calling thread.
        /// </summary>
        /// <typeparam name="T">The type of objects to retrieve.</typeparam>
        /// <param name="redmineManager">The redmine manager.</param>
        /// <param name="id">The id of the object.</param>
        /// <param name="parameters">Optional filters and/or optional fetched data.</param>
        /// <returns></returns>
        public static async Task <T> GetObjectAsync <T>(this RedmineManager redmineManager, string id, NameValueCollection parameters)
            where T : class, new()
        {
            var uri = UrlHelper.GetGetUrl <T>(redmineManager, id);

            return(await WebApiAsyncHelper.ExecuteDownload <T>(redmineManager, uri, parameters).ConfigureAwait(false));
        }
        /// <summary>
        ///     Gets the wiki page asynchronous.
        /// </summary>
        /// <param name="redmineManager">The redmine manager.</param>
        /// <param name="projectId">The project identifier.</param>
        /// <param name="parameters">The parameters.</param>
        /// <param name="pageName">Name of the page.</param>
        /// <param name="version">The version.</param>
        /// <returns></returns>
        public static async Task <WikiPage> GetWikiPageAsync(this RedmineManager redmineManager, string projectId,
                                                             NameValueCollection parameters, string pageName, uint version = 0)
        {
            var uri = UrlHelper.GetWikiPageUrl(redmineManager, projectId, parameters, pageName, version);

            return(await WebApiAsyncHelper.ExecuteDownload <WikiPage>(redmineManager, uri, "GetWikiPageAsync", parameters));
        }
        /// <summary>
        ///     Gets the current user asynchronous.
        /// </summary>
        /// <param name="redmineManager">The redmine manager.</param>
        /// <param name="parameters">The parameters.</param>
        /// <returns></returns>
        public static async Task <User> GetCurrentUserAsync(this RedmineManager redmineManager, NameValueCollection parameters = null)
        {
            var uri = UrlHelper.GetCurrentUserUrl(redmineManager);

            return(await WebApiAsyncHelper.ExecuteDownload <User>(redmineManager, uri, parameters).ConfigureAwait(false));
        }