try {
Constructor constructor = getAspectsCopyConstructor();
constructor.setAccessible(true);
return (Aspects) constructor.newInstance(new Object[]{aspects});
} catch (SecurityException e) {
throw new PicoInitializationException("security exception copying dynaop.Aspects", e);
} catch (IllegalArgumentException e) {
throw new PicoInitializationException("illegal argument passed to dynaop.Aspects copy constructor", e);
} catch (InstantiationException e) {
throw new PicoInitializationException("error instantiating dynaop.Aspects copy constructor object", e);
} catch (IllegalAccessException e) {
throw new PicoInitializationException("illegal access exception while trying to make dynaop.Aspects copy constructor accessible", e);
} catch (InvocationTargetException e) {
throw new PicoInitializationException("dynaop.Aspects copy constructor threw an exception", e);
}
}