Estouro de pilha ao usar Retrofit rxjava concatWith

Eu quero lidar com paginação no Retrofit usando rxjava Observable. Eu segui o conselho de outroPergunta, questão.

Tenho mais de 100 páginas que precisam ser buscadas, mas a cadeia falha em torno da 20ª página e interrompe qualquer assinatura adicional do observável com o log abaixo no logcat

04-04 04:12:11.766    2951-3012/com.example.app I/dalvikvm﹕ threadid=28: stack overflow on call to Ljava/util/concurrent/atomic/AtomicLongFieldUpdater$CASUpdater;.compareAndSet:ZLJJ
04-04 04:12:11.766    2951-3012/com.example.app I/dalvikvm﹕ method requires 56+20+32=108 bytes, fp is 0x94b52350 (80 left)
04-04 04:12:11.766    2951-3012/com.example.app I/dalvikvm﹕ expanding stack end (0x94b52300 to 0x94b52000)
04-04 04:12:11.766    2951-3012/com.example.app I/dalvikvm﹕ Shrank stack (to 0x94b52300, curFrame is 0x94b548dc)

Alguém sabe por que isso pode acontecer?

Atualizar: Eu sei que isso acontece devido à recursão, mas existe uma maneira mais graciosa de lidar com paginação com retrofit e rxjava?

questionAnswers(1)

yourAnswerToTheQuestion