public URLDataBuilder append(String key, Object value) {
		if (value == null || key == null || key.trim().length() == 0) {
			throw new IllegalArgumentException("Key and values must not be null and key must not be blank.");
		}
		if (this.builder.length() > 0) {
			this.builder.append("&");
		}
		try {
			this.builder
				.append(URLEncoder.encode(key, "UTF-8"))
				.append("=")
				.append(URLEncoder.encode(value.toString(), "UTF-8"));
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace(); // does not happen.
		}
		return this;
	}