public Object getValue(String aggregate) {
		if ("min".equals(aggregate)) {
			return getMin();
		}
		if ("max".equals(aggregate)) {
			return getMax();
		}
		if ("avg".equals(aggregate)) {
			return getAverage();
		}
		if ("count".equals(aggregate)) {
			return getCount();
		}
		if ("sum".equals(aggregate)) {
			return getSum();
		}
		if (customAggregates != null) {
			if (customAggregates.containsKey(aggregate)) {
				return customAggregates.get(aggregate).getValue();
			}
		}
		throw new RuntimeException(
				"This aggregate can't provide value for \"" + aggregate + "\"");
	}