public int CompareTo(ObjectId other) { var r = Timestamp.CompareTo(other.Timestamp); if (r != 0) { return(r); } r = Machine.CompareTo(other.Machine); if (r != 0) { return(r); } r = Pid.CompareTo(other.Pid); if (r != 0) { return(r < 0 ? -1 : 1); } return(Increment.CompareTo(other.Increment)); }