@Override
        public GValue<?> apply(final String s, final GremlinParser.VariableContext variableContext) {
            if (!variables.containsKey(s)) {
                throw new VariableResolverException(String.format("No variable found for %s", s));
            }

            return GValue.of(s, variables.get(s));
        }
Allows for a provided variable set in the form of a {@code Map}, where the keys are variable names and the
values are the parameter values to be injected into the traversal in their place. The value is provided to a
{@link GValue} object along with the variable name for further reference.
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/VariableResolver.java