Как генерировать дискретные случайные события с распределением Пуассона?

Мне известен алгоритм Кнута для генерации случайных распределенных чисел Пуассона (ниже в Java), но как мне перевести это в вызов метода,generateEvent()Случайно со временем?

int poissonRandomNumber(int lambda) {
    double L = Math.exp(-lambda);
    int k = 0;
    double p = 1;
    do {
        k = k + 1;
        double u = Math.random();
        p = p * u;
    } while (p > L);
    return k - 1;
}

Ответы на вопрос(2)

Ваш ответ на вопрос