--- /home/cpdev/src/classpath/java/io/ObjectStreamClass.java	2005-07-08 17:32:43.000000000 +0000
+++ java/io/ObjectStreamClass.java	2005-06-30 05:34:35.000000000 +0000
@@ -486,66 +486,19 @@
     return null;
   }
 
-  private static boolean inSamePackage(Class c1, Class c2)
-  {
-    String name1 = c1.getName();
-    String name2 = c2.getName();
-
-    int id1 = name1.lastIndexOf('.');
-    int id2 = name2.lastIndexOf('.');
-
-    // Handle the default package
-    if (id1 == -1 || id2 == -1)
-      return id1 == id2;
-
-    String package1 = name1.substring(0, id1);
-    String package2 = name2.substring(0, id2);
-
-    return package1.equals(package2);
-  }
-
-  final static Class[] noArgs = new Class[0];
-
-  private static Method findAccessibleMethod(String name, Class from)
-  {
-    for (Class c = from; c != null; c = c.getSuperclass())
-      {
-	try
-	  {
-	    Method res = c.getDeclaredMethod(name, noArgs);
-	    int mods = res.getModifiers();
-
-	    if (c != from
-		&& (Modifier.isPrivate(mods)
-		    || ! Modifier.isPublic(mods) && ! inSamePackage(c, from)))
-	      continue;
-
-	    AccessController.doPrivileged(new SetAccessibleAction(res));
-	    return res;
-	  }
-	catch (NoSuchMethodException e)
-	  {
-	  }
-      }
-
-    return null;
-  }
-
   private void cacheMethods()
   {
     Method[] methods = forClass().getDeclaredMethods();
-
     readObjectMethod = findMethod(methods, "readObject",
 				  new Class[] { ObjectInputStream.class },
 				  Void.TYPE, true);
     writeObjectMethod = findMethod(methods, "writeObject",
                                    new Class[] { ObjectOutputStream.class },
                                    Void.TYPE, true);
-
-    // readResolve and writeReplace can be in parent classes, as long as they
-    // are accessible from this class.
-    readResolveMethod = findAccessibleMethod("readResolve", forClass());
-    writeReplaceMethod = findAccessibleMethod("writeReplace", forClass());
+    readResolveMethod = findMethod(methods, "readResolve",
+				   new Class[0], Object.class, false);
+    writeReplaceMethod = findMethod(methods, "writeReplace",
+                                    new Class[0], Object.class, false);
   }
 
   private ObjectStreamClass(Class cl)
