currentRootPath = new Path(project.getProperty(ROOT_PATHS[i]));
currentRootPath = this.getROOTPATHProperty(ROOT_PATHS[i]);
	protected String[] sortedRootPaths() {		// IMPROVE ME this poor algorithm is as result of the programmer's bad cold		if (sortedRootPaths == null) {			TreeMap map = new TreeMap();			Path currentRootPath = null;			int offSet = 0;			for (int i = 0; i < ROOT_PATHS.length; i++) {				currentRootPath = new Path(project.getProperty(ROOT_PATHS[i]));				if (map					.get(						new Integer(							currentRootPath.segmentCount() * 10 + offSet))					!= null) {					offSet++;				}				map.put(					new Integer(currentRootPath.segmentCount() * 10 + offSet),					ROOT_PATHS[i]);			}			sortedRootPaths = new String[ROOT_PATHS.length];			int sortedIndex = 0;			while (map.size() > 0) {				sortedRootPaths[sortedIndex++] =					(String) map.get(map.lastKey());				map.remove(map.lastKey());			}		}		return sortedRootPaths;	}