public override bool Equals(object obj) { if (this == obj) return true; UnaryExpression ue = obj as UnaryExpression; return ue != null && this.Operation == ue.Operation && ue.Source.Equals(this.Source); }