code: public static void escapeAndWriteDelimitedColumn(String str,
              char delimiter, Writer writer) throws IOException {
          if (str == null) {
              escapeAndWriteDelimitedColumn("NULL", delimiter, writer);
          } else if (containsNone(str, SEARCH_CHARS) && str.indexOf(delimiter) < 0) {
              writer.write(str);
          } else {
              writer.write(QUOTE);
              writeStr(str, writer);
              writer.write(QUOTE);
          }
      }
docs: Escapes a column in a delimited file and writes it directly to a
  {@link Writer}. This is somewhat more efficient than
  {@link #escapeDelimitedColumn(java.lang.String, char)} because it does
  less temporary object creation. The performance difference will become
  more apparent when writing large delimited files.
  
  @param str a column {@link String}. If <code>null</code>, the string
  <code>NULL</code> will be written out. If you want to write out something
  different when a <code>null</code> is encountered, use
  {@link #escapeAndWriteDelimitedColumn(java.lang.String, char, java.util.Map, java.io.Writer) }
  and specify a replacement.
  @param delimiter the file's delimiter character.
  @param writer the {@link Writer} to which to write the escaped column.
  @throws IOException if an error writing to <code>writer</code> occurs.