web/src/main/java/org/springframework/security/web/util/ThrowableAnalyzer.java
protected final void registerExtractor(Class<? extends Throwable> throwableType,
			ThrowableCauseExtractor extractor) {
		Assert.notNull(extractor, "Invalid extractor: null");

		this.extractorMap.put(throwableType, extractor);
	}
protected final void registerExtractor(Class<? extends Throwable> throwableType,
			ThrowableCauseExtractor extractor) {
		Assert.notNull(extractor, "Invalid extractor: null");

		this.extractorMap.put(throwableType, extractor);
	}
protected final void registerExtractor ( Class < ? extends Throwable > throwableType , ThrowableCauseExtractor extractor ) { Assert . notNull ( extractor , "Invalid extractor: null" ) ; this . extractorMap . put ( throwableType , extractor ) ; }
Registers a <code>ThrowableCauseExtractor</code> for the specified type. <i>Can be
used in subclasses overriding {@link #initExtractorMap()}.</i>

@param throwableType the type (has to be a subclass of <code>Throwable</code>)
@param extractor the associated <code>ThrowableCauseExtractor</code> (not
<code>null</code>)

@throws IllegalArgumentException if one of the arguments is invalid
Registers a <code > ThrowableCauseExtractor< / code > for the specified type . <i > Can be used in subclasses overriding { @link #initExtractorMap () } . < / i >