code: function () {
      var hvrevt, hoverEl
      // end previous hover
      if (this.state.has(this.HOVER_EVENT)) {
        this._unHover(this.state.get(this.HOVER_EVENT), true)
      }
      if (this.state.has(this.DRAGOVER_EVENT)) {
        this._unHover(this.state.get(this.DRAGOVER_EVENT), true)
      }
      if (this.dragging && this.state.get(this.DRAG_EVENT)) {
        hvrevt = {
          hand: this.el,
          hovered: hoverEl,
          carried: this.state.get(this.DRAG_EVENT)
        }
        hoverEl = this.findTarget(this.DRAGOVER_EVENT, hvrevt, true)
        if (hoverEl) {
          this.emitCancelable(this.state.get(this.DRAG_EVENT), this.DRAGOVER_EVENT, hvrevt)
          this.state.set(this.DRAGOVER_EVENT, hoverEl)
        }
      }
      // fallback to hover if not dragging or dragover wasn't successful
      if (!this.state.has(this.DRAGOVER_EVENT)) {
        hoverEl = this.findTarget(this.HOVER_EVENT, { hand: this.el }, true)
        if (hoverEl) {
          this.state.set(this.HOVER_EVENT, hoverEl)
        }
      }
    }
docs: /* search collided entities for target to hover/dragover