@Test
    public void testMultiPart() {
        ZContext ctx = new ZContext();

        Socket output = ctx.createSocket(ZMQ.PAIR);
        output.bind("inproc://zmsg.test2");
        Socket input = ctx.createSocket(ZMQ.PAIR);
        input.connect("inproc://zmsg.test2");

        ZMsg msg = new ZMsg();
        for (int i = 0; i < 10; i++)
            msg.addString("Frame" + i);
        ZMsg copy = msg.duplicate();
        copy.send(output);
        msg.send(output);

        copy = ZMsg.recvMsg(input);
        assertTrue(copy != null);
        assertEquals(10, copy.size());
        assertEquals(60, copy.contentSize());
        copy.destroy();

        msg = ZMsg.recvMsg(input);
        assertTrue(msg != null);
        assertEquals(10, msg.size());
        int count = 0;
        for (ZFrame f : msg)
            assertTrue(f.streq("Frame" + count++));
        assertEquals(60, msg.contentSize());
        msg.destroy();

        ctx.destroy();
    }