code: public List<RequestFuture<?>> multicast(Predicate<WebhookClient> filter, WebhookMessage message)
      {
          Checks.notNull(filter, "Filter");
          Checks.notNull(message, "Message");
          final RequestBody body = message.getBody();
          final List<RequestFuture<?>> callbacks = new ArrayList<>();
          for (WebhookClient client : webhooks)
          {
              if (filter.test(client))
                  callbacks.add(client.execute(body));
          }
          return callbacks;
      }
docs: Sends the provided {@link net.dv8tion.jda.webhook.WebhookMessage WebhookMessage}
  to all {@link net.dv8tion.jda.webhook.WebhookClient WebhookClients} that meet the specified
  filter.
  <br>The filter should return {@code true} for all clients that should receive the message.
  
  <p>Hint: Use {@link net.dv8tion.jda.webhook.WebhookMessageBuilder WebhookMessageBuilder} to
  create a {@link net.dv8tion.jda.webhook.WebhookMessage WebhookMessage} instance!
  
  @param  filter
  The filter that decides what clients receive the message
  @param  message
  The message that should be sent to the filtered clients
  
  @throws java.lang.IllegalArgumentException
  If any of the provided arguments is {@code null}
  @throws java.util.concurrent.RejectedExecutionException
  If any of the receivers has been shutdown
  
  @return A list of {@link java.util.concurrent.Future Future} instances
  representing all message tasks.