*/ use EditUserTrait; private function __construct() { } public static function new(): self { return new self(); } /** * @param array $properties * * @throws InvalidArgumentException when invalid properties have been provided */ public static function withProperties(array $properties): self { return self::withEditableProperties(new self(), $properties); } public function jsonSerialize(): array { return $this->prepareJsonSerialize(); } }