code: public void parse(BitSet c1, BitSet c2, boolean findAllStructure, boolean findAllMap) {
          // initialize the list of solution
          solutionList.clear();
  
          // builds the set of starting nodes
          // according to the constrains
          BitSet b = buildB(c1, c2);
  
          // setup options
          setAllStructure(findAllStructure);
          setAllMap(findAllMap);
  
          // parse recursively the RGraph
          parseRec(new BitSet(b.size()), b, new BitSet(b.size()));
      }
docs: Parsing of the RGraph. This is the main method
  to perform a query. Given the constrains c1 and c2
  defining mandatory elements in G1 and G2 and given
  the search options, this method builds an initial set
  of starting nodes (B) and parses recursively the
  RGraph to find a list of solution according to
  these parameters.
  
  @param  c1  constrain on the graph G1
  @param  c2  constrain on the graph G2
  @param  findAllStructure true if we want all results to be generated
  @param  findAllMap true is we want all possible 'mappings'