docs: public boolean send(Socket socket, boolean destroy)
      {
          if (socket == null) {
              throw new IllegalArgumentException("socket is null");
          }
  
          if (frames == null) {
              throw new IllegalArgumentException("destroyed message");
          }
  
          if (frames.size() == 0) {
              return true;
          }
  
          boolean ret = true;
          Iterator<ZFrame> i = frames.iterator();
          while (i.hasNext()) {
              ZFrame f = i.next();
              ret = f.sendAndKeep(socket, (i.hasNext()) ? ZFrame.MORE : 0);
              if (!ret) {
                  break;
              }
          }
          if (destroy) {
              destroy();
          }
          return ret;
      }