Como a Biblioteca de paginação do Android sabe carregar mais dados?

Sou bastante novo no desenvolvimento de aplicativos para Android e estou tentando fazer tudo "da maneira certa". Então, neste momento, estou implementando a nova Biblioteca de Paginação Android no meu projeto, onde preciso carregar uma lista de artigos de um servidor de rede.

eu tenho umArticlesRepository&nbsp;classe que retorna umArticleList&nbsp;classe contendo instâncias deArticleListItem&nbsp;que eu gostaria de exibir em um RecyclerView. A lista de artigos já está paginada no servidor, portanto, o repositório envia uma solicitação para a primeira página e retorna umArticleList&nbsp;com opage&nbsp;propriedade definida como1&nbsp;e aarticles&nbsp;propriedade contendo umList<ArticleListItem>&nbsp;de artigos na página solicitada. Não sei quantos artigos podem estar em uma página.

Agora, eu pude implementar umPageKeyedDataSource<Integer, ArticleListItem>, mas busca apenas a primeira página:

@Override
public void loadInitial(@NonNull LoadInitialParams<Integer> params, @NonNull LoadInitialCallback<Integer, ArticleListItem> callback) {
    ArticleList list = load(1);
    if (list != null) {
        callback.onResult(list.articles, null, next(list));
    }
}

@Override
public void loadBefore(@NonNull LoadParams<Integer> params, @NonNull LoadCallback<Integer, ArticleListItem> callback) {
    ArticleList list = load(previous(params.key));
    if (list != null) {
        callback.onResult(list.articles, previous(list));
    }
}

@Override
public void loadAfter(@NonNull LoadParams<Integer> params, @NonNull LoadCallback<Integer, ArticleListItem> callback) {
    ArticleList list = load(next(params.key));
    if (list != null) {
        callback.onResult(list.articles, next(list));
    }
}

oprevious/next&nbsp;funções retornam umInteger&nbsp;com o número da página anterior / seguinte ounull&nbsp;se não houver.

No meu ViewModel, eu configuro o PagedList assim:

PagedList.Config config = new PagedList.Config.Builder()
            .setEnablePlaceholders(false)
            .setInitialLoadSizeHint(1)
            .setPageSize(1)
            .setPrefetchDistance(1)
            .build();

Dessa forma, eu consigo carregar a primeira página, mas quando rolar para a parte inferior do RecyclerView (que fica dentro de um NestedScrollView), nada acontece. A depuração mostra que oPageKeyedDataSource.loadAfter&nbsp;O método não é chamado.

Preciso dizer de alguma forma à PagedList que a próxima página precisa ser carregada ou é o trabalho do RecyclerView / DataSource / GodKnowsWhatElse e estou apenas fazendo algo errado? Obrigado por qualquer conselho.