Writer sourceWriter = getEnvironment().getFiler().createSourceFile(dispatchResultClassName,
dispatchElement).openWriter();
writer = new BuilderGenerationHelper(sourceWriter);
Collection<VariableElement> annotatedOutFields = reflection.getOutFields();
Collection<VariableElement> allFields = reflection.filterConstantFields(reflection.getOutFields());
Collection<VariableElement> optionalFields = reflection.sortFields(Out.class,
reflection.getOptionalFields(Out.class));
Collection<VariableElement> requiredFields = reflection.filterConstantFields(reflection.getOutFields());
requiredFields.removeAll(optionalFields);