• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/internals/entitycollection.php
  • Класс: BitrixSaleInternalsEntityCollection
  • Вызов: EntityCollection::createClone
public function createClone(SplObjectStorage $cloneEntity)
{
	if ($this->isClone() && $cloneEntity->contains($this))
	{
		return $cloneEntity[$this];
	}

	$entityClone = clone $this;
	$entityClone->isClone = true;

	if (!$cloneEntity->contains($this))
	{
		$cloneEntity[$this] = $entityClone;
	}

	/**
	 * @var int key
	 * @var CollectableEntity $entity
	 */
	foreach ($entityClone->collection as $key => $entity)
	{
		if (!$cloneEntity->contains($entity))
		{
			$cloneEntity[$entity] = $entity->createClone($cloneEntity);
		}

		$entityClone->collection[$key] = $cloneEntity[$entity];
	}

	return $entityClone;
}