/// <inheritdoc />
        public override int GetHashCode()
        {
            if (ServerName != null)
            {
                return(ProviderInvariantName.GetHashCode() ^ ServerName.GetHashCode());
            }

            return(ProviderInvariantName.GetHashCode());
        }
        public override bool Equals(object obj)
        {
            var otherKey = obj as ExecutionStrategyKey;

            if (ReferenceEquals(otherKey, null))
            {
                return(false);
            }

            return(ProviderInvariantName.Equals(otherKey.ProviderInvariantName, StringComparison.Ordinal) &&
                   ServerName.Equals(otherKey.ServerName, StringComparison.Ordinal));
        }