writeAll method
Iterates over the given objects and writes them in sequence.
If separator is provided, a write with the separator is performed
between any two elements of objects.
This operation is non-blocking. See flush or done for how to get any errors generated by this call.
Implementation
@override
void writeAll(Iterable objects, [String separator = '']) {
  var isFirst = true;
  for (var object in objects) {
    if (isFirst) {
      isFirst = false;
    } else {
      write(separator);
    }
    write(object);
  }
}