private static Vertex findOrCreate(final Object id, final Graph graphToWriteTo,
                                       final Graph.Features.VertexFeatures features,
                                       final Map<Object, Vertex> cache, final boolean asVertex, final Object... args) {
        if (cache.containsKey(id)) {
            // if the request to findOrCreate come from a vertex then AND the vertex was already created, that means
            // that the vertex was created by an edge that arrived first in the stream (allowable via GraphML
            // specification).  as the edge only carries the vertex id and not its properties, the properties
            // of the vertex need to be attached at this point.
            if (asVertex) {
                final Vertex v = cache.get(id);
                ElementHelper.attachProperties(v, args);
                return v;
            } else {
                return cache.get(id);
            }
        } else {
            final Object[] argsReady = features.willAllowId(id) ? ElementHelper.upsert(args, T.id, id) : args;
            final Vertex v = graphToWriteTo.addVertex(argsReady);
            cache.put(id, v);
            return v;
        }
    }
This method is not supported for this reader.

@throws UnsupportedOperationException when called.
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphml/GraphMLReader.java