public function match(array $url, array $context = [])
    {
        if (empty($this->_compiledRoute)) {
            $this->compile();
        }

        if (isset($url['_entity'])) {
            $entity = $url['_entity'];
            $this->_checkEntity($entity);

            foreach ($this->keys as $field) {
                if (!isset($url[$field]) && isset($entity[$field])) {
                    $url[$field] = $entity[$field];
                }
            }
        }

        return parent::match($url, $context);
    }