int toDeleteIndex = ((Integer)indexsToDelete.get(m)).intValue();
SDODataObject nextToDelete = (SDODataObject)toDelete.get(m);
lw.add(toDeleteIndex, nextToDelete);
}
nextCS.setPropertyInternal(nextModifiedDO, nextProp, lw);
SDOSequence nextSeq = ((SDOSequence)nextCS.getOriginalSequences().get(nextModifiedDO));
nextCS.resumeLogging();
nextModifiedDO._setModified(true);
for (int m = indexsToDelete.size() - 1; m >= 0; m--) {
int toDeleteIndex = ((Integer)indexsToDelete.get(m)).intValue();
SDODataObject nextToDelete = (SDODataObject)toDelete.get(m);
if(nextSeq != null){
nextSeq.addSettingWithoutModifyingDataObject(-1, nextProp, nextToDelete);
}
nextToDelete.resetChanges();
lw.remove(toDeleteIndex);
}
}
nextCS.getOriginalElements().put(lw, newList);
} else {
SDODataObject value = (SDODataObject)unmarshalledDO.getDataObject(nextProp);
if (value != null) {
String sdoRef = value._getSdoRef();
if (sdoRef != null) {
//modified
nextModifiedDO._setModified(true);
} else {
//deleted
value._setChangeSummary(nextCS);
nextModifiedDO._setModified(true);
nextCS.pauseLogging();
boolean wasSet = nextModifiedDO.isSet(nextProp);
Object existingValue = nextModifiedDO.get(nextProp);
// grab index of nextProp's Setting for use during setting below
Sequence nextModifiedDOSequence = nextModifiedDO.getSequence();
int settingIdx = -1;
if (nextModifiedDOSequence != null) {
settingIdx = ((SDOSequence)nextModifiedDOSequence).getIndexForProperty(nextProp);
}
value._setContainmentPropertyName(null);
value._setContainer(null);
nextModifiedDO.set(nextProp, value);
nextCS.setPropertyInternal(nextModifiedDO, nextProp, value);
SDOSequence nextSeq = ((SDOSequence)nextCS.getOriginalSequences().get(nextModifiedDO));
if(nextSeq != null){
nextSeq.addSettingWithoutModifyingDataObject(-1, nextProp, value);
}
nextCS.resumeLogging();
nextModifiedDO._setModified(true);