code: def fill_empty_slots(self, items):
          
          for pos in self.get_empty_slots():
              item = {
                  "obj": self.context,
                  "id": self.context.id,
                  "uid": self.context.UID(),
                  "title": self.context.Title(),
                  "type_class": "blank-worksheet-row",
                  "url": self.context.absolute_url(),
                  "relative_url": self.context.absolute_url(),
                  "view_url": self.context.absolute_url(),
                  "path": "/".join(self.context.getPhysicalPath()),
                  "before": {},
                  "after": {},
                  "replace": {
                      "Pos": "<span class='badge'>{}</span> {}".format(
                          pos, _("Reassignable Slot"))
                  },
                  "choices": {},
                  "class": {},
                  "state_class": "state-empty",
                  "allow_edit": [],
                  "Pos": pos,
                  "pos_sortkey": "{:010}:{:010}".format(pos, 1),
                  "Service": "",
                  "Attachments": "",
                  "state_title": "",
                  "disabled": True,
              }
  
              items.append(item)
docs: Append dicts to the items passed in for those slots that don't have
          any analysis assigned but the row needs to be rendered still.
  
          :param items: dictionary with the items to be rendered in the list