В задаче вижу вот такое объявление класса class Pair <X, Y> {}, и далее объявление переменной такого типа данных Pair<Integer, Integer> result До этого не было объяснения или примера такого синтаксиса. Где о нём почитать?