public <S> GraphTraversal<S, S> call(final String service, final Traversal<S, Map> childTraversal) {
        final GraphTraversalSource clone = this.clone();
        clone.gremlinLang.addStep(GraphTraversal.Symbols.call, service, childTraversal);
        final GraphTraversal.Admin<S, S> traversal = new DefaultGraphTraversal<>(clone);
        final CallStep<S,S> step = null == childTraversal ? new CallStep(traversal, true, service) :
                new CallStep(traversal, true, service, new LinkedHashMap(), childTraversal.asAdmin());
        return traversal.addStep(step);
    }
Spawns a {@link GraphTraversal} starting with values produced by the specified service call with dynamic
parameters produced by the specified child traversal.

@param service the name of the service call
@param childTraversal a traversal that will produce a Map of parameters for the service call when invoked.
@since 3.6.0
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversalSource.java