code: public <T> void generateFromStringTemplate(T model, String[] parameters, FileObject fileObject, String content) throws IOException {
          if  (fileObject.getName().endsWith(SOURCE_SUFFIX)) {
              TypeDef newModel = createTypeFromTemplate(model, parameters, content);
              if (processingEnv.getElementUtils().getTypeElement(newModel.getFullyQualifiedName()) != null) {
                  System.err.println("Skipping: " + fileObject.getName()+ ". File already exists.");
                  return;
              }
              if (classExists(newModel)) {
                  System.err.println("Skipping: " + newModel.getFullyQualifiedName()+ ". Class already exists.");
                  return;
              }
          }
          System.err.println("Generating: "+fileObject.getName());
          new CodeGeneratorBuilder<T>()
                  .withContext(context)
                  .withModel(model)
                  .withParameters(parameters)
                  .withWriter(fileObject.openWriter())
                  .withTemplateContent(content)
                  .build()
                  .generate();
      }
docs: Generates a source file from the specified {@link io.sundr.codegen.model.TypeDef}.
  
  @param model         The model of the class to generate.
  @param parameters    The external parameters to pass to the template.
  @param fileObject    Where to save the generated class.
  @param content       The template to use.
  @throws IOException  If it fails to create the source file.