public int CompareTo(object obj) { Variable v = (Variable)obj; if(this.id.GetType().Equals(v.id.GetType())) { return this.id.CompareTo(v.id); } return this.id.GetType().GUID.CompareTo(v.id.GetType().GUID); }