Ломается пагинация при переопределении LoadContext в браузере экрана

Добрый день!
Для загрузки данных я использую метод trafficsDlLoadDelegate:

    @Install(to = "trafficsDl", target = Target.DATA_LOADER)
    public List<TrafficUiDto> trafficsDlLoadDelegate(final LoadContext<TrafficUiDto> loadContext) {

        LoadContext.Query query = loadContext.getQuery();
        if (query == null) {
            return Collections.emptyList();
        }

        int offset = query.getFirstResult() / query.getMaxResults();
        int limit = query.getMaxResults();

        List<TrafficDto> trafficDtos;
        Sort.Direction direction = getSortDirection(query.getSort());
        if (direction == null) {
            trafficDtos = trafficService.getPaginatedProcessedTraffic(PageRequest.of(offset, limit));
        } else {
            String property = getSortProperty(query.getSort());
            trafficDtos =
                    trafficService.getSortedProcessedTraffic(PageRequest.of(offset, limit), direction, property);
        }

        return mapToUiDto(trafficDtos);
    }

при переходе между страницами в trafficsDataGrid каждый раз вызывается метод trafficsDlLoadDelegate и все работает корректно.
Также у меня есть методы, которые определяют работу кнопок Применить фильтр и Очистить фильтр. Их код приведен ниже:

    @Subscribe("trafficsDataGrid.refresh")
    public void onTrafficsDataGridRefresh(final ActionPerformedEvent event) {

        Map<String, Object> conditionsMap = processConditions();
        LoadContext<TrafficUiDto> loadContext = trafficsDl.createLoadContext();
        LoadContext.Query query = loadContext.getQuery();
        if (query != null) {
            int offset = query.getFirstResult() / query.getMaxResults();
            int limit = query.getMaxResults();
            boolean hasNonNullValues = conditionsMap.values().stream().anyMatch(Objects::nonNull);
            if (hasNonNullValues) {
                List<TrafficDto> filteredProcessedTraffic =
                        trafficService.getFilteredProcessedTraffic(PageRequest.of(offset, limit), conditionsMap);
                trafficsDl.setLoadDelegate(innerLoadContext -> mapToUiDto(filteredProcessedTraffic));
                trafficsDl.load();
            }
        }
    }

    @Subscribe("trafficsDataGrid.clear")
    public void onTrafficsDataGridClear(final ActionPerformedEvent event) {

        filterProcessInfoComboBox.clear();
        filterTablesNameComboBox.clear();
        filterAttributesNameComboBox.clear();
        filterRequestTypeComboBox.clear();
        filterTimestampRequestDateTimePicker.clear();
        LoadContext<TrafficUiDto> loadContext = trafficsDl.createLoadContext();
        LoadContext.Query query = loadContext.getQuery();
        if (query != null) {
            int offset = query.getFirstResult() / query.getMaxResults();
            int limit = query.getMaxResults();
            List<TrafficDto> paginatedProcessedTraffic =
                    trafficService.getPaginatedProcessedTraffic(PageRequest.of(offset, limit));
            trafficsDl.setLoadDelegate(innerLoadContext -> mapToUiDto(paginatedProcessedTraffic));
            trafficsDl.load();
        }
    }

После того, как срабатывает action onTrafficsDataGridRefresh или onTrafficsDataGridClear, у меня ломается пагинация. Я так понимаю это из-за того, что я делаю setLoadDelegate в каждом методе своих action’ов, он как бы получается перезатирает работу метода trafficsDlLoadDelegate, при переходе между страницами он больше не вызывается. Но если перейти в меню в другую вкладку и вернуться назад, пагинация снова начинает работать нормально, т.к. метод trafficsDlLoadDelegate снова отрабатывает.
Как можно пофиксить эту проблему?

Вопрос решился, нужно было после выполнения операции поиска или очистки установить LoadDelegate обратно на trafficsDlLoadDelegate перед загрузкой данных.