public async Task <Stream> GetImage(Guid referenceId, string imageExtension)
        {
            await((IAsyncInitialization)_configManager).Initialization;
            var folderPath = Path.Combine(_configManager.CacheLocation, referenceId.ToString());

            if (Directory.Exists(folderPath))
            {
                var imagePath = folderPath + $@"\Source" + imageExtension;
                if (!File.Exists(imagePath))
                {
                    return(null);
                }
                using (var file = File.OpenRead(imagePath))
                {
                    var encryptedData = new byte[file.Length];
                    await file.ReadAsync(encryptedData, 0, (int)file.Length);

                    return(new MemoryStream(EncryptionLibrary.DecryptData(encryptedData, EncryptionConfig.AesKey, EncryptionConfig.HmacKey)));
                }
            }

            throw new Exception("Image not found");
        }