public int read(DataInputStream istream) throws IOException { preRead(); int retVal = 0; // read header retVal += header.read(istream); // read protocol_version { protocol_version = (short) (istream.readUnsignedByte()); retVal += 1; } // read configuration_count_change { configuration_count_change = (short) (istream.readUnsignedByte()); retVal += 1; } // read resources retVal += resources.read(istream); // read pvData { IntegerHolder iHolder = new IntegerHolder(); DataInputStream disTemp = istream; pvData = PVDataFactory.createMsg(protocol_version, disTemp, iHolder); retVal += iHolder.getValue(); } // read certificateCount { certificateCount = (short) (istream.readUnsignedByte()); retVal += 1; } // read cvCertificates for (int iIdx = 0; iIdx < certificateCount + (0); iIdx++) { CVCertificate temp; temp = new CVCertificate(); retVal += temp.read(istream); cvCertificates.add(temp); } postRead(); return retVal; }