} else if (fieldName.equals(GraphSONTokens.VERTICES)) {
while (parser.nextToken() != JsonToken.END_ARRAY) {
final Map<String, Object> vertexData = parser.readValueAs(mapTypeReference);
readVertexData(vertexData, detachedVertex -> {
final Vertex v = Optional.ofNullable(graph.v(detachedVertex.id())).orElse(
graph.addVertex(T.label, detachedVertex.label(), T.id, detachedVertex.id()));
detachedVertex.iterators().propertyIterator().forEachRemaining(p -> createVertexProperty(graphToWriteTo, v, p, false));
detachedVertex.iterators().hiddenPropertyIterator().forEachRemaining(p -> createVertexProperty(graphToWriteTo, v, p, true));
return v;
});
}