@Test
  void checkNotNullInputNullNotNullNullOutputNullPointerException() {
    assertThatExceptionOfType(NullPointerException.class)
        .isThrownBy(
            () -> {
              // Arrange
              final Object reference = null;
              final String errorMessageTemplate = "";
              final Object[] errorMessageArgs = null;
              Util.checkNotNull(reference, errorMessageTemplate, errorMessageArgs);
              // Method is not expected to return due to exception thrown
            });
    // Method is not expected to return due to exception thrown
  }
Ex. your {@code Foo} object would be null, but so would things like Number.
core/src/test/java/feign/UtilTest.java