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;
		}
	}
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>