protected function tryGetArrayCopy()
{
/** @var $it \Iterator|\ArrayIterator */
$it = $this->iterator;
return $it instanceof \ArrayIterator ? $it->getArrayCopy() : null;
}
/** {@inheritdoc} */ public function getIterator() { $canMultisort = $this->sortFlags !== null; $array = $this->source->tryGetArrayCopy(); $it = $this->trySortBySingleField($array, $canMultisort); if ($it !== null) { return $it; } return $this->sortByMultipleFields($array, $canMultisort); }