String className = element.toString();
String simpleName = element.getSimpleName().toString();
String generatedClassName = className + "Stephenerializer";
String simpleGeneratedClassName = simpleName + "Stephenerializer";
Filer filer = processingEnv.getFiler();
JavaFileObject sourceFile = filer.createSourceFile(generatedClassName);
StephenerializationPreprocessorFieldGenerator generator = new StephenerializationPreprocessorFieldGenerator();
Set<StephenerializationPreprocessorField> fields = generator.generateFields(element);
PreprocessingWriter w = new PreprocessingWriter(sourceFile.openWriter());
writePackageImportsAndClass(w, element, simpleGeneratedClassName);
w.indent();
writeWriteMethod(w, className, fields, stephenerializable);