docs: private void sendCommand(Collection<Address> targets, ReplicableCommand command, long requestId,
                              DeliverOrder deliverOrder, boolean rsvp, boolean checkView) {
        Objects.requireNonNull(targets);
        Message message = new Message();
        marshallRequest(message, command, requestId);
        setMessageFlags(message, deliverOrder, rsvp, true);
  
        if (deliverOrder == DeliverOrder.TOTAL) {
           message.dest(new AnycastAddress(toJGroupsAddressList(targets)));
           send(message);
        } else {
           Message copy = message;
           for (Iterator<Address> it = targets.iterator(); it.hasNext(); ) {
              Address address = it.next();
  
              if (checkView && !clusterView.contains(address))
                 continue;
  
              if (address.equals(getAddress()))
                 continue;
  
              copy.dest(toJGroupsAddress(address));
              send(copy);
  
              // Send a different Message instance to each target
              if (it.hasNext()) {
                 copy = copy.copy(true);
              }
           }
        }
     }