===================================================================== Found a 31 line (120 tokens) duplication in the following files: Starting at line 979 of /home/tom/data/cf-dashboard/working/javaiopatch/src/java/io/ObjectOutputStream.java Starting at line 1183 of /home/tom/data/cf-dashboard/working/javaiopatch/src/java/io/ObjectInputStream.java synchronized (subclassAudits) { Boolean result = (Boolean) subclassAudits.get(cl); if (result == null) { /* * Note: only new Boolean instances (i.e., not Boolean.TRUE or * Boolean.FALSE) must be used as cache values, otherwise cache * entry will pin associated class. */ result = new Boolean(auditSubclass(cl)); subclassAudits.put(cl, result); } if (result.booleanValue()) { return; } } SecurityManager sm = System.getSecurityManager(); if (sm != null) { sm.checkPermission(SUBCLASS_IMPLEMENTATION_PERMISSION); } } /** * Performs reflective checks on given subclass to verify that it doesn't * override security-sensitive non-final methods. Returns true if subclass * is "safe", false otherwise. */ private static boolean auditSubclass(final Class subcl) { Boolean result = (Boolean) AccessController.doPrivileged( new PrivilegedAction() { public Object run() { for (Class cl = subcl;