for (Element enclosedElement : enclosedElements) {
if (enclosedElement instanceof VariableElement) {
VariableElement field = (VariableElement) enclosedElement;
if (!field.getModifiers().contains(Modifier.STATIC)) {
if (validField(field)) {
fields.add(new Field(field.asType().toString(), field.getSimpleName().toString()));
} else if (embedded(field)) {
System.out.println("embedded");
System.out.println("field = " + field);
embeds.add(new Field(encodeEmbedName(field), field.getSimpleName().toString()));
} else if (reference(field)) {