code: @Override
      public synchronized void searchMCS(boolean shouldMatchBonds) {
          List<List<Integer>> mappings = null;
          try {
              if (source.getAtomCount() >= target.getAtomCount()) {
                  mappings = new MCSPlus().getOverlaps(source, target, shouldMatchBonds);
              } else {
                  flagExchange = true;
                  mappings = new MCSPlus().getOverlaps(target, source, shouldMatchBonds);
              }
              PostFilter.filter(mappings);
              setAllMapping();
              setAllAtomMapping();
              setFirstMapping();
              setFirstAtomMapping();
          } catch (CDKException e) {
              mappings = null;
          }
      }
docs: {@inheritDoc}
  Function is called by the main program and serves as a starting point for the comparison procedure.
  
  @param shouldMatchBonds