code: public void parse(BitSet sourceBitSet, BitSet targetBitSet, boolean findAllStructure, boolean findAllMap,
              TimeManager timeManager) throws CDKException {
          // initialize the list of solution
          checkTimeOut();
          // initialize the list of solution
          getSolutionList().clear();
  
          // builds the set of starting nodes
          // according to the constrains
          BitSet bitSet = buildB(sourceBitSet, targetBitSet);
  
          // setup options
          setAllStructure(findAllStructure);
          setAllMap(findAllMap);
  
          // parse recursively the CDKRGraph
          parseRec(new BitSet(bitSet.size()), bitSet, new BitSet(bitSet.size()));
      }
docs: Parsing of the CDKRGraph. This is the main method
  to perform a query. Given the constrains sourceBitSet and targetBitSet
  defining mandatory elements in G1 and G2 and given
  the search options, this method builds an initial set
  of starting nodes (targetBitSet) and parses recursively the
  CDKRGraph to find a list of solution according to
  these parameters.
  
  @param  sourceBitSet  constrain on the graph G1
  @param  targetBitSet  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'
  @param timeManager
  @throws CDKException