public int CompareTo(ToStringWrapper <T> other) { if (item is IComparable <T> ) { return((item as IComparable <T>).CompareTo(other.item)); } else { return(StringUtility.NaturalCompare(ToString(), other.ToString())); } }