Throwable or a super type of a Throwable. The
parameter type must be a java.util.function.Function or a java.util.function.BiFunction .
For a java. the input parameter must be a String which will be the message
associated with the method. The result type must Throwable or a super type of a Throwable.
For a java. one of the input parameters must be a String which will be the
message associated with the method. The other input parameter must be a Throwable or a super type of a
Throwable and must be assignable from the parameter annotated with Cause. The result type must
Throwable or a super type of a Throwable.
Example
@Message("The operation failed due to %s")
Example Usage
throw Bundle.MESSAGES.operationFailed(IllegalArgumentException::new, "start");
throw Bundle.MESSAGES.operationFailed(IllegalStateException::new, cause, "start");