private static Class<?> findClass(ClassLoader loader,Class<?> clazz){
  final String name=clazz.getName();
  if (name.startsWith("android.") || name.startsWith("java."))   return null;
  String generatedClassName=generateRetainerClassName(name);
  try {
    if (Akatsuki.loggingLevel == AkatsukiConfig.LoggingLevel.VERBOSE)     Log.i(Akatsuki.TAG,"traversing hierarchy to find retainer for class " + clazz);
    return Class.forName(generatedClassName,true,loader);
  }
 catch (  ClassNotFoundException e) {
    return findClass(loader,clazz.getSuperclass());
  }
}

private static Class < ? > findClass ( ClassLoader loader , Class < ? > clazz ) { final String name = clazz . getName ( ) ; if ( name . startsWith ( "android." ) || name . startsWith ( "java." ) ) return null ; String generatedClassName = generateRetainerClassName ( name ) ; try { if ( Akatsuki . loggingLevel == AkatsukiConfig . LoggingLevel . VERBOSE ) Log . i ( Akatsuki . TAG , "traversing hierarchy to find retainer for class " + clazz ) ; return Class . forName ( generatedClassName , true , loader ) ; } catch ( ClassNotFoundException e ) { return findClass ( loader , clazz . getSuperclass ( ) ) ; } }
traverse the class hierarchy to find correct bundleretainer
