web/src/main/java/org/springframework/security/web/access/channel/ChannelProcessingFilter.java
@Override
	public void afterPropertiesSet() {
		Assert.notNull(this.securityMetadataSource,
				"securityMetadataSource must be specified");
		Assert.notNull(this.channelDecisionManager,
				"channelDecisionManager must be specified");

		Collection<ConfigAttribute> attrDefs = this.securityMetadataSource
				.getAllConfigAttributes();

		if (attrDefs == null) {
			if (this.logger.isWarnEnabled()) {
				this.logger
						.warn("Could not validate configuration attributes as the FilterInvocationSecurityMetadataSource did "
								+ "not return any attributes");
			}

			return;
		}

		Set<ConfigAttribute> unsupportedAttributes = new HashSet<>();

		for (ConfigAttribute attr : attrDefs) {
			if (!this.channelDecisionManager.supports(attr)) {
				unsupportedAttributes.add(attr);
			}
		}

		if (unsupportedAttributes.size() == 0) {
			if (this.logger.isInfoEnabled()) {
				this.logger.info("Validated configuration attributes");
			}
		}
		else {
			throw new IllegalArgumentException(
					"Unsupported configuration attributes: " + unsupportedAttributes);
		}
	}
@Override
	public void afterPropertiesSet() {
		Assert.notNull(this.securityMetadataSource,
				"securityMetadataSource must be specified");
		Assert.notNull(this.channelDecisionManager,
				"channelDecisionManager must be specified");

		Collection<ConfigAttribute> attrDefs = this.securityMetadataSource
				.getAllConfigAttributes();

		if (attrDefs == null) {
			if (this.logger.isWarnEnabled()) {
				this.logger
						.warn("Could not validate configuration attributes as the FilterInvocationSecurityMetadataSource did "
								+ "not return any attributes");
			}

			return;
		}

		Set<ConfigAttribute> unsupportedAttributes = new HashSet<>();

		for (ConfigAttribute attr : attrDefs) {
			if (!this.channelDecisionManager.supports(attr)) {
				unsupportedAttributes.add(attr);
			}
		}

		if (unsupportedAttributes.size() == 0) {
			if (this.logger.isInfoEnabled()) {
				this.logger.info("Validated configuration attributes");
			}
		}
		else {
			throw new IllegalArgumentException(
					"Unsupported configuration attributes: " + unsupportedAttributes);
		}
	}
========================================================================================================