/// <summary>
        /// Reads a file with the given file-identifier. The method can alter the Download-Name and set the fileContent
        /// </summary>
        /// <param name="fileIdentifier">the identifier of the file</param>
        /// <param name="downloadingIdentity">the identity that is downloading the requested file</param>
        /// <param name="downloadName">the download-name of the file</param>
        /// <param name="contentType">the content-type that is set in the result-header</param>
        /// <param name="fileDownload">indicates whether the provided file should be served as file-download or as embeddable file-result</param>
        /// <param name="fileContent">the content of the file</param>
        /// <returns>a value indicating whether the file was found</returns>
        public bool ReadFile(string fileIdentifier, IIdentity downloadingIdentity, ref string downloadName, ref string contentType,
                             ref bool fileDownload, out byte[] fileContent)
        {
            int    colon      = fileIdentifier.IndexOf(":");
            string fileType   = colon != -1 ? fileIdentifier.Substring(0, colon) : fileIdentifier;
            var    filterDic  = colon != -1 ? ReadFilterDic(fileIdentifier.Substring(colon + 1)) : new Dictionary <string, int>();
            object desc       = handler.DescribeConfig(fileType, filterDic, out var name);
            var    descString = JsonHelper.ToJsonStrongTyped(desc);

            fileContent  = Encoding.UTF8.GetBytes(descString);
            downloadName = $"{name}.json";
            contentType  = "application/json";
            fileDownload = true;
            return(true);
        }