Converts each element to a String and concatenates the strings.
Iterates through elements of this iterable,
converts each one to a String by calling Object.toString,
and then concatenates the strings, with the
separator string interleaved between the elements.
String join([String separator = ""]) {
  Iterator<E> iterator = this.iterator;
  if (!iterator.moveNext()) return "";
  StringBuffer buffer = new StringBuffer();
  if (separator == null || separator == "") {
    do {
      buffer.write(iterator.current);
    } while (iterator.moveNext());
  } else {
    buffer.write(iterator.current);
    while (iterator.moveNext()) {
      buffer.write(separator);
      buffer.write(iterator.current);
    }
  }
  return buffer.toString();
}