### Question:
Objects { public static <T> Mapper<T, String> toStringValueFor(@SuppressWarnings("unused") Class<T> targetClass) { return new Mapper<T, String>() { @Override public String map(T input) { return input.toString(); } }; }  static boolean isNull(Object value); static boolean isNotNull(Object value); static UnaryPredicate<Object> whereNull(); static UnaryPredicate<Object> whereNotNull(); static Mapper<Object, String> toStringValue(); static Mapper<T, String> toStringValueFor(@SuppressWarnings("unused") Class<T> targetClass);  }### Answer:
@Test public void returnsConcreteTypeToStringValueMapper() { Integer value = 123; Mapper<Integer, String> mapper = Objects.toStringValueFor(Integer.class); String result = mapper.map(value); assertThat(result, is("123")); }
@Test(expected = NullPointerException.class) public void throwsNullPointerExceptionWhenNullPassedToConcreteToStringValue() { BigDecimal value = null; Objects.toStringValueFor(BigDecimal.class).map(value); }