JavaFX Column sorting for a Column<V, T> where T extends ObservableList<U>

I have a table in which I’m displaying email addresses for a set of clients, such that when they have one email address it displays, if there is a list, it states in the table cell the number of email addresses they have, and if they have none, it displays “None”. This all works fine, I have simply set up the table cell to take care of this. However, the column does not sort in a reasonable order, which is fair enough, given that it’s trying to sort on a list, so I thought I would set a custom comparator on the column thus:

@SuppressWarnings({ "rawtypes", "unchecked" })
public static <T extends ObservableList<U>, V extends Entity, U extends Entity> void initializeFilteredStringEntityListColumn(
        GridColumn<V, T> column,
        Function<V, T> propertyProvider,
        Function<U, String> stringProvider,
        String pluralName,
        ListFilterProperty<V> filters) {
    column.setCellFactory(col -> new StringListTableCell(stringProvider, pluralName));
    column.setComparator(new Comparator<T>() {

        @Override
        public int compare(T list1, T list2) {
            U firstItemList1 = list1.isEmpty() ? null : list1.get(0);
            U firstItemList2 = list2.isEmpty() ? null : list2.get(0);
            String listOneComparative = stringProvider.apply(firstItemList1);
            String listTwoComparative = stringProvider.apply(firstItemList2);
            int compareTo = listOneComparative.compareTo(listTwoComparative);                
            return compareTo;
        }
    });
    column.setCellValueFactory(cellData -> {
        V value = cellData.getValue();
        T t = propertyProvider.apply(value);
        return (ObservableValue<T>) t;
    });
    column.setFilterContextMenu(SearchFilterContextMenu.contains(filters));
}

When debugging it definitely steps into the compare method, but the table doesn’t seem to apply the sort order. Any ideas would be very helpful.