Type Pair does not have type parametrs

Мне нужен метод, который получает на вход начало и конец отрезка и шаг.
программа рассчитывает функцию и ретурнит массив пар. первый параметр – значение аргумента, ​второй​ ​-​ ​соответствующие​ ​значения​ ​функции.
вот тут и вся сложность, не могу понять что lелаю не так. даже не могу обьявит массив Pair[]

static Pair[] function(Integer lowerBound, Integer upperBound, Integer step) {
    // f(x) = tg(2x) - 3;
    Double [] fx = new Double[]{};
    Integer [] x = new Integer[]{};
    Pair <Integer, Double> result = new Pair(x,fx);// вот на эту строчку он ругается
    for (int j = 0; lowerBound < upperBound ; lowerBound += step, j++) {
        fx[j] = Math.tan(lowerBound * 2) - 3;
        x[j] = lowerBound;