original_string: public function saveNodeValue(NodePath $nodePath, string $property, $value)
      {
          try {
              $this->data = $this->storeValue($nodePath, $this->data, $property, $value);
          } catch (InconsistentValueException $e) {
              if ($property == 'nodeType') {
                  $node = $this->getNode($nodePath);
                  $this->handleUpgrade($node, $nodePath, $value);
              } else {
                  throw $e;
              }
          }
      }
code: public function saveNodeValue(NodePath $nodePath, string $property, $value)
      {
          try {
              $this->data = $this->storeValue($nodePath, $this->data, $property, $value);
          } catch (InconsistentValueException $e) {
              if ($property == 'nodeType') {
                  $node = $this->getNode($nodePath);
                  $this->handleUpgrade($node, $nodePath, $value);
              } else {
                  throw $e;
              }
          }
      }
code_tokens: public function saveNodeValue ( NodePath $ nodePath , string $ property , $ value ) { try { $ this -> data = $ this -> storeValue ( $ nodePath , $ this -> data , $ property , $ value ) ; } catch ( InconsistentValueException $ e ) { if ( $ property == 'nodeType' ) { $ node = $ this -> getNode ( $ nodePath ) ; $ this -> handleUpgrade ( $ node , $ nodePath , $ value ) ; } else { throw $ e ; } } }
docstring: Save a single property value for a given node.
  @param NodePath $nodePath Node Path.
  @param string $property Property name (e.g. 'nodeType')
  @param mixed $value Scalar value.
  @throws InconsistentValueException
docstring_tokens: Save a single property value for a given node .