Collection<VariableElement> requiredFields = reflection.getNonConstantFields();
requiredFields.removeAll(optionalFields);
writer.generatePackageDeclaration(reflection.getPackageName());
writer.generateImports("com.google.gwt.user.client.rpc.IsSerializable");
writer.generateClassHeader(dtoSimpleName, null, reflection.getClassRepresenter().getModifiers(),
"IsSerializable");
writer.generateFieldDeclarations(orderedElementFields);
if (!optionalFields.isEmpty()) { // has optional fields.
writer.setWhitespaces(2);