public static <T extends CharSequence> T notBlank(T chars, String message, Object... values) {
        if (chars == null) {
            throw new NullPointerException(String.format(message, values));
        }
        if (StringUtils.isBlank(chars)) {
            throw new IllegalArgumentException(String.format(message, values));
        }
        return chars;
    }
<p>Validate that the specified argument character sequence is
neither {@code null}, a length of zero (no characters), empty
nor whitespace; otherwise throwing an exception with the specified
message.

<pre>Validate.notBlank(myString, "The string must not be blank");</pre>

@param <T> the character sequence type
@param chars  the character sequence to check, validated not null by this method
@param message  the {@link String#format(String, Object...)} exception message if invalid, not null
@param values  the optional values for the formatted exception message, null array not recommended
@return the validated character sequence (never {@code null} method for chaining)
@throws NullPointerException if the character sequence is {@code null}
@throws IllegalArgumentException if the character sequence is blank
@see #notBlank(CharSequence)

@since 3.0
android/android_framework/base/src/main/java/lang3/Validate.java