/// <inheritdoc/>
        public async Task <IImageResolver> GetAsync(string key)
        {
            string path = this.ToFilePath(key);

            IFileInfo metaFileInfo = this.fileProvider.GetFileInfo(this.ToMetaDataFilePath(path));

            if (!metaFileInfo.Exists)
            {
                return(null);
            }

            ImageMetaData metadata = default;

            using (Stream stream = metaFileInfo.CreateReadStream())
            {
                metadata = await ImageMetaData.ReadAsync(stream).ConfigureAwait(false);
            }

            IFileInfo fileInfo = this.fileProvider.GetFileInfo(this.ToImageFilePath(path, metadata));

            // Check to see if the file exists.
            if (!fileInfo.Exists)
            {
                return(null);
            }

            return(new PhysicalFileSystemResolver(fileInfo, metadata));
        }