public int write(DataOutputStream ostream) throws IOException { preWrite(); int retVal = 0; { /** fix dependent sizes for header * */ } { /** fix dependent sizes for resources * */ } { /** fix dependent sizes for pvData * */ } { /** fix dependent sizes for cvCertificates* */ certificateCount = (short) (cvCertificates.getCount() - (0)); } // write header if (header != null) retVal += header.write(ostream); // write protocol_version ostream.writeByte(protocol_version); retVal += 1; // write configuration_count_change ostream.writeByte(configuration_count_change); retVal += 1; // write resources if (resources != null) retVal += resources.write(ostream); // write pvData if (pvData != null) retVal += pvData.write(ostream); // write certificateCount ostream.writeByte(certificateCount); retVal += 1; // write cvCertificates { ArrayList<CVCertificate> temp1 = cvCertificates; for (int iIdx = 0; iIdx < temp1.getCount(); iIdx++) { CVCertificate temp2 = temp1.get(iIdx); if (temp2 != null) retVal += temp2.write(ostream); } } postWrite(); return retVal; }