code: private void processEmbeddedField(Field field) {
      // We are creating a PropertyMetadata for the embedded field... The new
      // Mapper, EmbeddedObjectMapper, takes care of mapping embedded fields
      // to embedded entities.
      Embedded embeddedAnnotation = field.getAnnotation(Embedded.class);
      String name = embeddedAnnotation.name();
      if (name == null || name.trim().length() == 0) {
        name = field.getName();
      }
      boolean indexed = embeddedAnnotation.indexed();
      boolean optional = embeddedAnnotation.optional();
      PropertyMetadata propertyMetadata = new PropertyMetadata(field, name, indexed, optional);
      metadata.putPropertyMetadata(propertyMetadata);
    }
docs: Processes a nested embedded field.
  
  @param field
  the embedded field.