private void performAnnouncement(Declaration ann, Player curPlayer){
		Suspect announcedSuspect = ann.getSuspect();
		Weapon announcedWeapon = ann.getWeapon();
		Room announcedRoom = ann.getRoom();
		Player foundPlayer = null;
		
		for (Player player : players){
			if (player.getSuspect().equals(announcedSuspect)){
				foundPlayer = player;
			}
		}
		
		if (foundPlayer != null && !foundPlayer.equals(curPlayer)){
			System.out.println("Moving "+announcedSuspect.getName()+" to announced room "+announcedRoom);
			sleep(1000);
			moveToRoom(foundPlayer,announcedRoom);
		}
		System.out.println("Moving "+announcedWeapon+" to announced room "+announcedRoom);
		announcedWeapon.setRoom(announcedRoom);
		sleep(1000);
		System.out.println("Can any player disprove the suggestion?");
		int disproveCount = 0;
		
		//this loop cycles through the players and carries out the "Dispute" mechanism,
		//whereby players can dispute an announcement on the basis that they have a card
		//being suggested
		Player cyclePlayer = null;
		players.offer(curPlayer);
		while((cyclePlayer = players.poll()) != curPlayer){
			
			if(cyclePlayer.getHand().contains(new Card(announcedSuspect))){
				disproveCount += printRevelation(cyclePlayer,announcedSuspect);
			}
			else if(cyclePlayer.getHand().contains(new Card(announcedWeapon))){
				disproveCount += printRevelation(cyclePlayer,announcedWeapon);
			}
			else if(cyclePlayer.getHand().contains(new Card(announcedRoom))){
				disproveCount += printRevelation(cyclePlayer,announcedRoom);
				
			}
			players.offer(cyclePlayer);
		}
		if(disproveCount == 0){
			System.out.println("No players disputed the suggestion!");
		}
	}