public int CompareTo(object obj) { Token token; token = obj as Token; if (token == null) throw new ArgumentException("Objects are not of the same type."); if (this.sequenceNumber < token.sequenceNumber) return -1; if (this.sequenceNumber > token.sequenceNumber) return 1; return this.id.CompareTo(token.id); }