protected FileBlob findLatest(String dirName) throws FileNotFoundException {
		long latestNumber = -1;
		FileBlob latest = null;
		Matcher intMatcher = INTPAT.matcher("");
		for( File headRoot : headRoots ) {
			File dir = new File(headRoot, dirName);
			String[] entries = dir.list();
			if( entries == null ) continue;
			
			for( String e : entries ) {
				if( intMatcher.reset(e).matches() ) {
					long v = Long.parseLong(e);
					if( v > latestNumber ) {
						latestNumber = v;
						latest = new FileBlob(dir, e);
					}
				}
			}
		}
		
		if( latest == null ) throw new FileNotFoundException("Couldn't find head list '"+dirName+"'");
		return latest;
	}