IllegalAccessException, InvocationTargetException, NoSuchMethodException, InstantiationException {
IllegalAccessException, NoSuchMethodException, InstantiationException {
    public Collection run(List<ObjectChange> changes) throws ExcepcaoPersistencia, ClassNotFoundException,            IllegalAccessException, InvocationTargetException, NoSuchMethodException, InstantiationException {        beforeRun(changes);                Hashtable<ObjectKey, Object> objects = new Hashtable<ObjectKey, Object>();        for (ObjectChange change : changes) {            Object object = getObject(objects, change);            processChange(change, object);        }                afterRun(objects.values());                return objects.values();    }