protected DelimiterWriter(final Map columnMapping, final java.io.Writer output, final char delimiter, final char qualifier,
            final WriterOptions options) throws IOException {
        super(output);
        this.delimiter = delimiter;
        this.qualifier = qualifier;

        columnTitles = new ArrayList<String>();
        final List<ColumnMetaData> columns = (List<ColumnMetaData>) columnMapping.get(FPConstants.DETAIL_ID);
        for (final ColumnMetaData cmd : columns) {
            columnTitles.add(cmd.getColName());
        }
        // write the column headers
        if (options.isAutoPrintHeader()) {
            printHeader();
        }
    }