removeChild (node, updateDom) {
    if (this.childs) {
      const index = this.childs.indexOf(node)

      if (index !== -1) {
        if (index < this.visibleChilds && this.expanded) {
          this.visibleChilds--
        }

        node.hide()

        // delete old search results
        delete node.searchField
        delete node.searchValue

        const removedNode = this.childs.splice(index, 1)[0]
        removedNode.parent = null

        if (updateDom !== false) {
          this.updateDom({ updateIndexes: true })
        }

        return removedNode
      }
    }

    return undefined
  }
Remove a child from the node.
Only applicable when Node value is of type array or object
@param {Node} node   The child node to be removed;
@param {boolean} [updateDom]  If true (default), the DOM of the parent
                              node will be updated (like child count)
@return {Node | undefined} node  The removed node on success,
                                            else undefined