public override bool Equals(object obj) { ComplexType that = obj as ComplexType; if (that == null) { return(false); } return ((this.integer == that.integer) && (this.real == that.real) && (this.e == that.e) && (this.E == that.E) && (this._ == that._) && (this.zero == that.zero) && (this.one == that.one) && (this.space == that.space) && (this.quote == that.quote) && (this.backslash == that.backslash) && (this.controls == that.controls) && (this.slash == that.slash) && (this.alpha == that.alpha) && (this.ALPHA == that.ALPHA) && (this.digit == that.digit) && (this._0123456789 == that._0123456789) && (this.special == that.special) && (this.hex == that.hex) && (this.@true == that.@true) && (this.@false == that.@false) && (this.@null == that.@null) && ComplexType.ArraysEqual(this.array, that.array) && ComplexType.DictionaryEqual((IDictionary <string, object>) this.@object, (IDictionary <string, object>)that.@object) && (this.address == that.address) && (this.url == that.url) && (this.comment == that.comment) && (this.Comments == that.Comments) && ComplexType.ArraysEqual(this.spaced, that.spaced) && ComplexType.ArraysEqual(this.compact, that.compact) && (this.jsontext == that.jsontext) && (this.quotes == that.quotes) && (this.A_key_can_be_any_string == that.A_key_can_be_any_string)); }