config/src/main/java/org/springframework/security/config/annotation/AbstractConfiguredSecurityBuilder.java
@SuppressWarnings("unchecked")
	public <C extends SecurityConfigurerAdapter<O, B>> C apply(C configurer)
			throws Exception {
		configurer.addObjectPostProcessor(objectPostProcessor);
		configurer.setBuilder((B) this);
		add(configurer);
		return configurer;
	}
@SuppressWarnings("unchecked")
	public <C extends SecurityConfigurerAdapter<O, B>> C apply(C configurer)
			throws Exception {
		configurer.addObjectPostProcessor(objectPostProcessor);
		configurer.setBuilder((B) this);
		add(configurer);
		return configurer;
	}
@ SuppressWarnings ( "unchecked" ) public < C extends SecurityConfigurerAdapter < O , B > > C apply ( C configurer ) throws Exception { configurer . addObjectPostProcessor ( objectPostProcessor ) ; configurer . setBuilder ( ( B ) this ) ; add ( configurer ) ; return configurer ; }
Applies a {@link SecurityConfigurerAdapter} to this {@link SecurityBuilder} and
invokes {@link SecurityConfigurerAdapter#setBuilder(SecurityBuilder)}.

@param configurer
@return the {@link SecurityConfigurerAdapter} for further customizations
@throws Exception
Applies a { @link SecurityConfigurerAdapter } to this { @link SecurityBuilder } and invokes { @link SecurityConfigurerAdapter#setBuilder ( SecurityBuilder ) } .