code: public static <T> Collection<T> createCollection(MultiMapConfig.ValueCollectionType collectionType, int initialCapacity) {
          switch (collectionType) {
              case SET:
                  return initialCapacity <= 0 ? new HashSet<T>() : SetUtil.<T>createHashSet(initialCapacity);
              case LIST:
                  return new LinkedList<T>();
              default:
                  throw new IllegalArgumentException("[" + collectionType + "] is not a known MultiMapConfig.ValueCollectionType!");
          }
      }
docs: Picks right collection type, like {@link java.util.Set} or {@link java.util.List}
  depending on the {@link com.hazelcast.config.MultiMapConfig#valueCollectionType} and creates it.
  
  @param collectionType  one of {@link com.hazelcast.config.MultiMapConfig.ValueCollectionType#SET}
  or {@link MultiMapConfig.ValueCollectionType#LIST}
  @param initialCapacity if smaller than or equals to 0 falls back to default initial capacity of corresponding collection.
  @return {@link java.util.Set} or {@link java.util.List} depending on the collectionType argument
  @throws java.lang.IllegalArgumentException if collectionType is unknown