anchor.diff:  [source,kotlin,role="secondary"]
   ----
   override fun loadDeferredContext(request: HttpServletRequest): DeferredSecurityContext {
  -	// Adapt a supplier that returns null when the context is not available
  -	val supplier: Supplier<SecurityContext?> = SingletonSupplier.of {
  -		getContextOrNull(request)
  -	}
  -	val strategy = SecurityContextHolder.getContextHolderStrategy()
   	return object : DeferredSecurityContext {
   		private var securityContext: SecurityContext? = null
   		private var isGenerated = false
   
   		override fun get(): SecurityContext {
   			if (securityContext == null) {
  -				securityContext = supplier.get()
  -					?: strategy.createEmptyContext().also { isGenerated = true }
  +				securityContext = getContextOrNull(request)
  +					?: SecurityContextHolder.getContextHolderStrategy().createEmptyContext()
  +						.also { isGenerated = true }
   			}
   			return securityContext!!
   		}
  
positive.code: 		@Override
  		public SecurityContext get() {
  			if (this.securityContext == null) {
  				this.securityContext = supplier.get();
  				if (this.securityContext == null) {
  					this.securityContext = strategy.createEmptyContext();
  					this.isGenerated = true;
  				}
  
negative.code: In Spring Security 6, the deprecated method was removed.
  If you have implemented `SecurityContextRepository` yourself and added an implementation of the `loadContext(request)` method, you can prepare for Spring Security 6 by removing the implementation of that method and implementing the new method instead.
  
  To get started implementing the new method, use the following example to provide a `DeferredSecurityContext`:
  
  .Provide `DeferredSecurityContext`
  ====
  .Java
  [source,java,role="primary"]
  ----
  @Override
  public DeferredSecurityContext loadDeferredContext(HttpServletRequest request) {
  	return new DeferredSecurityContext() {
  		private SecurityContext securityContext;
  		private boolean isGenerated;
  