docs: public static <X, Y> Map<Y, Set<X>> invertSet(Map<X, Y> map) {
      Map<Y, Set<X>> invertedMap = new HashMap<Y, Set<X>>();
      for (Map.Entry<X, Y> entry : map.entrySet()) {
        X key = entry.getKey();
        Y value = entry.getValue();
        putIntoValueHashSet(invertedMap, value, key);
      }
      return invertedMap;
    }