@Override
	public void obliterateArea(Area A)
	{
		if(A==null)
			return;
		A.setAreaState(Area.State.STOPPED);
		List<Room> allRooms=new LinkedList<Room>();
		for(int i=0;i<2;i++)
		{
			for(Enumeration<Room> e=A.getProperMap();e.hasMoreElements();)
			{
				final Room R=e.nextElement();
				if(R!=null)
				{
					allRooms.add(R);
					emptyRoom(R,null,false);
					R.clearSky();
				}
			}
		}
		CMLib.database().DBDeleteAreaAndRooms(A);
		for(final Room R : allRooms)
			obliterateRoom(R);
		delArea(A);
		A.destroy(); // why not?
	}