public function beforeFind(Event $event, Query $query, ArrayObject $options, $primary)
    {
        $status = array_key_exists('eav', $options) ? $options['eav'] : $this->config('status');

        if ($status) {
            $options['bundle'] = !isset($options['bundle']) ? null : $options['bundle'];
            $this->_initScopes();

            if (empty($this->_queryScopes['Eav\\Model\\Behavior\\QueryScope\\SelectScope'])) {
                return $query;
            }

            $selectedVirtual = $this->_queryScopes['Eav\\Model\\Behavior\\QueryScope\\SelectScope']->getVirtualColumns($query, $options['bundle']);
            $args = compact('options', 'primary', 'selectedVirtual');
            $query = $this->_scopeQuery($query, $options['bundle']);

            return $query->formatResults(function ($results) use ($args) {
                return $this->_hydrateEntities($results, $args);
            }, Query::PREPEND);
        }
    }