@CanIgnoreReturnValue
  public static <T extends @NonNull Object> T checkNotNull(
      T reference, @Nullable String errorMessageTemplate, Object @Nullable ... errorMessageArgs) {
    """
	Ensures that an object reference passed as a parameter to the calling method is not null.
	
	@param reference an object reference
	@param errorMessageTemplate a template for the exception message should the check fail. The
	message is formed by replacing each {@code %s} placeholder in the template with an
	argument. These are matched by position - the first {@code %s} gets {@code
	errorMessageArgs[0]}, etc. Unmatched arguments will be appended to the formatted message in
	square braces. Unmatched placeholders will be left as-is.
	@param errorMessageArgs the arguments to be substituted into the message template. Arguments
	are converted to strings using {@link String#valueOf(Object)}.
	@return the non-null reference that was validated
	@throws NullPointerException if {@code reference} is null
	@see Verify#verifyNotNull Verify.verifyNotNull()
    """
    if (reference == null) {
      throw new NullPointerException(lenientFormat(errorMessageTemplate, errorMessageArgs));
    }
    return reference;
  }
@CanIgnoreReturnValue
  public static <T extends @NonNull Object> T checkNotNull(
      T reference, @Nullable String errorMessageTemplate, Object @Nullable ... errorMessageArgs) {
    if (reference == null) {
      throw new NullPointerException(lenientFormat(errorMessageTemplate, errorMessageArgs));
    }
    return reference;
  }
@ CanIgnoreReturnValue public static < T extends @ NonNull Object > T checkNotNull ( T reference , @ Nullable String errorMessageTemplate , Object @ Nullable . . . errorMessageArgs ) { if ( reference == null ) { throw new NullPointerException ( lenientFormat ( errorMessageTemplate , errorMessageArgs ) ) ; } return reference ; }
Ensures that an object reference passed as a parameter to the calling method is not null.

@param reference an object reference
@param errorMessageTemplate a template for the exception message should the check fail. The
message is formed by replacing each {@code %s} placeholder in the template with an
argument. These are matched by position - the first {@code %s} gets {@code
errorMessageArgs[0]}, etc. Unmatched arguments will be appended to the formatted message in
square braces. Unmatched placeholders will be left as-is.
@param errorMessageArgs the arguments to be substituted into the message template. Arguments
are converted to strings using {@link String#valueOf(Object)}.
@return the non-null reference that was validated
@throws NullPointerException if {@code reference} is null
@see Verify#verifyNotNull Verify.verifyNotNull()
Ensures that an object reference passed as a parameter to the calling method is not null .