public int CompareTo(object obj) { if (obj == null) { return 1; } Phrase P = obj as Phrase; if (P != null) { return value.CompareTo(P.value); } else { throw new ArgumentException("Object is not a Phrase"); } }