code: private final int trueClockMillis(boolean calibrate) {
          long now = System.currentTimeMillis() + _transition;
          _calendar.setTimeInMillis(now);
          _calendar.set(Calendar.HOUR_OF_DAY, 0);
          _calendar.set(Calendar.MINUTE, 0);
          _calendar.set(Calendar.SECOND, 0);
          _calendar.set(Calendar.MILLISECOND, 0);
          int clock = (int)(now - _calendar.getTimeInMillis());
          if (calibrate) {
              if (clock < _midnight) {
                  // between true midnight and just before the logical midnight - the second half of a logical day
                  _calendar.set(Calendar.DAY_OF_MONTH, _calendar.get(Calendar.DAY_OF_MONTH) + _offset - 1);
              } else {
                  // between logical midnight and just before the true mignight - the first half of a logical day
                  _calendar.set(Calendar.DAY_OF_MONTH, _calendar.get(Calendar.DAY_OF_MONTH) + _offset);
              }
              _date.setTimeInMillis(_calendar.getTimeInMillis());
          }
          return clock;
      }
docs: /*!
  Returns true clock: milliseconds since true midnight, optionally calibrating date
  
  @param calibrate - calibrates current date if set to true