public override int GetHashCode()
        {
            var hashCode = NonLiteralState.GetHashCode();

            foreach (var literal in LiteralValues.OrderBy(s => s))
            {
                hashCode = HashUtilities.Combine(hashCode, literal.GetHashCode());
            }

            return(hashCode);
        }
 /// <summary>
 /// Returns a string representation of <see cref="StringContentsState"/>.
 /// </summary>
 public override string ToString() =>
 string.Format(CultureInfo.InvariantCulture, "L({0}) NL:{1}", LiteralValues.Count, NonLiteralState.ToString()[0]);