public double getAsDouble(final String key) {
		final Object v = burst.get(key);
		if(v==null) {
			return Double.NaN;
		}
		if(v instanceof Number) {
			return ((Number)v).doubleValue();
		}
		final String vstr;
		if(v instanceof String) {
			vstr = ((String)v).trim();;
		} else {
			vstr = v.toString().trim();
		}
		if(missingDoubleValue(vstr)) {
			return Double.NaN;
		}
		if(vstr.equalsIgnoreCase(doublePosInfString)) {
			return Double.POSITIVE_INFINITY;
		}
		if(vstr.equalsIgnoreCase(doubleNegInfString)) {
			return Double.NEGATIVE_INFINITY;
		}
		try {
			return Double.parseDouble(vstr);
		} catch (Exception ex) {
			return Double.NaN;
		}
	}