Сортировка по нескольким property через JpqlSortExpressionProvider

Есть сущность протокол

public class Protocol extends BaseLongIdEntity {
    @Column(name = "NUMBER_")
    @NotNull
    private Long number;

    @Column(name = "ISSUE_DATE")
    @NotNull
    private LocalDate issueDate = LocalDate.now();
}

Есть некий экран с таблицей (где все эти протоколы отображаются) с некоторыми колонками в числе которых number и issueDate.
Нужно сделать следующее: при сортировке по дате - сортируем по дате как обычно; при сортировке по номеру - нужно сортировать по году (взятому из даты) и далее (внутри года) по номеру.

@MetaProperty(related = {"issueDate", "number"})
public String getFormattedNumber() {
    //
}

не подходит, т.к. нужно год вытаскивать, из даты.

попытался сделать с помощью

public class CustomJpqlSortExpressionProvider extends DefaultJpqlSortExpressionProvider {
    @Override
    public String getDatatypeSortExpression(MetaPropertyPath metaPropertyPath, boolean sortDirectionAsc) {
        if (metaPropertyPath.getMetaClass().getJavaClass().equals(TheoryExamProtocol.class)) {
            if ("number".equals(metaPropertyPath.toPathString())) {
                return String.format("EXTRACT(YEAR FROM {E}.issueDate) %1$s, {E}.number %1$s NULLS FIRST", sortDirectionAsc ? "asc" : "desc");
            }
            if ("issueDate".equals(metaPropertyPath.toPathString())) {
                return String.format("{E}.issueDate %1$s, {E}.number %1$s NULLS FIRST", sortDirectionAsc ? "asc" : "desc");
            }
        }

        /*  */
        return String.format("{E}.%s", metaPropertyPath.toString());
    }
}

Но тут выяснилось что в итоговый запрос из строки EXTRACT(YEAR FROM {E}.issueDate) desc, {E}.number desc NULLS FIRST попадает только EXTRACT(YEAR FROM {E}.issueDate) desc.

Дебаггером выяснилось, что до какого-то момента expression выглядит “нормально”.
jpql_sort_1
Но после того, как он попадает в parseOrderByItem() с ним что-то происходит (на какое-то дерево разбивается), в результате чего пропадает всё после первой запятой.
jpql_sort_2
И итоговый запрос выглядит так
jpql_sort_3

Вот и вопрос. Через CustomJpqlSortExpressionProvider нет возможности задать сортировку по нескольким параметра? или это как-то по другому нужно записывать, синтаксис может особый какой-то? Или это, всё таки, баг?