@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);
 }