}
public void save(CompositeChangesLog changesLog) throws RepositoryException, InvalidItemStateException
{
ChangesLogIterator logIterator = changesLog.getLogIterator();
boolean saveVersions = false;
TransactionChangesLog versionLog = new TransactionChangesLog();
boolean saveNonVersions = false;
TransactionChangesLog nonVersionLog = new TransactionChangesLog();
while (logIterator.hasNextLog())
{
List<ItemState> vstates = new ArrayList<ItemState>();
List<ItemState> nvstates = new ArrayList<ItemState>();
PlainChangesLog changes = logIterator.nextLog();
for (ItemState change : changes.getAllStates())
{
if (isSystemDescendant(change.getData().getQPath()) && !this.equals(versionDataManager))
vstates.add(change);
else