Session session = ((SDOXMLHelper)((SDOTypeHelper)typeHelper).getHelperContext().getXMLHelper()).getXmlContext().getSession(0);
row.setSession((AbstractSession) session);
//Iterate through SDOSettings for the current modified Object
SDOSetting nextSetting = null;
for (int j = 0; j < nextDOSettings.size(); j++) {
nextSetting = (SDOSetting)nextDOSettings.get(j);
if (nextSetting.isSet()) {
if (!nextSetting.getProperty().getType().isDataType()) {
if (nextSetting.getProperty().isMany()) {
List values = (List)nextSetting.getValue();
for (int k = 0; k < values.size(); k++) {
doMarshal((SDOProperty)nextSetting.getProperty(), (DataObject)values.get(k),//
changeSummary, csNode, nextModifiedDO, deletedXPaths, xpathToCS, sdoPrefix, rootElementName);
}
} else {
doMarshal((SDOProperty)nextSetting.getProperty(), (DataObject)nextSetting.getValue(),//
changeSummary, csNode, nextModifiedDO, deletedXPaths, xpathToCS, sdoPrefix, rootElementName);
}
} else {
//This writes out simple values
Object value = nextSetting.getValue();
if (value == null) {
//Marshal out xsi:nil=true
marshalNilAttribute((SDOProperty)nextSetting.getProperty(), row);
} else {
String xPath = getXPathForProperty((SDOProperty)nextSetting.getProperty());
XMLField field = new XMLField(xPath);
field.setNamespaceResolver(((SDOTypeHelper)typeHelper).getNamespaceResolver());
row.put(field, value);
}
}