@Override
    public Void visitNullLiteral(final GremlinParser.NullLiteralContext ctx) {
        if (ctx.getParent() instanceof GremlinParser.GenericMapNullableArgumentContext) {
            sb.append("null as Map");
            return null;
        }

        sb.append(ctx.getText());
        return null;
    }
Converts a Gremlin traversal string into a Groovy source code representation of that traversal with an aim at
sacrificing some formatting for the ability to compile correctly. The translations may require use of TinkerPop's
sugar syntax and therefore requires use of the {@code GremlinLoader} in the gremlin-groovy module unless you are
specifically certain that your translations will not result in the use of that syntax. If in doubt, prefer the
{@link JavaTranslateVisitor} instead.
<ul>
    <li>Normalize numeric suffixes to lower case</li>
    <li>If floats are not suffixed they will translate as BigDecimal</li>
    <li>Makes anonymous traversals explicit with double underscore</li>
    <li>Makes enums explicit with their proper name</li>
</ul>
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/GroovyTranslateVisitor.java