/**
  * {@inheritdoc}
  */
 public function rollback()
 {
     if ($this->bindingDescriptor->isLoaded() || !$this->containingPackage || !$this->typeDescriptor) {
         return;
     }
     // never fails with the check before, given that the type name of
     // the description/type didn't changed, which is impossible since
     // they're immutable
     $this->bindingDescriptor->load($this->containingPackage, $this->typeDescriptor);
     if ($this->wasRemoved) {
         // never fails
         $this->bindingDescriptors->add($this->bindingDescriptor);
     }
 }
 /**
  * {@inheritdoc}
  */
 public function rollback()
 {
     // sanity check
     if (!$this->bindingDescriptor->isLoaded()) {
         return;
     }
     // never fails with the check before
     $this->bindingDescriptor->unload();
     if ($this->previousDescriptor) {
         // never fails
         $this->bindingDescriptors->add($this->previousDescriptor);
     } else {
         // never fails
         $this->bindingDescriptors->remove($this->bindingDescriptor->getUuid());
     }
 }