public boolean isValidTilePlacement(int row, int column, int rotation) {
		int row2 = board.getAdjacentRow(rotation, row);
		int column2 = board.getAdjacentColumn(rotation, column);
		if (!board.isValidHex(row, column)
				|| board.getHex(row, column).getColor() != Board.VACANT
				|| !board.isValidHex(row2, column2)
				|| board.getHex(row2, column2).getColor() != Board.VACANT) {
			return false;
		}
		if (successfulMoves < 2) {
			// initial placement: verify that this move is adjacent to a corner
			// hex with no neighbors
			// does row, column have any corner hex in its neighbors
			Hex adjacentCornerHex1 = board.getHex(row, column)
					.adjacentCornerHex();
			Hex adjacentCornerHex2 = board.getHex(row2, column2)
					.adjacentCornerHex();
			if ((adjacentCornerHex1 == null || adjacentCornerHex1
					.hasAnyNeighbors())
					&& (adjacentCornerHex2 == null || adjacentCornerHex2
							.hasAnyNeighbors())) {
				return false;
			}
		}
		return true;
	}