public static <T> Set<T> symmetricDifference(Collection<? extends T> c1, Collection<? extends T> c2) {
        Set<T> diff1 = new HashSet<>(c1);
        diff1.removeAll(c2);

        Set<T> diff2 = new HashSet<>(c2);
        diff2.removeAll(c1);

        diff1.addAll(diff2);
        return diff1;
    }
@Test
    public void testSymmetricDifference() {
        assertTrue(CollectionUtil.equalContentsIgnoreOrder(
                List.of(1, 2, 3),
                CollectionUtil.symmetricDifference(l1, l2)));
    }