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

      assertEquals(withZoneString("1970-01-01T00:00:00.000", timezoneAmendment), stringifier.stringify(0l));

      Calendar cal = Calendar.getInstance(UTC);
      cal.clear();
      cal.set(2017, Calendar.DECEMBER, 15, 10, 9, 54);
      cal.set(Calendar.MILLISECOND, 120);
      assertEquals(
          withZoneString("2017-12-15T10:09:54.120", timezoneAmendment),
          stringifier.stringify(cal.getTimeInMillis()));

      cal.clear();
      cal.set(1948, Calendar.NOVEMBER, 23, 20, 19, 1);
      cal.set(Calendar.MILLISECOND, 9);
      assertEquals(
          withZoneString("1948-11-23T20:19:01.009", timezoneAmendment),
          stringifier.stringify(cal.getTimeInMillis()));

      checkThrowingUnsupportedException(stringifier, Long.TYPE);
    }
  }