public static ZMsg load(DataInputStream file) {
        if (file == null)
            return null;
        ZMsg rcvMsg = new ZMsg ();

        try {
            int msgSize = file.readInt();
            if (msgSize > 0) {
                int msgNbr = 0;
                while (++msgNbr <= msgSize) {
                    int frameSize = file.readInt();
                    byte[] data = new byte[frameSize];
                    file.read(data);
                    rcvMsg.add(new ZFrame (data));
                }
            }
            return rcvMsg;
        } catch (IOException e) {
            return null;
        }
    }