FramedGraph { public <T extends FramedVertex> T addVertex(Class<T> kind) { T framedVertex = frameElement(delegate.addVertex(), kind); framedVertex.init(); return framedVertex; } FramedGraph(Graph delegate, TypeResolver resolver, FrameBuilder builder);  FramedGraph(Graph delegate); Transaction tx(); void close(); Iterator<T> frame(Iterator<? extends Element> pipeline, final Class<T> kind); T addVertex(Class<T> kind);  }
@Test public void test() { Graph g = TinkerFactory.createClassic(); FramedGraph fg = new FramedGraph(g); Person p1 = fg.addVertex(Person.class); p1.setName("Bryn"); Person p2 = fg.addVertex(Person.class); p2.setName("Julia"); Knows knows = p1.addKnows(p2); knows.setYears(15); Iterable<Vertex> vertices = g.query().has("name", "Bryn").vertices(); Vertex next = vertices.iterator().next(); System.out.println(next.getProperty("name").get()); }