public final class CaseProcedure<T>
CaseProcedure allows developers to create an object form of a case statement, which instead of being based on
a single switch value is based on a list of predicate / procedure combinations. For the first predicate
that returns true for a given value in the case statement, the corresponding procedure will be executed.