// no need to make properties of virtual nodes persistable
if (state == VIRTUAL) return;
for (Enumeration e = properties(); e.hasMoreElements();) {
String propname = (String) e.nextElement();
IProperty next = get(propname);
if (next == null || next.getType() != IProperty.NODE) {
continue;
}
// check if this property actually needs to be persisted.
Node node = (Node) next.getNodeValue();
Relation rel = null;
if (node == null || node == this) {
continue;
}
rel = dbmap == null ? null : dbmap.getExactPropertyRelation(next.getName());
if (rel != null && rel.isVirtual() && !rel.needsPersistence()) {
convertToVirtual(node);
} else {
node.makePersistable();
if (rel != null && rel.isComplexReference()) {