public function setVisibility($visibility) { if ($visibility !== self::VISIBILITY_PRIVATE && $visibility !== self::VISIBILITY_PROTECTED && $visibility !== self::VISIBILITY_PUBLIC) { throw new \InvalidArgumentException(sprintf('The visibility "%s" does not exist.', $visibility)); } $this->visibility = $visibility; return $this; }