/**
* {@inheritDoc}
*/
void save(final ChangesLogWrapper logWrapper, TransactionableResourceManager txResourceManager) throws RepositoryException
{
final ItemStateChangesLog changesLog = logWrapper.getChangesLog();
// check if this workspace container is not read-only
if (readOnly && !(changesLog instanceof ReadOnlyThroughChanges))
{
throw new ReadOnlyWorkspaceException("Workspace container '" + dataContainer.getName() + "' is read-only.");
}
final ChangesLogPersister persister = new ChangesLogPersister();
// whole log will be reconstructed with persisted data
ItemStateChangesLog persistedLog;
boolean failed = true;
ConnectionMode mode = getMode(txResourceManager);
try
{
if (changesLog instanceof PlainChangesLogImpl)