public void mergeFrom(ObjectLocator leftLocator, ObjectLocator rightLocator, Object left, Object right, MergeStrategy2 strategy) {
super.mergeFrom(leftLocator, rightLocator, left, right, strategy);
if (right instanceof CapabilitiesType) {
final CapabilitiesType target = this;
final CapabilitiesType leftObject = ((CapabilitiesType) left);
final CapabilitiesType rightObject = ((CapabilitiesType) right);
{
Boolean filterCapabilitiesShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetFilterCapabilities(), rightObject.isSetFilterCapabilities());
if (filterCapabilitiesShouldBeMergedAndSet == Boolean.TRUE) {
Object lhsFilterCapabilities;
lhsFilterCapabilities = leftObject.getFilterCapabilities();
Object rhsFilterCapabilities;
rhsFilterCapabilities = rightObject.getFilterCapabilities();
Object mergedFilterCapabilities = ((Object) strategy.merge(LocatorUtils.property(leftLocator, "filterCapabilities", lhsFilterCapabilities), LocatorUtils.property(rightLocator, "filterCapabilities", rhsFilterCapabilities), lhsFilterCapabilities, rhsFilterCapabilities, leftObject.isSetFilterCapabilities(), rightObject.isSetFilterCapabilities()));
target.setFilterCapabilities(mergedFilterCapabilities);
} else {
if (filterCapabilitiesShouldBeMergedAndSet == Boolean.FALSE) {
target.filterCapabilities = null;
}
}
}
}
}