code: protected void code(String template, String packageName, String className, Supplier<Map<String, Object>> context) {
          StringBuffer code = generate(template, context);
          writeCode(packageName, className, code);
      }
docs: Generates and writes java code in one call.
  
  @param template    the relative template name (w/o path or package name)
  @param packageName the package name
  @param className   the class name
  @param context     a function to create the templates' context