private ChessPiece determineRankChessPiece(String rank, Set<ChessPiece> suspects, 
			Location destination) {
		// loop over suspects
		for (ChessPiece suspect : suspects) {
			if (suspect.getRank().equals(rank) && suspect.canReach(destination)) {
				return suspect;
			}
		}
		
		// throw error if nothing found
		throw new RuntimeException("Improperly formatted PGN file. " +
				"Could not find a piece that could've legally moved to "
				+ destination.getAlgebraicLocation());
	}