/**
  * Construct a new ISODate based on its relation to a referenceDate. relativeDate should be
  * something like "today" or "tomorrow" or "last year" and the resulting ISODate will be the same
  * as the referenceDate, a day later, or a year earlier, respectively.
  */
 public ISODateInstance(ISODateInstance referenceDate, String relativeDate) {
   Pair<DateField, Integer> relation = relativeDateMap.get(relativeDate.toLowerCase());
   if (relation != null) {
     switch (relation.first()) {
       case DAY:
         incrementDay(referenceDate, relation);
         break;
       case MONTH:
         incrementMonth(referenceDate, relation);
         break;
       case YEAR:
         incrementYear(referenceDate, relation);
         break;
     }
   }
 }