code: public static CSLDate toDateRange(String year, String month) {
  		//check if there's a date range, parse elements
  		//individually and merge them afterwards
  		String[] ms = null;
  		if (month != null) {
  			ms = month.split("-+|\u2013+");
  		}
  		String[] ys = null;
  		if (year != null) {
  			ys = year.split("-+|\u2013+");
  		}
  		
  		if (ys != null && ys.length > 1) {
  			//even if there is a month parse year only to avoid ambiguities
  			CSLDate d1 = toDateSingle(ys[0], null);
  			CSLDate d2 = toDateSingle(ys[ys.length - 1], null);
  			return merge(d1, d2);
  		} else if (ms != null && ms.length > 1) {
  			CSLDate d1 = toDateSingle(year, ms[0]);
  			CSLDate d2 = toDateSingle(year, ms[1]);
  			return merge(d1, d2);
  		}
  		
  		return toDateSingle(year, month);
  	}
docs: Parses the given year and month to a {@link CSLDate} object. Handles
  date ranges such as <code>xx-xx</code>.
  @param year the year to parse. Should be a four-digit number or a String
  whose last four characters are digits.
  @param month the month to parse. May be a number (<code>1-12</code>),
  a short month name (<code>Jan</code> to <code>Dec</code>), or a
  long month name (<code>January</code> to <code>December</code>). This
  method is also able to recognize month names in several locales.
  @return the {@link CSLDate} object or null if both, the year and the
  month, could not be parsed