anchor.diff:  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 that adapts a `Supplier<SecurityContext>` to provide a `DeferredSecurityContext`:
  -
  -[NOTE]
  -====
  -The adapted `Supplier` should return `null` when no `SecurityContext` is available, which was not the case with the `Supplier` returned from `loadContext(request)`.
  -====
  -
  -.Adapt `Supplier<SecurityContext>` to `DeferredSecurityContext`
  +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) {
  -	// Adapt a supplier that returns null when the context is not available
  -	Supplier<SecurityContext> supplier = () -> getContextOrNull(request);
  -	SecurityContextHolderStrategy strategy = SecurityContextHolder.getContextHolderStrategy();
   	return new DeferredSecurityContext() {
   		private SecurityContext securityContext;
   		private boolean isGenerated;
  
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: [source,kotlin,role="secondary"]
  ----
  override fun loadDeferredContext(request: HttpServletRequest): DeferredSecurityContext {
  	return object : DeferredSecurityContext {
  		private var securityContext: SecurityContext? = null
  		private var isGenerated = false
  
  		override fun get(): SecurityContext {
  			if (securityContext == null) {
  				securityContext = getContextOrNull(request)
  					?: SecurityContextHolder.getContextHolderStrategy().createEmptyContext()
  						.also { isGenerated = true }
  			}
  			return securityContext!!
  		}
  