public ZMsg duplicate() {
        if (frames != null) {
            ZMsg msg = new ZMsg ();
            for (ZFrame f : frames)
                msg.add(f.duplicate());
            return msg;
        } else
            return null;
    }