private boolean isStable(Board board, Location move, int identifier) {
		// create copy of board to sim
		// this.simBoard = Board.copy(board);
		int oppID = (identifier % 2) + 1;
		Location attempt;

		// this.simBoard.getTile(move.getHorizontal(),
		// move.getVertical()).setColor(identifier);

		for (int i = 0; i < Game.SIZE; i++) {
			for (int j = 0; j < Game.SIZE; j++) {

				if (this.simBoard.getTile(i, j).getColor() == 0) {
					// this.simBoard.getTile(i, j).setColor(oppID);

					for (int k = 0; k < Game.SIZE; k++) {
						for (int l = 0; l < Game.SIZE; l++) {

							this.simBoard = Board.copy(board);
							this.simBoard.getTile(move.getHorizontal(),
									move.getVertical()).setColor(identifier);
							this.simBoard.getTile(i, j).setColor(oppID);

							attempt = new Tile(k, l);
							if (this.isValid(attempt, oppID)) {
								this.executeMove(simBoard, attempt, oppID, 0);

								if (this.simBoard.getTile(move.getHorizontal(),
										move.getVertical()).getColor() != identifier) {
									return false;
								}
							}
						}
					}
				}
			}
		}

		return true;
	}