public WriterTableBufferedImpl write(final String delimiter, final Row<?> row)
      throws IOException {

    if (firstRow && colIds != null && colIds.size() > 0) {
      writer.write(UtilCollection.toString(colIds, delimiter));
      writer.newLine();
      firstRow = false;
    }
    writer.write(row.toString(delimiter));
    writer.newLine();
    return this;
  }
public class VisitorApplierProto<E> implements VisitorApplier<E> {

  protected final Collection<Visitor<E>> visitors = UtilCollection.newCollection();

  public synchronized void addVisitor(final Visitor<E> visitor) {

    visitors.add(visitor);
  }

  public synchronized void clearVisitors() {

    visitors.clear();
  }

  public synchronized Void transform(final E e) {

    for (final Visitor<E> v : visitors) {
      v.transform(e);
    }
    return null;
  }
}