@Override
	public String next() {
		
		if(!hasNext) return null;
		
		String nurl = "";
		boolean withBreak = false;
		
		// Von rechts nach links wird erhöht
		for(int i = size-1; i >= 0; i--) {
			
			// Es wird nur erhöht, wenn die Zahl noch kleiner ist als der Endwert
			if(loops[i] < tagRange[i].getMax()) {
				
				nurl = buildURL();
				
				// Alle weiter rechts stehenden Zahlen werden zurückgesetzt
				for(int r = i+1; r < size; r++) {
					loops[r] = tagRange[r].getMin();
				}
				
				loops[i]++;
				withBreak = true;
				break;
			}				
		}
		
		if(!withBreak) {
			hasNext = false;
			nurl = buildURL();
		}
		
		return nurl;
	}