@Override
    public int compare(final List<String> o1, final List<String> o2) {

        if (o1.size() < o2.size()) {
            return -1;
        } else if (o1.size() > o2.size()) {
            return 1;
        } else {
            int index = 0;
            while (index < o1.size()) {
                String item1 = o1.get(index);
                String item2 = o2.get(index++);
                final int comparisonResult = item1.compareToIgnoreCase(item2);
                if (comparisonResult != 0) {
                    return comparisonResult;
                }
            }
            return 0;
        }
    }
@Test
    void testEmptyListsAreEqual() {
        assertEquals(0, toTest.compare(List.of(), List.of()));
    }