fullPath.getParentFile().mkdirs();
final PrintWriter out = new PrintWriter(fullPath);
final Map<String, Object> rootMap = populateRootMap(input, baseContext, packageName, className);
final TemplateModel model = new SimpleHash(rootMap);
template.process(model, out);
out.close();
} catch (TemplateException e) {
throw new RuntimeException("Unable to run template " + templateName + " to: " + fullPath, e);