### Question:
GremlinGraphDriver implements GremlinDriver { @Override public Session session() { CypherGremlinClient cypherGremlinClient = CypherGremlinClient.inMemory(graphTraversalSource); return new GremlinServerSession(serverInfo, cypherGremlinClient, new GremlinCypherValueConverter(false)); } GremlinGraphDriver(GraphTraversalSource graphTraversalSource); @Override boolean isEncrypted(); @Override Session session(); @Override void close();  }### Answer:
@Test public void tinkerGraph() { TinkerGraph tinkerGraph = TinkerFactory.createModern(); GraphTraversalSource graphTraversalSource = tinkerGraph.traversal(); GremlinGraphDriver driver = new GremlinGraphDriver(graphTraversalSource); List<Map<String, Object>> results; try (Session session = driver.session()) { StatementResult result = session.run( "MATCH (n:person) " + "WHERE n.age = $age " + "RETURN n.name", parameters("age", 29) ); results = result.list().stream() .map(Record::asMap) .collect(toList()); } assertThat(results) .extracting("n.name") .containsExactly("marko"); }