class DefaultVertexTraversal extends AbstractVertexTraversal implements VertexTraversal {

    @Override
    public <T> Optional<T> next() {
        Optional<Vertex> vertex = flow.apply(supplier.get()).tryNext();
        return vertex.map(converter::toEntity);
    }

      DefaultVertexTraversal(Supplier<GraphTraversal<?, ?>> supplier,
                           Function<GraphTraversal<?, ?>, GraphTraversal<Vertex, Vertex>> flow,
                           GraphConverter converter);

}