@Override
	public Room unDock(boolean moveToOutside)
	{
		final Room dock=getIsDocked();
		Room exitRoom = null;
		if(dock==null)
			return null;
		for(final Enumeration<Room> e=getProperMap();e.hasMoreElements();)
		{
			final Room R=e.nextElement();
			if(R!=null)
			{
				for(int d=Directions.NUM_DIRECTIONS()-1;d>=0;d--)
				{
					final Room nextR=R.rawDoors()[d];
					if((nextR!=null)
					&&((nextR==dock)||(nextR.getArea()!=this)))
					{
						exitRoom=R;
						R.rawDoors()[d]=null;
					}
				}
			}
		}
		shipExitCache.clear();
		savedDock=null;
		return exitRoom;
	}