PrintWriter out = context.tryCreate(logger,
sourceType.getPackage().getName(), generatedSimpleSourceName);
// If an implementation already exists, we don't need to do any work
if (out != null) {
JClassType preferenceType = typeOracle.findType(Preference.class.getName().replace('$', '.'));
assert preferenceType != null;
// We really use a SourceWriter since it's convenient
SourceWriter sw = f.createSourceWriter(context, out);