boolean (ArrayData that) { if (that == null) return false; if (this == that) return true; boolean this_present_rows = true; boolean that_present_rows = true; if (this_present_rows || that_present_rows) { if (!(this_present_rows && that_present_rows)) return false; if (this.rows != that.rows) return false; } boolean this_present_cols = true; boolean that_present_cols = true; if (this_present_cols || that_present_cols) { if (!(this_present_cols && that_present_cols)) return false; if (this.cols != that.cols) return false; } boolean this_present_data = true && this.isSetData(); boolean that_present_data = true && that.isSetData(); if (this_present_data || that_present_data) { if (!(this_present_data && that_present_data)) return false; if (!this.data.equals(that.data)) return false; } return true; }