public Object copyTo(ObjectLocator locator, Object target, CopyStrategy2 strategy) {
final Object draftCopy = ((target == null)?createNewInstance():target);
super.copyTo(locator, draftCopy, strategy);
if (draftCopy instanceof UserNamespaceAuthorizationChangeNotificationEvent) {
final UserNamespaceAuthorizationChangeNotificationEvent copy = ((UserNamespaceAuthorizationChangeNotificationEvent) draftCopy);
{
Boolean userNamespaceAuthorizationKeyShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, (this.userNamespaceAuthorizationKey!= null));
if (userNamespaceAuthorizationKeyShouldBeCopiedAndSet == Boolean.TRUE) {
UserNamespaceAuthorizationKey sourceUserNamespaceAuthorizationKey;
sourceUserNamespaceAuthorizationKey = this.getUserNamespaceAuthorizationKey();
UserNamespaceAuthorizationKey copyUserNamespaceAuthorizationKey = ((UserNamespaceAuthorizationKey) strategy.copy(LocatorUtils.property(locator, "userNamespaceAuthorizationKey", sourceUserNamespaceAuthorizationKey), sourceUserNamespaceAuthorizationKey, (this.userNamespaceAuthorizationKey!= null)));
copy.setUserNamespaceAuthorizationKey(copyUserNamespaceAuthorizationKey);
} else {
if (userNamespaceAuthorizationKeyShouldBeCopiedAndSet == Boolean.FALSE) {
copy.userNamespaceAuthorizationKey = null;
}
}
}
}
return draftCopy;
}