writer.generateFieldAccessors(annotatedOutFields);
writer.generateEquals(dispatchResultSimpleName, annotatedOutFields);
writer.generateHashCode(annotatedOutFields);
writer.generateToString(dispatchResultSimpleName, annotatedOutFields);
writer.generateFooter();
} catch (IOException e) {
throw new RuntimeException(e);
} finally {
if (writer != null) {
writer.close();