// Caches all of the resource-metadata associated with resources for a specific media type.
        public override void Configure()
        {
            foreach (IResourceMap resourceMap in ResourceMappings)
            {
                if (resourceMap.MediaType == null)
                {
                    throw new InvalidOperationException(
                              $"The resource map of type: {resourceMap.GetType()} didn't specify the media-type.");
                }

                // Create an entry for the media-type name.  Each media-type will have a single entry.
                if (!_mediaResourceTypeMeta.TryGetValue(resourceMap.MediaType, out MediaTypeEntry mediaTypeEntry))
                {
                    IResourceProvider provider = CreateProvider(resourceMap);

                    mediaTypeEntry = new MediaTypeEntry(resourceMap.MediaType, provider);
                    _mediaResourceTypeMeta[mediaTypeEntry.MediaType] = mediaTypeEntry;
                }

                // Add the configured resource metadata to the media-type entry.
                resourceMap.BuildMap();

                foreach (IResourceMeta resourceMeta in resourceMap.ResourceMeta)
                {
                    mediaTypeEntry.AddResourceMeta(resourceMeta);
                }
            }
        }
        // Caches all of the resource-metadata associated with resources for a specific media type.
        public override void Configure()
        {
            foreach (IResourceMap resourceMap in ResourceMappings)
            {
                // Create an entry for the media-type name.  Each media-type will have a single entry.
                if (!_mediaResourceTypeMeta.TryGetValue(resourceMap.MediaType, out MediaTypeEntry mediaTypeEntry))
                {
                    IResourceProvider provider = CreateProvider(resourceMap);

                    mediaTypeEntry = new MediaTypeEntry(resourceMap.MediaType, provider);
                    _mediaResourceTypeMeta[mediaTypeEntry.MediaType] = mediaTypeEntry;
                }

                // Build the mapping.
                resourceMap.BuildMap();

                foreach (IResourceMeta resourceMeta in resourceMap.ResourceMeta)
                {
                    mediaTypeEntry.AddResourceMeta(resourceMeta);
                }
            }
        }