code: public <T> CompletableFuture<RspList<T>> castMessageWithFuture(final Collection<Address> dests, Buffer data,
                                                                     RequestOptions opts) throws Exception {
          return cast(dests,data,opts,false);
      }
docs: Sends a message to all members and expects responses from members in dests (if non-null).
  @param dests A list of group members from which to expect responses (if the call is blocking).
  @param data The message to be sent
  @param opts A set of options that govern the call. See {@link org.jgroups.blocks.RequestOptions} for details
  @return CompletableFuture<T> A future from which the results (RspList) can be retrieved, or null if the request
  was sent asynchronously
  @throws Exception If the request cannot be sent