public static OutputStream getOutputStream(String output, VariantOutputFormat outputFormat) throws IOException { boolean gzip = outputFormat.isGzip(); // output format has priority over output name OutputStream outputStream; if (isStandardOutput(output)) { // Unclosable OutputStream outputStream = new UnclosableOutputStream(System.out); } else { outputStream = new FileOutputStream(output); logger.debug("writing to %s", output); } // If compressed a GZip output stream is used if (gzip && outputFormat != VariantOutputFormat.AVRO_GZ) { outputStream = new GZIPOutputStream(outputStream); } else { outputStream = new BufferedOutputStream(outputStream); } logger.debug("using {} output stream", gzip ? "gzipped" : "plain"); return outputStream; }