/**
  * Ensures the precision.
  *
  * @param date
  * @see DateHelper#getCalendar()
  */
 public DateHolder(final Date date) {
   this.calendar = DateHelper.getCalendar();
   if (date != null) {
     calendar.setTime(date);
   }
   ensurePrecision();
 }
 /**
  * Ensures the precision.
  *
  * @param date If null, the current date will be used.
  * @param precision
  * @see DateHelper#getCalendar()
  */
 public DateHolder(final Date date, final DatePrecision precision) {
   this.calendar = DateHelper.getCalendar();
   if (date != null) {
     this.calendar.setTime(date);
   }
   setPrecision(precision);
 }
 /**
  * Ensures the precision.
  *
  * @param date
  * @see DateHelper#getCalendar(TimeZone, Locale)
  */
 public DateHolder(
     final Date date,
     final DatePrecision precision,
     final TimeZone timeZone,
     final Locale locale) {
   this.calendar = DateHelper.getCalendar(timeZone, locale);
   this.calendar.setTime(date);
   setPrecision(precision);
 }
 /**
  * Ensures the precision.
  *
  * @see DateHelper#getCalendar()
  */
 public DateHolder(final DatePrecision precision) {
   this.calendar = DateHelper.getCalendar();
   setPrecision(precision);
 }
 /**
  * Ensures the precision.
  *
  * @param precision
  * @param locale
  * @see DateHelper#getCalendar(Locale)
  */
 public DateHolder(final DatePrecision precision, final Locale locale) {
   calendar = DateHelper.getCalendar(locale);
   setPrecision(precision);
 }
 /**
  * Initializes calendar with current date and uses the time zone and the locale of the ContextUser
  * if exists.
  *
  * @see DateHelper#getCalendar()
  */
 public DateHolder() {
   this.calendar = DateHelper.getCalendar();
 }
 /**
  * Ensures the precision.
  *
  * @param date
  * @param locale
  * @see DateHelper#getCalendar(Locale)
  */
 public DateHolder(final Date date, final Locale locale) {
   this.calendar = DateHelper.getCalendar(locale);
   calendar.setTime(date);
   ensurePrecision();
 }