public Room origin(MOB mob, Environmental meThang)
	{
		if(meThang instanceof LandTitle)
			return ((LandTitle)meThang).getAllTitledRooms().get(0);
		else
		if(meThang instanceof MOB)
			return ((MOB)meThang).getStartRoom();
		else
		if(meThang instanceof Item)
		{
			final Item me=(Item)meThang;
			try
			{
				// check mobs worn items first!
				final String srchStr="$"+me.Name()+"$";
				Environmental E=CMLib.map().findFirstShopStocker(CMLib.map().rooms(), mob, srchStr, 10);
				if(E!=null) return CMLib.map().getStartRoom(E);
				E=CMLib.map().findFirstInventory(CMLib.map().rooms(), mob, srchStr, 10);
				if(E!=null) return CMLib.map().getStartRoom(E);
				return CMLib.map().findWorldRoomLiberally(mob,srchStr, "I",10,600000);
			}catch(final NoSuchElementException nse){}
		}
		return null;
	}