boolean (final Object o) { if (o == this) return true; if (!(o instanceof DataExtendsRecursive)) return false; final DataExtendsRecursive other = (DataExtendsRecursive) o; if (!other.canEqual((Object) this)) return false; if (this.getSomeInt() != other.getSomeInt()) return false; final Object this$someString = this.getSomeString(); final Object other$someString = other.getSomeString(); if (this$someString == null ? other$someString != null : !this$someString.equals(other$someString)) return false; final Object this$someDate = this.getSomeDate(); final Object other$someDate = other.getSomeDate(); if (this$someDate == null ? other$someDate != null : !this$someDate.equals(other$someDate)) return false; return true; }