### Question:
IntArrayWrapper { public static Set<IntArrayWrapper> wrapToSet(Collection<int[]> arrays) { final Set<IntArrayWrapper> wrappers = new HashSet<>(arrays.size()); wrapAll(wrappers, arrays); return wrappers; } IntArrayWrapper(int[] array); int[] getArray(); static IntArrayWrapper wrap(int[] array); static List<IntArrayWrapper> wrapToList(Collection<int[]> arrays); static Set<IntArrayWrapper> wrapToSet(Collection<int[]> arrays); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString();  }### Answer:
@Test void setWrapping() { final int[] first = new int[]{1, 2, 3}; final int[] second = new int[]{1, 2, 3, 4}; final Set<IntArrayWrapper> wrappedArrays = IntArrayWrapper.wrapToSet(new HashSet<>(Arrays.asList(first, second))); assertEquals(2, wrappedArrays.size()); assertTrue(wrappedArrays.contains(new IntArrayWrapper(first))); assertTrue(wrappedArrays.contains(new IntArrayWrapper(second))); }