private void addRangeData(Range r) {
		Docuverse docuverse = r.refersTo();
		Integer begin = (Integer) r.begins();
		Integer end = (Integer) r.ends();
		String xpath = null;
		
		if (docuverse != null) {
			docuverseMap.get(docuverse).add(r);
		}
		
		if (begin == null) {
			begin = -1; /* To be indexed */
		}
		Set<Range> beginSet = rangeBeginLocationMap.get(begin);
		if (beginSet == null) {
			beginSet = new HashSet<Range>();
			rangeBeginLocationMap.put(begin, beginSet);
		}
		beginSet.add(r);
		
		if (end == null) { 
			end = -1; /* To be indexed */
		}
		Set<Range> endSet = rangeEndLocationMap.get(end);
		if (endSet == null) {
			endSet = new HashSet<Range>();
			rangeEndLocationMap.put(end, endSet);
		}
		endSet.add(r);
		
		if (r instanceof XPathRange) {
			xpath = ((XPathRange)r).hasXPathContext();
			if (xpath == null) {
				xpath = "";
			}
			Set<Range> xpathSet = rangeXPathPointerMap.get(xpath);
			if (xpathSet == null) {
				xpathSet = new HashSet<Range>();
				rangeXPathPointerMap.put(xpath, xpathSet);
			}
			xpathSet.add(r);
		}
	}