public GraphTraversal<Vertex, Vertex> mergeV(final GValue<Map<Object, Object>> searchCreate) {
        final GraphTraversalSource clone = GraphTraversalSource.this.clone();
        clone.gremlinLang.addStep(GraphTraversal.Symbols.mergeV, searchCreate);
        final GraphTraversal.Admin<Vertex, Vertex> traversal = new DefaultGraphTraversal<>(clone);
        return traversal.addStep(new MergeVertexStep(traversal, true, searchCreate));
    }
Spawns a {@link GraphTraversal} by doing a merge (i.e. upsert) style operation for an {@link Vertex} using a
{@code Map} as an argument. The {@code Map} represents search criteria and will match each of the supplied
key/value pairs where the keys may be {@code String} property values or a value of {@link T}. If a match is not
made it will use that search criteria to create the new {@link Vertex}.

@param searchCreate This {@code Map} can have a key of {@link T} or a {@code String}.
@since 4.0.0
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversalSource.java