void findClassesDerivingFrom(String super_name,Map<String,ClassReader> zipClasses,Map<String,ClassReader> inOutFound) throws LogAbortException {
  ClassReader super_clazz=findClass(super_name,zipClasses,inOutFound);
  for (  Entry<String,ClassReader> entry : zipClasses.entrySet()) {
    String className=entry.getKey();
    if (super_name.equals(className)) {
      continue;
    }
    ClassReader classReader=entry.getValue();
    ClassReader parent_cr=classReader;
    while (parent_cr != null) {
      String parent_name=internalToBinaryClassName(parent_cr.getSuperName());
      if (parent_name == null) {
        break;
      }
 else       if (super_name.equals(parent_name)) {
        inOutFound.put(className,classReader);
        break;
      }
      parent_cr=zipClasses.get(parent_name);
    }
  }
}

void findClassesDerivingFrom ( String super_name , Map < String , ClassReader > zipClasses , Map < String , ClassReader > inOutFound ) throws LogAbortException { ClassReader super_clazz = findClass ( super_name , zipClasses , inOutFound ) ; for ( Entry < String , ClassReader > entry : zipClasses . entrySet ( ) ) { String className = entry . getKey ( ) ; if ( super_name . equals ( className ) ) { continue ; } ClassReader classReader = entry . getValue ( ) ; ClassReader parent_cr = classReader ; while ( parent_cr != null ) { String parent_name = internalToBinaryClassName ( parent_cr . getSuperName ( ) ) ; if ( parent_name == null ) { break ; } else if ( super_name . equals ( parent_name ) ) { inOutFound . put ( className , classReader ) ; break ; } parent_cr = zipClasses . get ( parent_name ) ; } } }
checks all the classes defined in the jarclassname instance and uses bcel to determine if they are derived from the given fqcn super class name . inserts the super class and all the class objects found in the map .
