public function acquire(AcquirerInterface $acquirer, ResourceInterface $resource)
    {
        if (!$this->isAccessible($acquirer, $resource)) {
            throw new ResourceLockedException(sprintf('The resource is not accessible. It is locked by "%s".', $resource->getLock()->getAcquirer()->getIdentifier()));
        }

        return $this->repository->acquire($acquirer, $resource);
    }