docs: public Observable<List<String>> getAllCategories() {
      return getAllProducts().map(products -> {
        Set<String> categories = new HashSet<String>();
        for (Product p : products) {
          categories.add(p.getCategory());
        }
  
        List<String> result = new ArrayList<String>(categories.size());
        result.addAll(categories);
        return result;
      });
    }