public function copyFrom($data)
{
if (is_array($data) || $data instanceof \Traversable) {
$this->clear();
foreach ($data as $item) {
$this->_d[] = $item;
++$this->_c;
}
} else {
if ($data !== null) {
throw new TInvalidDataTypeException('stack_data_not_iterable');
}
}
}