@Override public void addPartitionEdges( int partitionId, VertexIdEdges<I, E> edges) { Map<K, OutEdges<I, E>> partitionEdges = getPartitionEdges(partitionId); VertexIdEdgeIterator<I, E> vertexIdEdgeIterator = edges.getVertexIdEdgeIterator(); while (vertexIdEdgeIterator.hasNext()) { vertexIdEdgeIterator.next(); Edge<I, E> edge = reuseEdgeObjects ? vertexIdEdgeIterator.getCurrentEdge() : vertexIdEdgeIterator.releaseCurrentEdge(); OutEdges<I, E> outEdges = getVertexOutEdges(vertexIdEdgeIterator, partitionEdges); synchronized (outEdges) { outEdges.add(edge); } } }