public static <T> T checkNotNull(final T obj) {
    return checkNotNull(obj, VALIDATE_IS_NOT_NULL_EX_MESSAGE);
  }
@Test
  public void testCheckNotNullSuccess() {
    Preconditions.checkNotNull(NON_NULL_STRING);
    // null supplier
    Preconditions.checkNotNull(NON_NULL_STRING, null);
    // ill-formated string supplier
    Preconditions.checkNotNull(NON_NULL_STRING, ()-> String.format("%d",
        NON_INT_STRING));
    // null pattern to string formatter
    Preconditions.checkNotNull(NON_NULL_STRING, NULL_FORMATTER, null, 1);
    // null arguments to string formatter
    Preconditions.checkNotNull(NON_NULL_STRING, EXPECTED_ERROR_MSG_ARGS,
        null, null);
    // illegal format exception
    Preconditions.checkNotNull(NON_NULL_STRING, "message %d %d",
        NON_INT_STRING, 1);
    // insufficient arguments
    Preconditions.checkNotNull(NON_NULL_STRING, EXPECTED_ERROR_MSG_ARGS,
        NON_INT_STRING);
    // null format in string supplier
    Preconditions.checkNotNull(NON_NULL_STRING,
        () -> String.format(NULL_FORMATTER, NON_INT_STRING));
  }