PrintWriter printWriter = context.tryCreate(logger, packageName, className);
// print writer if null, source code has ALREADY been generated,
if (printWriter == null) return;
IOCBootstrapGenerator iocBootstrapGenerator = new IOCBootstrapGenerator(typeOracle, context, logger);
if (modulePackage != null && modulePackage.length() != 0) {
iocBootstrapGenerator.setPackageFilter(modulePackage);
}
printWriter.append(iocBootstrapGenerator.generate(packageName, className));
// commit generated class
context.commit(logger, printWriter);
}