config/src/main/java/org/springframework/security/config/annotation/AbstractConfiguredSecurityBuilder.java
@Override
	protected final O doBuild() throws Exception {
		synchronized (configurers) {
			buildState = BuildState.INITIALIZING;

			beforeInit();
			init();

			buildState = BuildState.CONFIGURING;

			beforeConfigure();
			configure();

			buildState = BuildState.BUILDING;

			O result = performBuild();

			buildState = BuildState.BUILT;

			return result;
		}
	}
@Override
	protected final O doBuild() throws Exception {
		synchronized (configurers) {
			buildState = BuildState.INITIALIZING;

			beforeInit();
			init();

			buildState = BuildState.CONFIGURING;

			beforeConfigure();
			configure();

			buildState = BuildState.BUILDING;

			O result = performBuild();

			buildState = BuildState.BUILT;

			return result;
		}
	}
@ Override protected final O doBuild ( ) throws Exception { synchronized ( configurers ) { buildState = BuildState . INITIALIZING ; beforeInit ( ) ; init ( ) ; buildState = BuildState . CONFIGURING ; beforeConfigure ( ) ; configure ( ) ; buildState = BuildState . BUILDING ; O result = performBuild ( ) ; buildState = BuildState . BUILT ; return result ; } }
Executes the build using the {@link SecurityConfigurer}'s that have been applied
using the following steps:

<ul>
<li>Invokes {@link #beforeInit()} for any subclass to hook into</li>
<li>Invokes {@link SecurityConfigurer#init(SecurityBuilder)} for any
{@link SecurityConfigurer} that was applied to this builder.</li>
<li>Invokes {@link #beforeConfigure()} for any subclass to hook into</li>
<li>Invokes {@link #performBuild()} which actually builds the Object</li>
</ul>
Executes the build using the { @link SecurityConfigurer } s that have been applied using the following steps :