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