public override bool Equals(object obj) { var other = obj as Record; if (other == null) return false; return _version.Equals(other._version) && _status == other.Status && _observer.Equals(other._observer) && _subject.Equals(other._subject); }