public String stringify(boolean value) {
    throw new UnsupportedOperationException(
        "stringify(boolean) was called on a non-boolean stringifier: " + toString());
  }
@Test
  public void testTimeStringifier() {
    for (PrimitiveStringifier stringifier : asList(TIME_STRINGIFIER, TIME_UTC_STRINGIFIER)) {
      String timezoneAmendment = (stringifier == TIME_STRINGIFIER ? "" : "+0000");

      assertEquals(withZoneString("00:00:00.000", timezoneAmendment), stringifier.stringify(0));
      assertEquals(withZoneString("00:00:00.000000", timezoneAmendment), stringifier.stringify(0l));

      assertEquals(withZoneString("12:34:56.789", timezoneAmendment), stringifier.stringify((int)
          convert(MILLISECONDS, 12, 34, 56, 789)));
      assertEquals(
          withZoneString("12:34:56.789012", timezoneAmendment),
          stringifier.stringify(convert(MICROSECONDS, 12, 34, 56, 789012)));

      assertEquals(withZoneString("-12:34:56.789", timezoneAmendment), stringifier.stringify((int)
          convert(MILLISECONDS, -12, -34, -56, -789)));
      assertEquals(
          withZoneString("-12:34:56.789012", timezoneAmendment),
          stringifier.stringify(convert(MICROSECONDS, -12, -34, -56, -789012)));

      assertEquals(withZoneString("123:12:34.567", timezoneAmendment), stringifier.stringify((int)
          convert(MILLISECONDS, 123, 12, 34, 567)));
      assertEquals(
          withZoneString("12345:12:34.056789", timezoneAmendment),
          stringifier.stringify(convert(MICROSECONDS, 12345, 12, 34, 56789)));

      assertEquals(withZoneString("-123:12:34.567", timezoneAmendment), stringifier.stringify((int)
          convert(MILLISECONDS, -123, -12, -34, -567)));
      assertEquals(
          withZoneString("-12345:12:34.056789", timezoneAmendment),
          stringifier.stringify(convert(MICROSECONDS, -12345, -12, -34, -56789)));

      checkThrowingUnsupportedException(stringifier, Integer.TYPE, Long.TYPE);
    }
  }