protected function ensureByService(AssetInterface $asset, $service)
    {
        if (is_string($service)) {
            $this->ensureByFilter($asset, $this->getServiceLocator()->get($service));
        } else {
            throw new Exception\RuntimeException(
                'Unexpected service provided. Expected string or callback.'
            );
        }
    }