} else if (iregex("^in ", originalTimeExpression)) {
	public long textToTime(String text) throws WTFException, 		   NumberFormatException {		Pattern when = Pattern.compile(timeExpressionPattern, Pattern.CASE_INSENSITIVE);		Matcher matcher = when.matcher(text);		if (!matcher.find())			throw new WTFException("I can't figure out when to send that.");		this.originalTimeExpression = matcher.group();		if (iregex("^in ", originalTimeExpression)) {			long unit = 0;			String unitWord = "";			if (iregex(secondUnit, originalTimeExpression)) {				unit = 1000;				unitWord = "second";			} else if (iregex(minuteUnit, originalTimeExpression)) {				unit = 1000 * 60;				unitWord = "minute";			} else if (iregex(hourUnit, originalTimeExpression)) {				unit = 1000 * 60 * 60;				unitWord = "hour";			} else if (iregex(dayUnit, originalTimeExpression)) {				unit = 1000 * 60 * 60 * 24;				unitWord = "day";			} else if (iregex(weekUnit, originalTimeExpression)) {				unit = 1000 * 60 * 60 * 24 * 7;				unitWord = "week";			} else if (iregex(monthUnit, originalTimeExpression)) {				unit = 1000 * 60 * 60 * 24 * 30;				unitWord = "month";			} else if (iregex(yearUnit, originalTimeExpression)) {				unit = 1000 * 60 * 60 * 24 * 365;				unitWord = "year";			} else { //default to minutes				unit = 1000 * 60;				unitWord = "minute";			}			String duration = iregexFind(counter, originalTimeExpression);			int dur = wordToInt(duration);			if (dur != 1)				unitWord += "s";			timeExpression = "in " + duration + " " + unitWord;			return System.currentTimeMillis() + unit * dur;		}		throw new WTFException("I recognize '" + this.originalTimeExpression + "', but I haven't learned what it means yet.");	}