code: public function cloneCellCollection(Worksheet $parent)
      {
          $this->storeCurrentCell();
          $newCollection = clone $this;
  
          $newCollection->parent = $parent;
          if (($newCollection->currentCell !== null) && (is_object($newCollection->currentCell))) {
              $newCollection->currentCell->attach($this);
          }
  
          // Get old values
          $oldKeys = $newCollection->getAllCacheKeys();
          $oldValues = $newCollection->cache->getMultiple($oldKeys);
          $newValues = [];
          $oldCachePrefix = $newCollection->cachePrefix;
  
          // Change prefix
          $newCollection->cachePrefix = $newCollection->getUniqueID();
          foreach ($oldValues as $oldKey => $value) {
              $newValues[str_replace($oldCachePrefix, $newCollection->cachePrefix, $oldKey)] = clone $value;
          }
  
          // Store new values
          $stored = $newCollection->cache->setMultiple($newValues);
          if (!$stored) {
              $newCollection->__destruct();
  
              throw new PhpSpreadsheetException('Failed to copy cells in cache');
          }
  
          return $newCollection;
      }
docs: Clone the cell collection.
  
  @param Worksheet $parent The new worksheet that we're copying to
  
  @return self