docs: public void writeExternal( ObjectOutput stream ) throws IOException {
          KeyStoreHelper helper = new KeyStoreHelper();
  
          stream.writeBoolean( helper.isSigned() );
          if (helper.isSigned()) {
              stream.writeObject( helper.getPvtKeyAlias() );
          }
  
          ByteArrayOutputStream bos = new ByteArrayOutputStream();
          ObjectOutput out = new ObjectOutputStream( bos );
  
          out.writeInt( this.store.size() );
          for (Entry<String, byte[]> entry : this.store.entrySet()) {
              out.writeObject(entry.getKey());
              out.writeObject(entry.getValue());
          }
          out.flush();
          out.close();
          byte[] buff = bos.toByteArray();
          stream.writeObject( buff );
          if (helper.isSigned()) {
              sign( stream,
                    helper,
                    buff );
          }
  
          stream.writeInt( this.invokerLookups.size() );
          for (Entry<String, Wireable> entry : this.invokerLookups.entrySet()) {
              stream.writeObject(entry.getKey());
              stream.writeObject(entry.getValue());
          }
  
          stream.writeInt( this.classLookups.size() );
          for (Entry<String, byte[]> entry : this.classLookups.entrySet()) {
              stream.writeObject( entry.getKey() );
              stream.writeObject( entry.getValue() );
          }
  
      }