private boolean _reverseGhosts(EnumMap<GHOST,MOVE> moves,boolean force)
	{
		boolean reversed=false;		
		boolean globalReverse=false;
			
		if(Math.random()<GHOST_REVERSAL)
			globalReverse=true;
		
		for(Entry<GHOST,MOVE> entry : moves.entrySet())
		{
			Ghost ghost=ghosts.get(entry.getKey());
		
			if(currentLevelTime>1 && ghost.lairTime==0 && ghost.lastMoveMade!=MOVE.NEUTRAL)
			{
				if(force || (powerPillWasEaten || globalReverse))
				{
					ghost.lastMoveMade=ghost.lastMoveMade.opposite();
					ghost.currentNodeIndex=currentMaze.graph[ghost.currentNodeIndex].neighbourhood.get(ghost.lastMoveMade);
					reversed=true;
					timeOfLastGlobalReversal = totalTime;
				}
			}
		}
		
		return reversed;
	}