code: def find_products(self, product_type):
          if self.filter_prods and product_type in self.LIST_PRODUCTS and product_type not in self.desired_prods:
              return []
          if product_type in self.LIST_PRODUCTS:
              found_products = self.products.get(product_type, [])
          else:
              found_products = [x[0] for x in self.products.items()
                                if x[1] == product_type and (not self.filter_prods or x[0] in self.desired_prods)]
          found_products = [self._ensure_product_string(x) for x in found_products]
          declaration = self.PATH_PRODUCTS.get(product_type)
          if declaration is not None:
              found_products = [self._process_product_path(x, declaration) for x in found_products]
          return found_products