private final Iterable<Room> buildAppropriateRoomIterable(final QuestState q, final Iterable useThese)
	{
		final Enumeration<Room> e;
		if(useThese!=null)
			e=new IteratorEnumeration<Room>(useThese.iterator());
		else
		if(q.area!=null)
			e=q.area.getMetroMap();
		else
			e=CMLib.map().rooms();
		final LinkedList<Room> list=new LinkedList<Room>();
		for(;e.hasMoreElements();)
			list.add(e.nextElement());
		return list;
	}