docs: public Calendar calendarValue()
      {
          Calendar cal = new GregorianCalendar(_Private_Utils.UTC);
  
          long millis = getMillis();
          Integer offset = _offset;
          if (offset != null && offset != 0)
          {
              int offsetMillis = offset * 60 * 1000;
              millis += offsetMillis;
              cal.setTimeInMillis(millis);                // Resets the offset!
              cal.set(Calendar.ZONE_OFFSET, offsetMillis);
          }
          else
          {
              cal.setTimeInMillis(millis);
          }
  
          switch (_precision) {
              case YEAR:
                  cal.clear(Calendar.MONTH);
              case MONTH:
                  cal.clear(Calendar.DAY_OF_MONTH);
              case DAY:
                  cal.clear(Calendar.HOUR_OF_DAY);
                  cal.clear(Calendar.MINUTE);
              case MINUTE:
                  cal.clear(Calendar.SECOND);
                  cal.clear(Calendar.MILLISECOND);
              case SECOND:
                  if (_fraction == null) {
                      cal.clear(Calendar.MILLISECOND);
                  }
          }
  
          return cal;
      }