protected static void processRoomRelinks(List<String> reLinkTable, String areaName, Map<String, Room> areaHashedRoomSet, Map<String, Room> hashedRoomSet)
	{
		// try to re-link olde room links
		if(reLinkTable!=null)
		{
			for(int r=0;r<reLinkTable.size();r++)
			{
				final String link=reLinkTable.get(r);
				String nextLink="";
				if(r<(reLinkTable.size()-1))
					nextLink=reLinkTable.get(r+1);
				final int s1=link.indexOf('/');
				final int s2=link.lastIndexOf('/');
				final String sourceRoomID=link.substring(0,s1);
				synchronized(("SYNC"+sourceRoomID).intern())
				{
					final int direction=CMath.s_int(link.substring(s1+1,s2));
					final String destRoomID=link.substring(s2+1);
					final Room sourceRoom=getRoom(areaHashedRoomSet,hashedRoomSet,areaName,sourceRoomID);
					final Room destRoom=getRoom(areaHashedRoomSet,hashedRoomSet,areaName,destRoomID);
					if((sourceRoom==null)||(destRoom==null))
						Log.errOut("Import","Relink error: "+sourceRoomID+"="+sourceRoom+"/"+destRoomID+"="+destRoom);
					else
					{
						sourceRoom.rawDoors()[direction]=destRoom;
						if(((!hashedRoomSet.containsValue(sourceRoom)))
						&&((nextLink.length()==0)||(!nextLink.startsWith(sourceRoomID+"/"))))
							CMLib.database().DBUpdateExits(sourceRoom);
					}
				}
			}
		}
	}