@Override protected <T> T createToInstance(Object from, Class<T> toClass) throws InstantiationException, IllegalAccessException, SecurityException, NoSuchMethodException { // figure out the pre-enhanced class Class<T> actualClass = UnEnhancer.getActualClass(from); Class<T> targetClass = chooseClass(actualClass, toClass); return newInstanceAsPrivileged(targetClass); }
@Override protected <T> T replicate(T from) { return super.replicate(UnEnhancer.unenhanceObject(from)); }
@Override public <V, T> T replicateBean(V from, Class<T> toClass) { return super.replicateBean(UnEnhancer.unenhanceObject(from), toClass, from); }