private Stream<String> placePartOfChain(Stream<String> boardsStream) {
        Set<String> boards = boardsStream.collect(Collectors.toSet());
        Integer numberOfFigures = figureQuantityMap.get(getName());
        if (Objects.nonNull(numberOfFigures)) {
            IntStream.range(0, numberOfFigures)
                    .filter(e -> figureQuantityMap.containsKey(getName()))
                    .forEach(e -> {
                        Set<String> boardsToReturn = new HashSet<>();

                        boardsToReturn.addAll(placementBehavior.placeFiguresOnBoards(boards.stream()).collect(Collectors.toSet()));

                        boards.clear();
                        boards.addAll(boardsToReturn);

                        boardsToReturn.clear();
                    });
        }
        return boards.stream();
    }