public Stream<ConceptMap> traversal(Set<Variable> commonVars, GraqlTraversal graqlTraversal) {
        Set<Variable> vars = Sets.filter(commonVars, Variable::isReturned);

        GraphTraversal<Vertex, Map<String, Element>> traversal = graqlTraversal.getGraphTraversal(transaction, vars);

        return traversal.toStream()
                .map(elements -> createAnswer(vars, elements))
                .distinct()
                .sequential()
                .map(ConceptMap::new);
    }
public Stream < ConceptMap > traversal ( Set < Variable > commonVars , GraqlTraversal graqlTraversal ) { Set < Variable > vars = Sets . filter ( commonVars , Variable :: isReturned ) ; GraphTraversal < Vertex , Map < String , Element > > traversal = graqlTraversal . getGraphTraversal ( transaction , vars ) ; return traversal . toStream ( ) . map ( elements -> createAnswer ( vars , elements ) ) . distinct ( ) . sequential ( ) . map ( ConceptMap :: new ) ; }
@param commonVars     set of variables of interest
@param graqlTraversal graql traversal corresponding to the provided pattern
@return resulting answer stream