/**
  * @param Package $package
  * @param bool $stopPropagation
  * @return $this
  */
 public function removePackage(Package $package, $stopPropagation = false)
 {
     if (!$stopPropagation) {
         $package->setXml(null, true);
     }
     $this->packages->removeElement($package);
     return $this;
 }
 /**
  * @param Package $package
  * @param bool $stopPropagation
  * @return $this
  */
 public function setPackage(Package $package = null, $stopPropagation = false)
 {
     if (!$stopPropagation) {
         if (!is_null($this->package)) {
             $this->package->removeProduct($this, true);
         }
         $package->addProduct($this, true);
     }
     $this->package = $package;
     return $this;
 }