/// <summary>
        /// Configures a cache backplane for the cache manager.
        /// The <paramref name="redisConfigurationKey"/> is used to find a matching redis configuration.
        /// <para>
        /// If a backplane is defined, at least one cache handle must be marked as backplane
        /// source. The cache manager then will try to synchronize multiple instances of the same configuration.
        /// </para>
        /// </summary>
        /// <param name="part">The builder instance.</param>
        /// <param name="redisConfigurationKey">
        /// The redis configuration key will be used to find a matching redis connection configuration.
        /// </param>
        /// <param name="channelName">The pub sub channel name the backplane should use.</param>
        /// <returns>The builder instance.</returns>
        /// <exception cref="ArgumentNullException">Thrown if <paramref name="redisConfigurationKey"/> is null.</exception>
        public static ConfigurationBuilderCachePart WithRedisBackplane(this ConfigurationBuilderCachePart part, string redisConfigurationKey, string channelName)
        {
            NotNull(part, nameof(part));

            return(part.WithBackplane(typeof(RedisCacheBackplane), redisConfigurationKey, channelName));
        }