private static void checkReceivedMessages(int num_ucasts, MyReceiver... receivers) {
   for (int i = 0; i < 20; i++) {
     boolean all_received = true;
     for (MyReceiver receiver : receivers) {
       List<Message> ucasts = receiver.getUnicasts();
       int ucasts_received = ucasts.size();
       if (num_ucasts != ucasts_received) {
         all_received = false;
         break;
       }
     }
     if (all_received) break;
     Util.sleep(500);
   }
   for (MyReceiver receiver : receivers) {
     List<Message> ucasts = receiver.getUnicasts();
     int ucasts_received = ucasts.size();
     System.out.println("receiver " + receiver + ": ucasts=" + ucasts_received);
     assertEquals("ucasts for " + receiver + ": " + print(ucasts), num_ucasts, ucasts_received);
   }
 }