@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(Locale.ENGLISH, "%d", (int) args[argIndex]));
                break;
            }
            case '1': {
                msg.add(String.format(Locale.ENGLISH, "%d", (0xff) & (int) args[argIndex]));
                break;
            }
            case '2': {
                msg.add(String.format(Locale.ENGLISH, "%d", (0xffff) & (int) args[argIndex]));
                break;
            }
            case '4': {
                msg.add(String.format(Locale.ENGLISH, "%d", (0xffffffff) & (int) args[argIndex]));
                break;
            }
            case '8': {
                msg.add(String.format(Locale.ENGLISH, "%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.isEmpty()) {
                    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);
    }
@Test(expected = ZMQException.class)
    public void testSendInvalidPictureFormat()
    {
        String picture = " ";
        pic.sendPicture(null, picture, 255);
    }