code: public static <E> Counter<E> product(Counter<E> c1, Counter<E> c2) {
      Counter<E> result = c1.getFactory().create();
      for (E key : Sets.intersection(c1.keySet(), c2.keySet())) {
        result.setCount(key, c1.getCount(key) * c2.getCount(key));
      }
      return result;
    }
docs: Returns the product of c1 and c2.
  
  @return The product of c1 and c2.