public void ProcessMetadata(ResponseMetadata metadata) { metadata.ThrowIfNull(nameof(metadata)); if (metadata.OptionalData.TryGetValue(nameof(TmdbServiceConfiguration), out IOptionalData? optionalData)) { if (optionalData is null) { throw new InvalidOperationException($"{nameof(optionalData)} cannot be null."); } if (!TmdbServiceConfiguration.HasValue) { var tmdbServiceConfig = (TmdbServiceConfigurationInfo)optionalData; TmdbServiceConfiguration.SetServiceConfigurationAnyway(tmdbServiceConfig); } } }