public WebauthResponse(String token) {

		String[] value = Util.split(RESPONSE_SEP, token);

		// Note: the deprecated (since 1.4) URLEncoder.encode(String)
		// form is used here for 1.3 compatibility. Should really be
		// URLEncoder.encode(String,String)

		nFields = (value.length < FIELD_NAME.length) ? value.length
				: FIELD_NAME.length;
		data = new HashMap<String, String>(nFields);
		for (int i = 0; i < nFields; ++i)
			try {
				data.put(FIELD_NAME[i], URLDecoder.decode(value[i], "UTF-8"));
			} catch (UnsupportedEncodingException e) {
				// Shouldn't happen
				throw new Error("Unable to use encoding UTF-8");
			}

		int ultimate = token.lastIndexOf(RESPONSE_SEP);
		int penultimate = token.lastIndexOf(RESPONSE_SEP, ultimate - 1);
		if (penultimate > 0)
			rawData = token.substring(0, penultimate);

	}