docs: protected boolean firstOfAllClients(final Address joiner, final Responses rsps) {
          log.trace("%s: could not determine coordinator from rsps %s", gms.local_addr, rsps);
  
          // so the member to become singleton member (and thus coord) is the first of all clients
          SortedSet<Address> clients=new TreeSet<>();
          clients.add(joiner); // add myself again (was removed by findInitialMembers())
          for(PingData response: rsps)
              clients.add(response.getAddress());
  
          log.trace("%s: nodes to choose new coord from are: %s", gms.local_addr, clients);
          Address new_coord=clients.first();
          if(new_coord.equals(joiner)) {
              log.trace("%s: I (%s) am the first of the nodes, will become coordinator", gms.local_addr, joiner);
              becomeSingletonMember(joiner);
              return true;
          }
          log.trace("%s: I (%s) am not the first of the nodes, waiting for another client to become coordinator",
                    gms.local_addr, joiner);
          // Util.sleep(500);
          return false;
      }