This concrete implementation polls all configured {@link AccessDecisionVoter}s for each {@link ConfigAttribute} and grants access if
only grant (or abstain) votes were received.
Other voting implementations usually pass the entire list of ConfigAttributes to the AccessDecisionVoter. This implementation differs in that each AccessDecisionVoter knows only about a single ConfigAttribute at a time.
If every AccessDecisionVoter abstained from voting, the decision will be based on the {@link #isAllowIfAllAbstainDecisions()} property (defaults to false).
@param authentication the caller invoking the method
@param object the secured object
@param attributes the configuration attributes associated with the method being invoked
@throws AccessDeniedException if access is denied