MultipleRevisionIterator(final String element, final String startType, final Object start, final String endType, final Object end, final boolean getContentImmediately) {
			super(startType, start != null ? (start instanceof Date ? dateToTimestamp((Date) start) : start.toString()) : null);

			getParams = paramValuesToMap("action", "query", "format", "xml", "prop", "revisions", "titles", titleToAPIForm(element), "rvprop", "ids|flags|timestamp|user|comment|size", "rvdir", "newer", "rvlimit", "max");
			if (end != null) {
				getParams.put(endType, end.toString());
			}
			final Integer maxLag = getMaxLag();
			if (maxLag != null) {
				getParams.put("maxlag", maxLag.toString());
			}

			if (getContentImmediately) {
				getParams.put("rvprop", getParams.get("rvprop") + "|content");
			}

			this.getContentImmediately = getContentImmediately;
		}