docs: public static ZMsg recvMsg(Socket socket, int flag)
      {
          if (socket == null) {
              throw new IllegalArgumentException("socket is null");
          }
  
          ZMsg msg = new ZMsg();
  
          while (true) {
              ZFrame f = ZFrame.recvFrame(socket, flag);
              if (f == null) {
                  // If receive failed or was interrupted
                  msg.destroy();
                  msg = null;
                  break;
              }
              msg.add(f);
              if (!f.hasMore()) {
                  break;
              }
          }
          return msg;
      }