code: public static ZonedDateTime toZonedDateTime(final Calendar self) {
          if (self instanceof GregorianCalendar) { // would this branch ever be true?
              return ((GregorianCalendar) self).toZonedDateTime();
          } else {
              return ZonedDateTime.of(toLocalDateTime(self), getZoneId(self));
          }
      }
docs: <p>Converts the Calendar to a corresponding {@link java.time.ZonedDateTime}.</p><p>Note that
  {@link java.util.GregorianCalendar} has a {@link java.util.GregorianCalendar#toZonedDateTime} method,
  which is commonly the specific type of Calendar in use.</p>
  
  @param self a Calendar
  @return a ZonedDateTime
  @since 2.5.0