private void writeObject(ObjectOutputStream oos) throws IOException {
        // Write out the non-transient fields
        // (revocationDate, reason, authority)
        oos.defaultWriteObject();

        // Write out the size (number of mappings) of the extensions map
        oos.writeInt(extensions.size());

        // For each extension in the map, the following are emitted (in order):
        // the OID String (Object), the criticality flag (boolean), the length
        // of the encoded extension value byte array (int), and the encoded
        // extension value byte array. The extensions themselves are emitted
        // in no particular order.
        for (Map.Entry<String, Extension> entry : extensions.entrySet()) {
            Extension ext = entry.getValue();
            oos.writeObject(ext.getId());
            oos.writeBoolean(ext.isCritical());
            byte[] extVal = ext.getValue();
            oos.writeInt(extVal.length);
            oos.write(extVal);
        }
    }
private void writeObject ( ObjectOutputStream oos ) throws IOException { oos . defaultWriteObject ( ) ; oos . writeInt ( extensions . size ( ) ) ; for ( Map . Entry < String , Extension > entry : extensions . entrySet ( ) ) { Extension ext = entry . getValue ( ) ; oos . writeObject ( ext . getId ( ) ) ; oos . writeBoolean ( ext . isCritical ( ) ) ; byte [ ] extVal = ext . getValue ( ) ; oos . writeInt ( extVal . length ) ; oos . write ( extVal ) ; } }
Serialize this {@code CertificateRevokedException} instance.

@serialData the size of the extensions map (int), followed by all of
the extensions in the map, in no particular order. For each extension,
the following data is emitted: the OID String (Object), the criticality
flag (boolean), the length of the encoded extension value byte array
(int), and the encoded extension value bytes.