*/
private DataType doUpdate(DataType toUpdate, CascadeType cascade, Map<String, Object> treeMap) {
boolean generatesId = strategy.isIdGenerationRequired() ? (CascadeType.PERSIST == cascade) : false;
String objectVertexId = getIdVertexId(toUpdate, generatesId);
Class<? extends Object> toUpdateClass = toUpdate.getClass();
Vertex objectVertex = loadVertexFor(objectVertexId, toUpdateClass.getName());
Map<Property, Collection<CascadeType>> containedProperties = strategy.getContainedProperties(toUpdate, objectVertex, cascade);
return (DataType) persister.performUpdate(this, objectVertexId, objectVertex, toUpdateClass, containedProperties, toUpdate, cascade,
treeMap);
}