code: func (r *GormWorkItemRepository) LoadBatchByID(ctx context.Context, ids []uuid.UUID) ([]*WorkItem, error) {
  	defer goa.MeasureSince([]string{"goa", "db", "workitem", "loadBatchById"}, time.Now())
  	res, err := r.LoadBatchFromDB(ctx, ids)
  	if err != nil {
  		return nil, errs.WithStack(err)
  	}
  	workitems := []*WorkItem{}
  	for _, ele := range res {
  		wiType, err := r.witr.Load(ctx, ele.Type)
  		if err != nil {
  			log.Error(nil, map[string]interface{}{
  				"wit_id": ele.Type,
  				"err":    err,
  			}, "error in loading type from DB")
  			return nil, errors.NewInternalError(ctx, err)
  		}
  		convertedWI, err := ConvertWorkItemStorageToModel(wiType, &ele)
  		if err != nil {
  			log.Error(nil, map[string]interface{}{
  				"wi_id": ele.ID,
  				"err":   err,
  			}, "error in converting WI")
  		}
  		workitems = append(workitems, convertedWI)
  	}
  	return workitems, nil
  }
docs: // LoadBatchByID returns work items for the given ids