docs: public static Interval extractInterval(String eventDate) {
      	Interval result = null;
      	DateTimeParser[] parsers = { 
      			DateTimeFormat.forPattern("yyyy-MM").getParser(),
      			DateTimeFormat.forPattern("yyyy").getParser(),
      			ISODateTimeFormat.dateOptionalTimeParser().getParser() 
      	};
      	DateTimeFormatter formatter = new DateTimeFormatterBuilder().append( null, parsers ).toFormatter();
      	if (eventDate!=null && eventDate.contains("/") && isRange(eventDate)) {
      		String[] dateBits = eventDate.split("/");
      		try { 
      			// must be at least a 4 digit year.
      			if (dateBits[0].length()>3 && dateBits[1].length()>3) { 
      				DateMidnight startDate = DateMidnight.parse(dateBits[0],formatter);
      				DateTime endDate = DateTime.parse(dateBits[1],formatter);
      				logger.debug(startDate);
      				logger.debug(endDate);
      				if (dateBits[1].length()==4) { 
      					result = new Interval(startDate,endDate.plusMonths(12).minus(1l));
      				} else if (dateBits[1].length()==7) { 
      					result = new Interval(startDate,endDate.plusMonths(1).minus(1l));
      				} else { 
      					result = new Interval(startDate, endDate.plusDays(1).minus(1l));
      				}
      				logger.debug(result);
      			}
      		} catch (Exception e) { 
      			// not a date range
                 logger.error(e.getMessage());
      		}
      	} else {
      		try { 
                 DateMidnight startDate = DateMidnight.parse(eventDate, formatter);
                 logger.debug(startDate);
                 if (eventDate.length()==4) { 
                    DateTime endDate = startDate.toDateTime().plusMonths(12).minus(1l);
                    result = new Interval(startDate, endDate);
                    logger.debug(result);
                 } else if (eventDate.length()==7) { 
                    DateTime endDate = startDate.toDateTime().plusMonths(1).minus(1l);
                    result = new Interval(startDate,endDate);
                    logger.debug(result);
                 } else { 
                    DateTime endDate = startDate.toDateTime().plusDays(1).minus(1l);
                    result = new Interval(startDate,endDate);
                    logger.debug(result);
                 }
      		} catch (Exception e) { 
      			// not a date
                 logger.error(e.getMessage());
      		}
      	}
      	return result;
      }