docs: @Draft
      public boolean sendPicture(Socket socket, String picture, Object... args)
      {
          if (!FORMAT.matcher(picture).matches()) {
              throw new ZMQException(picture + " is not in expected format " + FORMAT.pattern(), ZError.EPROTO);
          }
          ZMsg msg = new ZMsg();
          for (int pictureIndex = 0, argIndex = 0; pictureIndex < picture.length(); pictureIndex++, argIndex++) {
              char pattern = picture.charAt(pictureIndex);
              switch (pattern) {
              case 'i': {
                  msg.add(String.format("%d", (int) args[argIndex]));
                  break;
              }
              case '1': {
                  msg.add(String.format("%d", (0xff) & (int) args[argIndex]));
                  break;
              }
              case '2': {
                  msg.add(String.format("%d", (0xffff) & (int) args[argIndex]));
                  break;
              }
              case '4': {
                  msg.add(String.format("%d", (0xffffffff) & (int) args[argIndex]));
                  break;
              }
              case '8': {
                  msg.add(String.format("%d", (long) args[argIndex]));
                  break;
              }
              case 's': {
                  msg.add((String) args[argIndex]);
                  break;
              }
              case 'b':
              case 'c': {
                  msg.add((byte[]) args[argIndex]);
                  break;
              }
              case 'f': {
                  msg.add((ZFrame) args[argIndex]);
                  break;
              }
              case 'm': {
                  ZMsg msgParm = (ZMsg) args[argIndex];
                  while (msgParm.size() > 0) {
                      msg.add(msgParm.pop());
                  }
                  break;
              }
              case 'z': {
                  msg.add((byte[]) null);
                  argIndex--;
                  break;
              }
              default:
                  assert (false) : "invalid picture element '" + pattern + "'";
              }
          }
          return msg.send(socket, false);
      }