Como esperar várias chamadas assíncronas aninhadas usando o RxJava-Android?

Eu sou novo no RxJava, aqui está o meu caso,

envie a solicitação A e receberáList<A> de voltapara cada A, envie a solicitação AA e receberá AA de volta, vincule A e AA ehá B & BB com lógica semelhantefaça algo somente depois que todos os pedidos forem concluídos

Exemplo:

request(url1, callback(List<A> listA) {
    for (A a : listA) {
        request(url2, callback(AA aa) {
            a.set(aa);
        }
    }
}

A e B são independentes

Como estruturar o código? Eu também usei o Retrofit como cliente de rede.

questionAnswers(1)

yourAnswerToTheQuestion