code: function moveAsSubItem(
      opts: Options,
      change: Change,
      // The list item to add
      item: Block,
      // The key of the destination node
      destKey: string
  ): Change {
      const destination = change.value.document.getDescendant(destKey);
      const lastIndex = destination.nodes.size;
      const lastChild = destination.nodes.last();
  
      // The potential existing last child list
      const existingList = isList(opts, lastChild) ? lastChild : null;
  
      if (existingList) {
          return change.moveNodeByKey(
              item.key,
              existingList.key,
              existingList.nodes.size // as last item
          );
      }
      const currentList = getListForItem(opts, change.value, destination);
      if (!currentList) {
          throw new Error('Destination is not in a list');
      }
  
      const newSublist = Block.create({
          object: 'block',
          type: currentList.type,
          data: currentList.data
      });
  
      change.insertNodeByKey(destKey, lastIndex, newSublist, {
          normalize: false
      });
  
      return change.moveNodeByKey(item.key, newSublist.key, 0);
  }
docs: Move the given item to the sublist at the end of destination item,
  creating a sublist if needed.