public virtual int Compare(IServiceObject a, IServiceObject b) { // default implementation: string compare string textA = (a == null) ? "" : a.GetText(ID); string textB = (b == null) ? "" : b.GetText(ID); if (textA == null) textA = ""; if (textB == null) textB = ""; return textA.CompareTo(textB); }