code: public function setWorksheet(Worksheet $pValue = null, $pOverrideOld = false)
      {
          if ($this->worksheet === null) {
              // Add drawing to \PhpOffice\PhpSpreadsheet\Worksheet\Worksheet
              $this->worksheet = $pValue;
              $this->worksheet->getCell($this->coordinates);
              $this->worksheet->getDrawingCollection()->append($this);
          } else {
              if ($pOverrideOld) {
                  // Remove drawing from old \PhpOffice\PhpSpreadsheet\Worksheet\Worksheet
                  $iterator = $this->worksheet->getDrawingCollection()->getIterator();
  
                  while ($iterator->valid()) {
                      if ($iterator->current()->getHashCode() == $this->getHashCode()) {
                          $this->worksheet->getDrawingCollection()->offsetUnset($iterator->key());
                          $this->worksheet = null;
  
                          break;
                      }
                  }
  
                  // Set new \PhpOffice\PhpSpreadsheet\Worksheet\Worksheet
                  $this->setWorksheet($pValue);
              } else {
                  throw new PhpSpreadsheetException('A Worksheet has already been assigned. Drawings can only exist on one \\PhpOffice\\PhpSpreadsheet\\Worksheet.');
              }
          }
  
          return $this;
      }
docs: Set Worksheet.
  
  @param Worksheet $pValue
  @param bool $pOverrideOld If a Worksheet has already been assigned, overwrite it and remove image from old Worksheet?
  
  @throws PhpSpreadsheetException
  
  @return BaseDrawing