public ASection getASection(int pos) {
	Set <ASection> set =  aDataMap.keySet();
	Vector <ASection> results = new Vector <ASection>();
	ASection r = null;
	
	Iterator <ASection> it = set.iterator();
	while (it.hasNext()){
		ASection as = it.next();
		if (as.containsOffset(pos)) results.add(as);
	}
	if (results.isEmpty())return null;
	
	int distance = Analyst.MAX_CHARACTERS;
	for (int i=0; i<results.size(); i++){
		ASection temp = results.get(i);
			int curdistance = Math.abs(pos - temp.getMiddleOffset());
			if (curdistance < distance) {r = temp; distance = curdistance;}
			if (curdistance == distance){
				if(temp.getStartOffset()>r.getStartOffset()) r = temp;
			}
	}
	return r;
}