public int CompareTo(BufferStreamKey other) { if (ReferenceEquals(this, other)) { return(0); } if (ReferenceEquals(null, other)) { return(1); } var keyComparison = Key.CompareTo(other.Key); if (keyComparison != 0) { return(keyComparison); } var encodingComparison = Encoding.CompareTo(other.Encoding); if (encodingComparison != 0) { return(encodingComparison); } return(Dimensions.CompareTo(other.Dimensions)); }