intersection({native}, nested = true) {
    if (native.children.length > 0 && nested) {
      const objects = [];
      native.traverse(child => objects.push(child));

      return this.raycaster.intersectObjects(objects);
    }

    return this.raycaster.intersectObject(native);
  }
@method intersection
@description Returns an intersection data
@param {Component} component A component that intersects with mouse ray (or doesn't)
@param {Boolean} nested Whether component's children should be tracked or not
@return {Array} intersection data.
@memberof module:modules/app.VirtualMouseModule