public void SingleVisionAllStates(int inSeer, int inTarget, byte inVision){
		Iterator<GameState> i = AllStates.iterator();
		while(i.hasNext()){
			GameState a = i.next();
			if(a.SurviveSingleVision(inSeer, inTarget, inVision)){
				// state is allowed, and has been updated.
			} else { //state was not allowed, and is removed
				i.remove();
			}
		}
	}