public void readObject(DataInputStream in) throws IOException {
        if (in.readInt() != EYECATCODE) throw new IOException("Eyecat code error.");
        flowVersion = in.readInt();
        flowType = in.readInt();
        messageId = in.readInt();
        gatewayRc = in.readInt();
        if (flowVersion == 0x10100) {
            requestType = readPaddedString(in, 4);
        } else {
            int j = in.readInt();
            requestType = readPaddedString(in, j);
        }
        if (flowVersion >= 0x200000)
            hasSecurity = in.readBoolean();
        dataWhichFollows = in.readInt();

        eciArea = new byte[dataWhichFollows];
        in.readFully(eciArea);
    }