### Question:
KTypeVTypeWormMap implements /*! #if ($templateonly) !*/ Intrinsics.EqualityFunction, /*! #end !*/
        /*! #if ($templateonly) !*/ Intrinsics.KeyHasher<KType>, /*! #end !*/
        KTypeVTypeMap<KType, VType>,
        Preallocable,
        Cloneable,
        Accountable { public static <KType, VType> KTypeVTypeWormMap<KType, VType> from(KType[] keys, VType[] values) { if (keys.length != values.length) { throw new IllegalArgumentException("Arrays of keys and values must have an identical length."); } KTypeVTypeWormMap<KType, VType> map = new KTypeVTypeWormMap<>(keys.length); for (int i = 0; i < keys.length; i++) { map.put(keys[i], values[i]); } return map; } KTypeVTypeWormMap();  KTypeVTypeWormMap(int expectedElements);  KTypeVTypeWormMap(KTypeVTypeAssociativeContainer<? extends KType, ? extends VType> container); static KTypeVTypeWormMap<KType, VType> from(KType[] keys, VType[] values); @Override KTypeVTypeWormMap<KType, VType> clone(); VType noValue(); @Override int size(); @Override boolean isEmpty(); @Override VType get(KType key); @Override VType getOrDefault(KType key, VType defaultValue); @Override VType put(KType key, VType value); @Override int putAll(KTypeVTypeAssociativeContainer<? extends KType, ? extends VType> container); @Override int putAll(Iterable<? extends KTypeVTypeCursor<? extends KType, ? extends VType>> iterable); @Override VType putOrAdd(KType key, VType putValue, VType incrementValue); @Override VType addTo(KType key, VType additionValue); boolean putIfAbsent(KType key, VType value); @Override VType remove(KType key); @Override int removeAll(KTypeContainer<? super KType> other); @Override int removeAll(KTypePredicate<? super KType> predicate); @Override int removeAll(KTypeVTypePredicate<? super KType, ? super VType> predicate); @Override T forEach(T procedure); @Override T forEach(T predicate); @Override KeysContainer keys(); @Override KTypeCollection<VType> values(); @Override Iterator<KTypeVTypeCursor<KType, VType>> iterator(); @Override boolean containsKey(KType key); @Override void clear(); @Override void release(); @Override @SuppressWarnings("unchecked") boolean equals(Object o); @Override boolean equals(Object v1, Object v2); @Override int hashCode(); @Override int hashKey(KType key); @Override int indexOf(KType key); @Override boolean indexExists(int index); @Override VType indexGet(int index); @Override VType indexReplace(int index, VType newValue); @Override void indexInsert(int index, KType key, VType value); @Override String toString(); @Override void ensureCapacity(int expectedElements); @Override String visualizeKeyDistribution(int characters); @Override long ramBytesAllocated(); @Override long ramBytesUsed(); public Object[] keys; public Object[] values; public byte[] next; }### Answer:
@Test public void testBug_HPPC37() { KTypeVTypeWormMap<KType, VType> l1 = KTypeVTypeWormMap.from( newArray(key1), newvArray(value1)); KTypeVTypeWormMap<KType, VType> l2 = KTypeVTypeWormMap.from( newArray(key2), newvArray(value1)); assertNotEquals(l1, l2); assertNotEquals(l2, l1); }