final ODocument edge = new ODocument(this, iClassName != null ? iClassName : EDGE_CLASS_NAME);
edge.field(EDGE_FIELD_OUT, iOutVertex);
edge.field(EDGE_FIELD_IN, iInVertex);
ORecordLazySet outEdges = ((ORecordLazySet) iOutVertex.field(VERTEX_FIELD_OUT_EDGES));
if (outEdges == null) {
outEdges = new ORecordLazySet(iOutVertex);
iOutVertex.field(VERTEX_FIELD_OUT_EDGES, outEdges);
}
outEdges.add(edge);
ORecordLazySet inEdges = ((ORecordLazySet) iInVertex.field(VERTEX_FIELD_IN_EDGES));
if (inEdges == null) {
inEdges = new ORecordLazySet(iInVertex);
iInVertex.field(VERTEX_FIELD_IN_EDGES, inEdges);
}
inEdges.add(edge);
if (safeMode) {
save(edge);
commitBlock(safeMode);
}