code: @Override
  	public Mono<MongoSession> findById(String id) {
  
  		return findSession(id) //
  				.map(document -> convertToSession(this.mongoSessionConverter, document)) //
  				.filter(mongoSession -> !mongoSession.isExpired()) //
  				.switchIfEmpty(Mono.defer(() -> this.deleteById(id).then(Mono.empty())));
  	}
docs: Gets the {@link MongoSession} by the {@link MongoSession#getId()} or {@link Mono#empty()} if no
  {@link MongoSession} is found.
  
  @param id the {@link MongoSession#getId()} to lookup
  @return the {@link MongoSession} by the {@link MongoSession#getId()} or {@link Mono#empty()} if no
  {@link MongoSession} is found.