function concat ()
  {
    $a = new AppendIterator;
    foreach ($this->getIterator () as $it)
      $a->append (iterator ($it));
    $this->setIterator ($a);
    return $this;
  }
function concat ()
  {
    $a = new AppendIterator;
    foreach ($this->getIterator () as $it)
      $a->append (iterator ($it));
    $this->setIterator ($a);
    return $this;
  }
function concat ( ) { $ a = new AppendIterator ; foreach ( $ this -> getIterator ( ) as $ it ) $ a -> append ( iterator ( $ it ) ) ; $ this -> setIterator ( $ a ) ; return $ this ; }
Assumes the current iterator is a sequence of iterables and sets a new iterator that iterates over all of them.

>**Caution**
<p><br>When using {@see iterator_to_array()} to copy the values of the resulting sequence into an array, you
have to set the optional `use_key` argument to `FALSE`.<br>
When `use_key` is not `FALSE` any keys reoccuring in inner iterators will get overwritten in the returned array.
<p><br>When using {@see Flow::all()} the same problem may occur.<br>
You can use {@see Flow::pack()} or {@see Flow::reindex()} instead, if you need a monotonically increasing
sequence of keys.

@return $this
Assumes the current iterator is a sequence of iterables and sets a new iterator that iterates over all of them .