code: private function copyItem(Model\SaleItemInterface $source, Model\SaleItemInterface $target)
      {
          $this->copy($source, $target, [
              'designation', 'description', 'reference', 'taxGroup', 'netPrice', 'weight', 'quantity',
              'position', 'compound', 'immutable', 'configurable', 'private', 'data',
          ]);
  
          // SubjectIdentity
          $this->copy($source->getSubjectIdentity(), $target->getSubjectIdentity(), [
              'provider', 'identifier',
          ]);
  
          // Adjustments
          foreach ($source->getAdjustments() as $sourceAdjustment) {
              $targetAdjustment = $this->saleFactory->createAdjustmentForItem($target);
              $target->addAdjustment($targetAdjustment);
              $this->copyAdjustment($sourceAdjustment, $targetAdjustment);
          }
  
          // Children
          foreach ($source->getChildren() as $sourceChild) {
              $targetChild = $this->saleFactory->createItemForSale($target->getSale());
              $target->addChild($targetChild);
              $this->copyItem($sourceChild, $targetChild);
          }
      }
docs: Copy the source item into the target item.
  
  @param Model\SaleItemInterface $source
  @param Model\SaleItemInterface $target