public void generate() throws FileNotFoundException, IOException {
  TreeMap<String,byte[]> all=new TreeMap<String,byte[]>();
  for (  Class<?> clazz : mInjectClasses) {
    String name=classToEntryPath(clazz);
    InputStream is=ClassLoader.getSystemResourceAsStream(name);
    ClassReader cr=new ClassReader(is);
    byte[] b=transform(cr,true);
    name=classNameToEntryPath(transformName(cr.getClassName()));
    all.put(name,b);
  }
  for (  Entry<String,ClassReader> entry : mDeps.entrySet()) {
    ClassReader cr=entry.getValue();
    byte[] b=transform(cr,true);
    String name=classNameToEntryPath(transformName(cr.getClassName()));
    all.put(name,b);
  }
  for (  Entry<String,ClassReader> entry : mKeep.entrySet()) {
    ClassReader cr=entry.getValue();
    byte[] b=transform(cr,true);
    String name=classNameToEntryPath(transformName(cr.getClassName()));
    all.put(name,b);
  }
  mLog.info("# deps classes: %d",mDeps.size());
  mLog.info("# keep classes: %d",mKeep.size());
  mLog.info("# renamed     : %d",mRenameCount);
  createJar(new FileOutputStream(mOsDestJar),all);
  mLog.info("Created JAR file %s",mOsDestJar);
}

public void generate ( ) throws FileNotFoundException , IOException { TreeMap < String , byte [ ] > all = new TreeMap < String , byte [ ] > ( ) ; for ( Class < ? > clazz : mInjectClasses ) { String name = classToEntryPath ( clazz ) ; InputStream is = ClassLoader . getSystemResourceAsStream ( name ) ; ClassReader cr = new ClassReader ( is ) ; byte [ ] b = transform ( cr , true ) ; name = classNameToEntryPath ( transformName ( cr . getClassName ( ) ) ) ; all . put ( name , b ) ; } for ( Entry < String , ClassReader > entry : mDeps . entrySet ( ) ) { ClassReader cr = entry . getValue ( ) ; byte [ ] b = transform ( cr , true ) ; String name = classNameToEntryPath ( transformName ( cr . getClassName ( ) ) ) ; all . put ( name , b ) ; } for ( Entry < String , ClassReader > entry : mKeep . entrySet ( ) ) { ClassReader cr = entry . getValue ( ) ; byte [ ] b = transform ( cr , true ) ; String name = classNameToEntryPath ( transformName ( cr . getClassName ( ) ) ) ; all . put ( name , b ) ; } mLog . info ( "# deps classes: %d" , mDeps . size ( ) ) ; mLog . info ( "# keep classes: %d" , mKeep . size ( ) ) ; mLog . info ( "# renamed     : %d" , mRenameCount ) ; createJar ( new FileOutputStream ( mOsDestJar ) , all ) ; mLog . info ( "Created JAR file %s" , mOsDestJar ) ; }
generates the final jar
