docs: public void read(final File filename, final File tmpDir) {
          tempdir = tmpDir != null ? tmpDir : filename.getParentFile();
          try {
              final TransformerHandler s = stf.newTransformerHandler();
              s.getTransformer().setOutputProperty(OMIT_XML_DECLARATION, "yes");
              s.setResult(new StreamResult(output));
              setContentHandler(s);
              dirPath = filename.getParentFile();
              reader.setErrorHandler(new DITAOTXMLErrorHandler(filename.getAbsolutePath(), logger));
              topicParser.getContentHandler().startDocument();
              logger.info("Processing " + filename.getAbsolutePath());
              reader.parse(filename.toURI().toString());
              topicParser.getContentHandler().endDocument();
              output.write(topicBuffer.toByteArray());
          } catch (final RuntimeException e) {
              throw e;
          } catch (final Exception e) {
              logger.error(e.getMessage(), e) ;
          }
      }