code: public function vote(TokenInterface $token, $object, array $attributes): int
      {
          $result = VoterInterface::ACCESS_ABSTAIN;
  
          if (!\is_string($object)) {
              return $result;
          }
  
          if (!array_key_exists($object, $this->classPermissions)) {
              return $result;
          }
  
          $permissions = $this->classPermissions[$object];
  
          $result = VoterInterface::ACCESS_DENIED;
          foreach ($attributes as $attribute) {
              if (!array_key_exists($attribute, $permissions)) {
                  return VoterInterface::ACCESS_GRANTED; // No permissions means access is granted
              }
              if (null === $permissions[$attribute]) {
                  return VoterInterface::ACCESS_GRANTED; // Null means access granted
              }
  
              if ($this->decisionManager->decide($token, (array) $permissions[$attribute])) {
                  return VoterInterface::ACCESS_GRANTED;
              }
          }
  
          return $result;
      }
docs: {@inheritdoc}
  
  @throws \Exception