for (WritableDataSource source : dataSourcesAffected)
source.startTransaction();
for (NewObject newObject : newObjects) {
WritableDataSource source = ((WritableDataSource) DataSourceManager.getSourceByPrototype((Persistable)newObject.object.getPrototype()));
addAffectedSource(source);
NewObjectPersister persister = source.recordNewObject(newObject.object);
newObject.object.getId().persistIfNeeded(persister);
if(newObject.object instanceof PersistableObject)
((PersistableObject)newObject.object).lastModified = Transaction.currentTransaction().getTransactionTime();
else
((PersistableArray)newObject.object).lastModified = Transaction.currentTransaction().getTransactionTime();