docs: public final void retrieveSubcatalogs(
      final List<TradingCatalog> pCurrentList, final List<CatalogGs> pCatalogs,
        final List<SubcatalogsCatalogsGs> pCatalogsSubcatalogs) throws Exception {
      for (TradingCatalog tc : pCurrentList) {
        for (SubcatalogsCatalogsGs catSubc : pCatalogsSubcatalogs) {
          if (tc.getCatalog().getItsId().equals(catSubc.getItsCatalog()
            .getItsId())) {
            TradingCatalog tci = new TradingCatalog();
            tci.setCatalog(findCatalogGsById(pCatalogs, catSubc.getSubcatalog()
              .getItsId()));
            tc.getSubcatalogs().add(tci);
          }
        }
        if (tc.getSubcatalogs().size() > 0) {
          //recursion:
          retrieveSubcatalogs(tc.getSubcatalogs(), pCatalogs,
            pCatalogsSubcatalogs);
        }
      }
    }