/**
  * @see Editor_Models_ConceptValidator::validate($concept)
  */
 public function isValid(Editor_Models_Concept $concept, $extraData)
 {
     $this->_setField('status');
     $isValid = true;
     $oldConcept = null;
     $response = Api_Models_Concepts::factory()->getConcepts('uuid:' . $concept['uuid']);
     if (isset($response['response']['docs']) && 1 === count($response['response']['docs'])) {
         $oldConcept = new Editor_Models_Concept(new Api_Models_Concept(array_shift($response['response']['docs'])));
     }
     if (null !== $oldConcept) {
         $isValid = OpenSKOS_Concept_Status::isTransitionAllowed($oldConcept['status'], $concept['status']);
     }
     if (!$isValid) {
         $this->_setErrorMessage(sprintf(_('The status transition from "%s" to "%s" is not allowed.'), $oldConcept['status'], $concept['status']));
     }
     return $isValid;
 }