@Override
  public int hashCode() {
    int result = 1;

    result = 31 * result + (this.int1 == null ? 0 : this.int1.hashCode());
    result = 31 * result + (this.tinyint1 == null ? 0 : this.tinyint1.hashCode());
    result = 31 * result + (this.smallint1 == null ? 0 : this.smallint1.hashCode());
    result = 31 * result + (this.bigint1 == null ? 0 : this.bigint1.hashCode());
    result = 31 * result + (this.boolean1 == null ? 0 : this.boolean1.hashCode());
    result = 31 * result + (this.double1 == null ? 0 : this.double1.hashCode());
    result = 31 * result + (this.string1 == null ? 0 : this.string1.hashCode());
    result = 31 * result + (this.record == null ? 0 : this.record.hashCode());
    result = 31 * result + (this.list1 == null ? 0 : this.list1.hashCode());
    result = 31 * result + (this.map1 == null ? 0 : this.map1.hashCode());
    result = 31 * result + (this.enum1 == null ? 0 : this.enum1.hashCode());
    result = 31 * result + (this.nullableint == null ? 0 : this.nullableint.hashCode());
    result = 31 * result + (this.bytes1 == null ? 0 : Arrays.hashCode(this.bytes1));
    result = 31 * result + (this.container1 == null ? 0 : this.container1.hashCode());
    result = 31 * result + (this.innerSample == null ? 0 : this.innerSample.hashCode());

    return result;
  }
  @Override
  public boolean equals(Object obj) {
    if (obj == null) return false;
    if (getClass() != obj.getClass()) return false;

    final TestSerializerSample other = (TestSerializerSample) obj;
    return Objects.equal(this.int1, other.int1)
        && Objects.equal(this.tinyint1, other.tinyint1)
        && Objects.equal(this.smallint1, other.smallint1)
        && Objects.equal(this.bigint1, other.bigint1)
        && Objects.equal(this.boolean1, other.boolean1)
        && Objects.equal(this.double1, other.double1)
        && Objects.equal(this.string1, other.string1)
        && Objects.equal(this.record, other.record)
        && Objects.equal(this.list1, other.list1)
        && Objects.equal(this.map1, other.map1)
        && Objects.equal(this.enum1, other.enum1)
        && Objects.equal(this.nullableint, other.nullableint)
        && Arrays.equals(this.bytes1, other.bytes1)
        && Objects.equal(this.container1, other.container1)
        && Objects.equal(this.innerSample, other.innerSample);
  }