code: public ChannelFuture block(InetAddress multicastAddress,
                                 NetworkInterface networkInterface, InetAddress sourceToBlock) {
          if (DetectionUtil.javaVersion() < 7) {
              throw new UnsupportedOperationException();
          } else {
              if (multicastAddress == null) {
                  throw new NullPointerException("multicastAddress");
              }
              if (sourceToBlock == null) {
                  throw new NullPointerException("sourceToBlock");
              }
  
              if (networkInterface == null) {
                  throw new NullPointerException("networkInterface");
              }
              synchronized (this) {
                  if (memberships != null) {
                      List<MembershipKey> keys = memberships.get(multicastAddress);
                      for (MembershipKey key: keys) {
                          if (networkInterface.equals(key.networkInterface())) {
                              try {
                                  key.block(sourceToBlock);
                              } catch (IOException e) {
                                  return failedFuture(this, e);
                              }
                          }
                      }
                  }
              }
              return succeededFuture(this);
          }
      }
docs: Block the given sourceToBlock address for the given multicastAddress on the given networkInterface