Reader r0 = getBaseFile(false) == null ? null : getBaseFile(false).getReader();
Document d0 = new Document(this, LineElementsFactory.create(this, r0, false));
Reader r1 = file.exists() ? new InputStreamReader(FileUtils.openInputStream(file), Constants.ENCODING) : null;
Document d1 = new Document(this, LineElementsFactory.create(this, r1, false));
DocumentDiff diff;
try {
diff = d0.diff(d1);
} finally {
IOUtils.closeQuietly(r0);
IOUtils.closeQuietly(r1);
}
diff.write(out, 3);
out.flush();
} catch (IOException e) {
throw exception("Error while writing diff.", e);
}