private void addHistoricalVertexInChain(V latestGraphVersion, V newVersion,
ActiveVersionedVertex<V> activeModifiedVertex, HistoricVersionedVertex<V> latestHistoricVertex,
HistoricVersionedVertex newHistoricVertex) {
newHistoricVertex.getRaw().setProperty(VEProps.REF_TO_LATEST_HISTORIC_ID_KEY, latestHistoricVertex.getHardId());
newHistoricVertex.getRaw().setProperty(VEProps.VALID_MAX_VERSION_PROP_KEY, latestGraphVersion);
Edge prevEdge =
ElementUtils.getSingleElement(latestHistoricVertex.getRaw().getEdges(Direction.OUT,
VEProps.PREV_VERSION_LABEL));
if (prevEdge != null) {
Vertex inVertex = prevEdge.getVertex(Direction.IN);
getUneventableGraph().removeEdge(prevEdge);
getBaseGraph().addEdge(edgeIdFactory.createId(), (Vertex) newHistoricVertex.getRaw(), inVertex,
VEProps.PREV_VERSION_LABEL);
}
getBaseGraph().addEdge(edgeIdFactory.createId(), latestHistoricVertex.getRaw(),
(Vertex) newHistoricVertex.getRaw(), VEProps.PREV_VERSION_LABEL);
}