/**
  * @param SnakList $qualifiers
  * @param Summary|null $summary
  *
  * @throws ChangeOpException
  */
 protected function removeQualifier(SnakList $qualifiers, Summary $summary = null)
 {
     if (!$qualifiers->hasSnakHash($this->snakHash)) {
         throw new ChangeOpException("Qualifier with hash {$this->snakHash} does not exist");
     }
     $removedQualifier = $qualifiers->getSnak($this->snakHash);
     $qualifiers->removeSnakHash($this->snakHash);
     $this->updateSummary($summary, 'remove', '', $this->getSnakSummaryArgs($removedQualifier));
 }
 /**
  * @since 0.4
  *
  * @param SnakList $qualifiers
  * @param Summary $summary
  *
  * @throws ChangeOpException
  */
 protected function setQualifier(SnakList $qualifiers, Summary $summary = null)
 {
     if (!$qualifiers->hasSnakHash($this->snakHash)) {
         throw new ChangeOpException("Qualifier with hash {$this->snakHash} does not exist");
     }
     if ($qualifiers->hasSnak($this->snak)) {
         throw new ChangeOpException('The statement has already a qualifier with hash ' . $this->snak->getHash());
     }
     $qualifiers->removeSnakHash($this->snakHash);
     $qualifiers->addSnak($this->snak);
     $this->updateSummary($summary, 'update', '', $this->getSnakSummaryArgs($this->snak));
 }