/** * Возвращает список тегов книг авторов, указанных списком идентификаторов * @param authors список авторов * @param searchAuthorIds список идентификаторов авторов, теги книг которых необходимо получить * @return список тегов книг указанных авторов */ public static List<Tag> getTagsOfAuthorsBooks(List<Author> authors, List<String> searchAuthorIds) { return authors.stream() .filter(a -> searchAuthorIds.contains(a.id)) .flatMap(a -> a.books.stream()) .flatMap(b -> b.tags.stream()) .collect(Collectors.toList()); }