docs: @Nonnull
  	public final LSrtSupplier build() {
  
  		final LSrtSupplier eventuallyFinal = this.eventually;
  
  		LSrtSupplier retval;
  
  		final Case<LBoolSupplier, LSrtSupplier>[] casesArray = cases.toArray(new Case[cases.size()]);
  		retval = LSrtSupplier.srtSup(() -> {
  			try {
  				for (Case<LBoolSupplier, LSrtSupplier> aCase : casesArray) {
  					if (aCase.casePredicate().getAsBool()) {
  						return aCase.caseFunction().getAsSrt();
  					}
  				}
  
  				return eventuallyFinal.getAsSrt();
  			} catch (Error e) { // NOSONAR
  					throw e;
  				} catch (Throwable e) { // NOSONAR
  					throw Handler.handleOrPropagate(e, handling);
  				}
  			});
  
  		if (consumer != null) {
  			consumer.accept(retval);
  		}
  		return retval;
  	}