public override bool Equals(object obj) { if (this == obj) { return(true); } if (!base.Equals(obj)) { return(false); } if (GetType() != obj.GetType()) { return(false); } ExpressionSortField other = (ExpressionSortField)obj; if (source == null) { if (other.source != null) { return(false); } } else { if (!source.Equals(other.source)) { return(false); } } return(true); }