anchor.diff:  		@Override
   		public SecurityContext get() {
   			if (this.securityContext == null) {
  -				this.securityContext = supplier.get();
  +				this.securityContext = getContextOrNull(request);
   				if (this.securityContext == null) {
  +					SecurityContextHolderStrategy strategy = SecurityContextHolder.getContextHolderStrategy();
   					this.securityContext = strategy.createEmptyContext();
   					this.isGenerated = true;
   				}
  
positive.code: [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 }
  			}
  			return securityContext!!
  		}
  
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;
  