SDOProperty seqProperty = null;
try {
List settings = origSequence.getSettings();
for (int index = 0, size = origSequence.size(); index < size; index++) {
Setting nextSetting = (Setting)settings.get(index);
seqProperty = origSequence.getProperty(nextSetting);
if ((null == seqProperty) || seqProperty.getType().isDataType()) {
Setting copySetting = nextSetting.copy(copy);
copySequence.getSettings().add(copySetting);
copySequence.addValueToSettings(copySetting);
} else {
Object copySeqValue = null;
Object origSeqValue = origSequence.getValue(index);
if (cs != null) {
Object orig = cs.getReverseDeletedMap().get(origSeqValue);
if (orig != null) {
origSeqValue = orig;
}
}
if (origSeqValue instanceof XMLRoot) {
origSeqValue = ((XMLRoot)origSeqValue).getObject();
}
// lookup copy if not null, if null then the copySeqValue will be null in the reduced scope assignment above
if (null != origSeqValue) {
copySeqValue = doMap.get(origSeqValue);
} else {
// as a secondary verification to the assignment above - make sure the copy is null as well
copySeqValue = null;// this assignment is however redundant in our reduced scope assignment above
}
//now we have the new value
Setting copySetting = nextSetting.copy(copy, copySeqValue);
copySequence.getSettings().add(copySetting);
copySequence.addValueToSettings(copySetting);
}
/**