public void mergeFrom(
     ObjectLocator leftLocator,
     ObjectLocator rightLocator,
     Object left,
     Object right,
     MergeStrategy strategy) {
   super.mergeFrom(leftLocator, rightLocator, left, right, strategy);
   if (right instanceof AbstractCoverageType) {
     final AbstractCoverageType target = this;
     final AbstractCoverageType leftObject = ((AbstractCoverageType) left);
     final AbstractCoverageType rightObject = ((AbstractCoverageType) right);
     {
       JAXBElement<? extends DomainSetType> lhsDomainSet;
       lhsDomainSet = leftObject.getDomainSet();
       JAXBElement<? extends DomainSetType> rhsDomainSet;
       rhsDomainSet = rightObject.getDomainSet();
       target.setDomainSet(
           ((JAXBElement<? extends DomainSetType>)
               strategy.merge(
                   LocatorUtils.property(leftLocator, "domainSet", lhsDomainSet),
                   LocatorUtils.property(rightLocator, "domainSet", rhsDomainSet),
                   lhsDomainSet,
                   rhsDomainSet)));
     }
     {
       RangeSetType lhsRangeSet;
       lhsRangeSet = leftObject.getRangeSet();
       RangeSetType rhsRangeSet;
       rhsRangeSet = rightObject.getRangeSet();
       target.setRangeSet(
           ((RangeSetType)
               strategy.merge(
                   LocatorUtils.property(leftLocator, "rangeSet", lhsRangeSet),
                   LocatorUtils.property(rightLocator, "rangeSet", rhsRangeSet),
                   lhsRangeSet,
                   rhsRangeSet)));
     }
   }
 }
 public boolean equals(
     ObjectLocator thisLocator,
     ObjectLocator thatLocator,
     Object object,
     EqualsStrategy strategy) {
   if (!(object instanceof AbstractCoverageType)) {
     return false;
   }
   if (this == object) {
     return true;
   }
   if (!super.equals(thisLocator, thatLocator, object, strategy)) {
     return false;
   }
   final AbstractCoverageType that = ((AbstractCoverageType) object);
   {
     JAXBElement<? extends DomainSetType> lhsDomainSet;
     lhsDomainSet = this.getDomainSet();
     JAXBElement<? extends DomainSetType> rhsDomainSet;
     rhsDomainSet = that.getDomainSet();
     if (!strategy.equals(
         LocatorUtils.property(thisLocator, "domainSet", lhsDomainSet),
         LocatorUtils.property(thatLocator, "domainSet", rhsDomainSet),
         lhsDomainSet,
         rhsDomainSet)) {
       return false;
     }
   }
   {
     RangeSetType lhsRangeSet;
     lhsRangeSet = this.getRangeSet();
     RangeSetType rhsRangeSet;
     rhsRangeSet = that.getRangeSet();
     if (!strategy.equals(
         LocatorUtils.property(thisLocator, "rangeSet", lhsRangeSet),
         LocatorUtils.property(thatLocator, "rangeSet", rhsRangeSet),
         lhsRangeSet,
         rhsRangeSet)) {
       return false;
     }
   }
   return true;
 }