Ануфриев - Лабораторная работа #3

@SuppressWarnings (value = "unchecked")
Эта строка нужна чтобы подавлять предупреждения компилятора о том, что он не имеет достаточно информации о типе для выполнения необходимых проверок, обеспечивающих безопасность типа.
В данном случае, компилятор решает, что тип переменной matcher небезопасен.
Явное приведение к типу Matcher с шаблоном <любого класса, который является суперклассом строки> приводит к этому предупреждению.

Вероятно в данной лабораторной работе этот шаблон не обязательно использовать, но если мы хотим использовать функцию assertThat в тестах, то вторым аргументом ей необходимо подать как раз Matcher <? super String>...