protected void pageRooms(CMProps page, Map<String, String> table, PairList<CompiledZMask,String> masks, String start)
	{
		List<Integer> ints=new ArrayList<Integer>();
		for(final Enumeration<Object> i=page.keys();i.hasMoreElements();)
		{
			final String k=(String)i.nextElement();
			if(k.startsWith(start+"_"))
			{
				final String kr=k.substring(start.length()+1);
				if(kr.startsWith("MASK"))
				{
					final String m=page.getProperty(k);
					int x=m.indexOf('=');
					if(x<0)
						Log.errOut("INI Entry '"+k+m+"' is malformed!");
					else
						masks.add(CMLib.masking().maskCompile(m.substring(x+1).trim()), m.substring(0,x).trim());
				}
				else
				if(CMath.isInteger(kr))
					ints.add(Integer.valueOf(CMath.s_int(kr)));
				else
					table.put(kr,page.getProperty(k));
			}
		}
		Collections.sort(ints);
		int lastPlayerLevel = CMath.s_int(page.getProperty(Int.LASTPLAYERLEVEL.name()))+10;
		for(int i=ints.size()-1;i>=0;i--)
		{
			final Integer I=ints.get(i);
			final String k=start+"_"+I.toString();
			final int upTo=(lastPlayerLevel > I.intValue()) ? lastPlayerLevel : (I.intValue()+1);
			if(page.containsKey(k))
			{
				for(int lvl=I.intValue();lvl<upTo;lvl++)
				{
					if(!table.containsKey(""+lvl))
						table.put(""+lvl,page.getProperty(k));
				}
			}
		}
		final String thisOne=page.getProperty(start);
		if((thisOne!=null)&&(thisOne.length()>0))
			table.put("ALL",thisOne);
	}