final ReportGenerator textReportGenerator = new TextReportGenerator();
traverser.accept(new ProgressObservationVisitorDecorator(textReportGenerator, progressListener));
Document report = new Document().with(SUBJECT, getMessage(_, "observations"))
.with(BODY, textReportGenerator.getMessage())
.with(MIME_TYPE, textReportGenerator.getMimeType());
report = report.with(ATTACHMENT, new Document().with(SUBJECT, baseName + "." + extension)
.with(MIME_TYPE, mimeType)
.with(BODY, reportGenerator.getMessage()));