title: readObject function in Serializable not called when enable proguard
body: <p>I make a PersistentCookieStore for android app with: </p>
  
  <p><strong>decodeCookie function:</strong></p>
  
  <pre><code>protected HttpCookie decodeCookie(String cookieString) {
      byte[] bytes = hexStringToByteArray(cookieString);
      ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(bytes);
      HttpCookie cookie = null;
      try {
          MyObjectInputStream objectInputStream = new MyObjectInputStream(byteArrayInputStream);
          cookie = ((SerializableHttpCookie) objectInputStream.readObject()).getCookie();
      } catch (IOException e) {
          Log.d(LOG_TAG, "IOException in decodeCookie", e);
      } catch (ClassNotFoundException e) {
          Log.d(LOG_TAG, "ClassNotFoundException in decodeCookie", e);
      }
  
      return cookie;
  }
  </code></pre>
  
  <p><strong>Custom ObjectInputStream class:</strong></p>
  
  <pre><code>class MyObjectInputStream extends ObjectInputStream {
  
      public MyObjectInputStream(InputStream input) throws StreamCorruptedException, IOException {
          super(input);
      }
  
      protected ObjectStreamClass readClassDescriptor() throws IOException, ClassNotFoundException {
          ObjectStreamClass os = super.readClassDescriptor();
          if (os.getName().equals(SerializableHttpCookie.class.getName()))
              os = ObjectStreamClass.lookup(SerializableHttpCookie.class);
          return os;
      }
  }
  </code></pre>
  
  <p><strong>And here is SerializableHttpCookie class:</strong></p>
  
  <pre><code>public class SerializableHttpCookie implements Serializable {
      private static final long serialVersionUID = 6374381323722046732L;
  
      private transient final HttpCookie cookie;
      private transient HttpCookie clientCookie;
  
      public SerializableHttpCookie(HttpCookie cookie) {
          this.cookie = cookie;
      }
  
      public HttpCookie getCookie() {
          HttpCookie bestCookie = cookie;
          if (clientCookie != null) {
              bestCookie = clientCookie;
          }
          return bestCookie;
      }
  
      private void writeObject(ObjectOutputStream out) throws IOException {
          out.writeObject(cookie.getName());
          out.writeObject(cookie.getValue());
          out.writeObject(cookie.getComment());
          out.writeObject(cookie.getCommentURL());
          out.writeObject(cookie.getDomain());
          out.writeLong(cookie.getMaxAge());
          out.writeObject(cookie.getPath());
          out.writeObject(cookie.getPortlist());
          out.writeInt(cookie.getVersion());
          out.writeBoolean(cookie.getSecure());
          out.writeBoolean(cookie.getDiscard());
      }
  
      private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
          String name = (String) in.readObject();
          String value = (String) in.readObject();
          clientCookie = new HttpCookie(name, value);
          clientCookie.setComment((String) in.readObject());
          clientCookie.setCommentURL((String) in.readObject());
          clientCookie.setDomain((String) in.readObject());
          clientCookie.setMaxAge(in.readLong());
          clientCookie.setPath((String) in.readObject());
          clientCookie.setPortlist((String) in.readObject());
          clientCookie.setVersion(in.readInt());
          clientCookie.setSecure(in.readBoolean());
          clientCookie.setDiscard(in.readBoolean());
      }
  }
  </code></pre>
  
  <p>when debug everything look good, <code>readObject</code> is call so that <code>clientCookie</code> not null, <code>decodeCookie</code> return not null but when I enable <strong>proguard</strong> I see that after call <code>readClassDescriptor</code> <code>readObject</code> never called. So that decodeCookie return null.</p>
  
  <p>Please help me fix this bug.</p>