if (link instanceof ORID) {
if (((ORID) link).isValid() && ((ORID) link).isNew()) {
final ODatabaseRecord database = ODatabaseRecordThreadLocal.INSTANCE.get();
ORecord record = link.getRecord();
database.save(record);
return record;
}
} else if (link instanceof ORecord) {
ORID rid = link.getIdentity();
if (((ORecord) link).isDirty() || (rid.isTemporary())) {