@Override
@Deprecated
public ImmutableList<Double> generate(RandomGenerator rng) {
// we model the announcements as a Poisson process, which means that
// the interarrival times are exponentially distributed.
final ExponentialDistribution ed = new ExponentialDistribution(1d / gai);
ed.reseedRandomGenerator(rng.nextLong());
double sum = 0;
final List<Double> arrivalTimes = newArrayList();
while (sum < length) {
// final long nt = DoubleMath
// .roundToLong(ed.sample() * 60d, RoundingMode.HALF_DOWN);
// ignore values which are smaller than the time unit (one
// minute), unless its the first value.
// if (/*nt > 0 ||*/ arrivalTimes.isEmpty()) {
sum += ed.sample() * 60d;
if (sum < length) {
arrivalTimes.add(sum);
} else if (arrivalTimes.isEmpty()) {
// there is a small probability where the first
// generated arrival time is greater than length. This