}
try {
logger.info("sampling {} of {}",
subsampleFraction, source.getName());
Closer closer = Closer.create();
RatingWriter subsampleWriter = closer.register(RatingWriters.csv(subsampleFile));
try {
mode.doSample(source, subsampleWriter, subsampleFraction, getProject().getRandom());
} catch (Throwable th) {
throw closer.rethrow(th);
} finally {