/** Sets the accessible flag on the cached methods */
 @Override
 public void afterClassLoad(Class<?> clazz) {
   super.afterClassLoad(clazz);
   // force <clinit> to be run, while the correct ThreadLocal is set
   // if we do not run this then <clinit> may be run later, perhaps even in
   // another thread
   try {
     Class.forName(clazz.getName(), true, clazz.getClassLoader());
   } catch (ClassNotFoundException e) {
     throw new RuntimeException(e);
   }
 }
 /** {@inheritDoc} */
 @Override
 protected void cleanup() {
   staticConstructor = null;
   methodIdentifiers.clear();
   super.cleanup();
 }