private Object[] getDoubleGenericLiteralArgument(final ParseTree ctx) {
        final int childIndexOfParameterFirst = ctx.getChildCount() == 8 ? 4 : 2;
        final int childIndexOfParameterSecond = ctx.getChildCount() == 8 ? 6 : 4;

        final Object first = antlr.argumentVisitor.visitGenericArgument(
                ParseTreeContextCastHelper.castChildToGenericLiteral(ctx, childIndexOfParameterFirst));
        final Object second = antlr.argumentVisitor.visitGenericArgument(
                ParseTreeContextCastHelper.castChildToGenericLiteral(ctx, childIndexOfParameterSecond));

        return new Object[]{first, second};
    }
Get 2 generic literal arguments from the antlr parse tree context, where the arguments have the child index
of 2 and 4 in the short form and 4 and 6 in the long form (e.g. between(1,2) vs P.between(1,2) respectively)
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalPredicateVisitor.java