public DiscretizedVanillaOption(VanillaOption.Arguments args, StochasticProcess process, TimeGrid grid) {
arguments_ = args;
stoppingTimes_ = new InitializedList<double>(args.exercise.dates().Count);
for (int i=0; i<stoppingTimes_.Count; ++i) {
stoppingTimes_[i] = process.time(args.exercise.date(i));
if (!grid.empty()) {
// adjust to the given grid
stoppingTimes_[i] = grid.closestTime(stoppingTimes_[i]);
}
}
}