private void writeProxyDesc(ObjectStreamClass desc) throws IOException {
   writeByte(TC_PROXYCLASSDESC);
   Class cl = desc.forClass();
   Class[] ifaces = cl.getInterfaces();
   writeInt(ifaces.length);
   for (int i = 0; i < ifaces.length; i++) {
     writeObject(ifaces[i]);
   }
   writeObject(desc.getSuperDesc());
 }
 private void writeNonProxyDesc(ObjectStreamClass desc) throws IOException {
   writeByte(TC_CLASSDESC);
   writeObject(desc.forClass());
   desc.writeNonProxy(this);
   writeObject(desc.getSuperDesc());
 }