code: public static ArrayList<IAtomContainerSet> getAtomContainerSet(IAtomContainer origenMol, IAtomContainer finalMol,
              IReactionScheme reactionScheme) {
          ArrayList<IAtomContainerSet> listPath = new ArrayList<IAtomContainerSet>();
          IReactionSet reactionSet = getAllReactions(reactionScheme);
  
          // down search
          // Looking for those reactants which are the origenMol
          boolean found = false;
          for (IReaction reaction : reactionSet.reactions()) {
              if (found) break;
              for (IAtomContainer reactant : reaction.getReactants().atomContainers()) {
                  if (found) break;
                  if (reactant.equals(origenMol)) {
                      IAtomContainerSet allSet = reactionSet.getBuilder().newInstance(IAtomContainerSet.class);
                      // START
                      for (IAtomContainer product : reaction.getProducts().atomContainers()) {
                          if (found) break;
                          if (!product.equals(finalMol)) {
                              IAtomContainerSet allSet2 = getReactionPath(product, finalMol, reactionSet);
                              if (allSet2.getAtomContainerCount() != 0) {
                                  allSet.addAtomContainer(origenMol);
                                  allSet.addAtomContainer(product);
                                  allSet.add(allSet2);
                              }
                          } else {
                              allSet.addAtomContainer(origenMol);
                              allSet.addAtomContainer(product);
                          }
                          if (allSet.getAtomContainerCount() != 0) {
                              listPath.add(allSet);
                              found = true;
                          }
                      }
  
                      break;
                  }
              }
          }
          // TODO Looking for those products which are the origenMol
  
          // TODO: up search
  
          return listPath;
      }
docs: Extract the list of AtomContainers taking part in the IReactionScheme to originate a
  product given a reactant.
  
  @param origenMol           The start IAtomContainer
  @param finalMol            The end IAtomContainer
  @param reactionScheme      The IReactionScheme containing the AtomContainers
  @return                    A List of IAtomContainerSet given the path