code: func NewMarkupContentFromValue(value interface{}) *MarkupContent {
  	if value == nil {
  		return nil
  	}
  	switch value.(type) {
  	case string:
  		result := NewMarkupContentFromLegacy(value.(string))
  		return &result
  	case MarkupContent:
  		result := value.(MarkupContent)
  		return &result
  	case map[string]interface{}:
  		result := NewMarkupContentFromMap(value.(map[string]interface{}))
  		return &result
  	default:
  		return nil
  	}
  }
docs: // NewMarkupContentFromValue creates a MarkupContent from the given value,
  // by converting a 'string', a 'map[string]interface{}' or casting a 'MarkupContent'. Otherwise, it returns nil.