public Object copyTo(ObjectLocator locator, Object target, CopyStrategy strategy) {
   final Object draftCopy = ((target == null) ? createNewInstance() : target);
   if (draftCopy instanceof LandSizeType) {
     final LandSizeType copy = ((LandSizeType) draftCopy);
     if (this.value != null) {
       Long sourceValue;
       sourceValue = this.getValue();
       Long copyValue =
           ((Long)
               strategy.copy(LocatorUtils.property(locator, "value", sourceValue), sourceValue));
       copy.setValue(copyValue);
     } else {
       copy.value = null;
     }
     if (this.unit != null) {
       LandSizeUnit sourceUnit;
       sourceUnit = this.getUnit();
       LandSizeUnit copyUnit =
           ((LandSizeUnit)
               strategy.copy(LocatorUtils.property(locator, "unit", sourceUnit), sourceUnit));
       copy.setUnit(copyUnit);
     } else {
       copy.unit = null;
     }
   }
   return draftCopy;
 }
 public boolean equals(
     ObjectLocator thisLocator,
     ObjectLocator thatLocator,
     Object object,
     EqualsStrategy strategy) {
   if (!(object instanceof LandSizeType)) {
     return false;
   }
   if (this == object) {
     return true;
   }
   final LandSizeType that = ((LandSizeType) object);
   {
     Long lhsValue;
     lhsValue = this.getValue();
     Long rhsValue;
     rhsValue = that.getValue();
     if (!strategy.equals(
         LocatorUtils.property(thisLocator, "value", lhsValue),
         LocatorUtils.property(thatLocator, "value", rhsValue),
         lhsValue,
         rhsValue)) {
       return false;
     }
   }
   {
     LandSizeUnit lhsUnit;
     lhsUnit = this.getUnit();
     LandSizeUnit rhsUnit;
     rhsUnit = that.getUnit();
     if (!strategy.equals(
         LocatorUtils.property(thisLocator, "unit", lhsUnit),
         LocatorUtils.property(thatLocator, "unit", rhsUnit),
         lhsUnit,
         rhsUnit)) {
       return false;
     }
   }
   return true;
 }