code: func ConvertToWorkItemModel(ctx context.Context, db *gorm.DB, item TrackerItemContent, tq TrackerSchedule) (*workitem.WorkItem, error) {
  	remoteID := item.ID
  	content := string(item.Content)
  	trackerItem := TrackerItem{Item: content, RemoteItemID: remoteID, TrackerID: tq.TrackerID}
  	// Converting the remote item to a local work item
  	remoteTrackerItemConvertFunc, ok := RemoteWorkItemImplRegistry[tq.TrackerType]
  	if !ok {
  		return nil, BadParameterError{parameter: tq.TrackerType, value: tq.TrackerType}
  	}
  	remoteTrackerItem, err := remoteTrackerItemConvertFunc(trackerItem)
  	if err != nil {
  		return nil, InternalError{simpleError{message: fmt.Sprintf(" Error parsing the tracker data: %s", err.Error())}}
  	}
  	remoteWorkItem, err := Map(remoteTrackerItem, RemoteWorkItemKeyMaps[tq.TrackerType])
  	if err != nil {
  		return nil, ConversionError{simpleError{message: fmt.Sprintf("Error mapping to local work item: %s", err.Error())}}
  	}
  	workItem, err := setWorkItemFields(ctx, db, remoteWorkItem, tq)
  	if err != nil {
  		return nil, InternalError{simpleError{message: fmt.Sprintf("Error bind assignees: %s", err.Error())}}
  	}
  	return upsert(ctx, db, *workItem)
  }
docs: // Map a remote work item into an WIT work item and persist it into the database.