private Set<String> placeFigureAtPositionOnBoard(char figure, int position, String board) {
        int dimension = (int) Math.sqrt(board.length()) + 1;
        isBoardLegal(board, dimension);

        Set<String> setOfPossibleBoards = new HashSet<>((int) IntStream
                                                        .range(0, board.length())
                                                        .filter(i -> board.charAt(i) == EMPTY_FIELD_CHAR)
                                                        .boxed()
                                                        .count());
        char[] boardArray = board.toCharArray();
        if (boardArray[position] == EMPTY_FIELD_CHAR) {
            if (isFigurePlacementOnPositionPossible(position, boardArray, dimension)) {
                boardArray[position] = figure;
                setOfPossibleBoards.add(new String(boardArray));
            }
        }
        return setOfPossibleBoards;
    }