) {
      throw new ConcurrentModificationError(this);
    }
    StringBuffer buffer = new StringBuffer(first);
    for (int i = 1; i &lt; length; i++) {
      buffer.write(separator);
      buffer.write(elementAt(i));
      if (length != this.length) {
        throw new ConcurrentModificationError(this);
      }
    }
    return buffer.toString();
  } else {
    StringBuffer buffer = new StringBuffer();
    for (int i = 0; i &lt; length; i++) {
      buffer.write(elementAt(i));
      if (length != this.len