MapUtils { public static <K, V> Map.Entry<K, V> entry(K key, V value) { return Pair.of(Objects.requireNonNull(key), Objects.requireNonNull(value)); } private  MapUtils(); static Map<K, V> copyOf(Map<? extends K, ? extends V> map); static Map<K, V> of(); static Map<K, V> of(K k1, V v1); static Map<K, V> of(K k1, V v1, K k2, V v2); static Map<K, V> of(K k1, V v1, K k2, V v2, K k3, V v3); static Map<K, V> of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4); static Map<K, V> of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5); static Map<K, V> of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5,
            K k6, V v6); static Map<K, V> of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5,
            K k6, V v6, K k7, V v7); static Map<K, V> of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5,
            K k6, V v6, K k7, V v7, K k8, V v8); static Map<K, V> of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5,
            K k6, V v6, K k7, V v7, K k8, V v8, K k9, V v9); static Map<K, V> of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5,
            K k6, V v6, K k7, V v7, K k8, V v8, K k9, V v9, K k10, V v10); static Map.Entry<K, V> entry(K key, V value); @SafeVarargs @SuppressWarnings("varargs") static Map<K, V> ofEntries(Map.Entry<? extends K, ? extends V>... entries); @SuppressWarnings("unchecked") static Collector<T, ?, Map<K, U>> toUnmodifiableMap(
            Function<? super T, ? extends K> keyMapper,
            Function<? super T, ? extends U> valueMapper
    );  }
@Test public void suppliesEntry() { Map.Entry<String, String> entry = MapUtils.entry("1", "A"); assertEquals("1", entry.getKey()); assertEquals("A", entry.getValue()); }