@Override
public Object clone () {
try {
return BeanUtils.cloneBean(this);
} catch (IllegalAccessException illegalAccessException) {
throw new CloneFailedException("Illegal access exception thrown",
illegalAccessException);
} catch (InstantiationException instantiationException) {
throw new CloneFailedException("Failed to instantiate the class.",
instantiationException);
} catch (InvocationTargetException invocationTargetException) {
throw new CloneFailedException(
"Invocation target exception thrown.",
invocationTargetException);
} catch (NoSuchMethodException noSuchMethodException) {
throw new CloneFailedException(
"No such method exception thrown.", noSuchMethodException);
}
}