public function setVisibility($visibility)
 {
     if (!c\VisibilityValues::isVisibility($visibility)) {
         throw new e\UnacceptableValueException(S_SPAN . "The value {$visibility} is not acceptable." . E_SPAN);
     }
     if ($visibility == c\T::HIDDEN) {
         $this->required = false;
         $this->visibility = $visibility;
     } else {
         $this->visibility = $visibility;
     }
 }
 public function setVisibility($name, $visibility)
 {
     if (!c\VisibilityValues::isVisibility($visibility)) {
         throw new e\UnacceptableValueException(S_SPAN . "The value {$visibility} is not acceptable." . E_SPAN);
     }
     if ($this->hasDynamicMetadataFieldDefinition($name)) {
         $d = $this->getDynamicMetadataFieldDefinition($name);
         if ($visibility == self::VISIBLE || $visibility == self::INLINE || $visibility == self::HIDDEN) {
             $d->setVisibility($visibility);
             return $this;
         } else {
             throw new e\NoSuchVisibilityException(S_SPAN . "The definition {$name} does not exist." . E_SPAN);
         }
     } else {
         throw new e\NoSuchMetadataFieldDefinitionException(S_SPAN . "The definition {$name} does not exist." . E_SPAN);
     }
 }