/**
  * @param int $propertyOptionId
  * @param string $value
  * @param null $label
  * @param array $relations
  * @return mixed
  */
 public function update($propertyOptionId, $value = null, $label = null, array $relations = [])
 {
     $propertyOption = PropertyOption::findOrFail($propertyOptionId);
     $data = [];
     if (!is_null($value)) {
         $data['value'] = $value;
     }
     if (!is_null($label)) {
         $data['label'] = $label;
     }
     $propertyOption->update($data);
     if (!empty($relations)) {
         $propertyOption = $this->handleRelations($propertyOption, $relations);
     }
     $propertyOption->save();
     return $propertyOption;
 }