code: private Object resolve(FieldData fieldData) {
          Object value;
          if (fieldData.metaData.isThisReference()) {
              // The field is a @This reference
              value = convertThisResourceToFieldType(fieldData);
          } else if (fieldData.metaData.isChildrenAnnotationPresent()) {
              // The field is a collection of @Children
              value = resolveChildren(fieldData);
          } else if (fieldData.metaData.isReference()) {
              // The field is a @Reference
              value = resolveReferenceValueOfField(fieldData);
          } else if (fieldData.metaData.isPropertyType()) {
              // The field points to a property of the resource
              value = resolvePropertyTypedValue(fieldData);
          } else {
              // The field points to another resource
              value = resolveResource(fieldData.path, fieldData.metaData.getType());
          }
          return value;
      }
docs: Resolves the field's value with regard to the {@link io.neba.core.resourcemodels.metadata.MappedFieldMetaData}
  of the field.