T decode(final Entry e) throws LDAPPersistException { final T o; try { o = constructor.newInstance(); } catch (Throwable t) { debugException(t); if (t instanceof InvocationTargetException) { t = ((InvocationTargetException) t).getTargetException(); } throw new LDAPPersistException( ERR_OBJECT_HANDLER_ERROR_INVOKING_CONSTRUCTOR.get(type.getName(), getExceptionMessage(t)), t); } decode(o, e); return o; }