Cómo hacer una solicitud múltiple y esperar hasta que los datos provengan de todas las solicitudes en la actualización 2.0 - android

código actual:

Retrofit retrofit = new Retrofit.Builder()
                  .baseUrl(Constant.BASEURL)
                  .addConverterFactory(GsonConverterFactory.create())
                  .build();

APIService service = retrofit.create(APIService.class);

Call<ResponseWrap> call = service.getNewsData();

call.enqueue(new Callback<ResponseWrap>() {

  @Override
  public void onResponse(Call<ResponseWrap> call1, Response<ResponseWrap> response) {
    if (response.isSuccess()) {

        ResponseWrap finalRes = response.body();
        for(int i=0; i<finalRes.getResponse().getResults().size(); ++i){
            String title = finalRes.getResponse().getResults().get(i).getWebTitle();
            News n = new News(titleCategory, title, null);
            newsList.add(n);
        }

        AdapterRecommendation adapter = new AdapterRecommendation(getApplicationContext(), newsList);
        listView.setAdapter(adapter);

    }
    else{
        Toast.makeText(getApplicationContext(), "onResponse  - something wrong" + response.message(), Toast.LENGTH_LONG).show();
    }
  }

  @Override
  public void onFailure(Call<ResponseWrap> call1, Throwable t) {
      Toast.makeText(getApplicationContext(), "exception: " + t.getMessage(), Toast.LENGTH_LONG).show();
  }
});

funciona bien.

Ahora quiero hacer varias llamadas (el número de llamadas se decidirá en tiempo de ejecución) y todas las llamadas dan datos en el mismo formato. los datos de todas las llamadas deben agregarse a newsList. Una vez que los datos estén disponibles en todas las llamadas y se agreguen a newsList, llame

AdapterRecommendation adapter = new AdapterRecommendation(getApplicationContext(), newsList);
listView.setAdapter(adapter);

¿Alguien puede ayudarme? ¿Cuál es la mejor manera de obtener datos de varias llamadas y esperar hasta que toda la solicitud no termine en la actualización 2.0?

Respuestas a la pregunta(3)

Su respuesta a la pregunta