$storage, 'share' => $share] * * $storage: The storage the permissions mask should be applied on * $share: The share to use in case no share is found */ public function __construct($arguments) { parent::__construct($arguments); $this->share = $arguments['share']; } public function getShare(): IShare { $storage = parent::getWrapperStorage(); if (method_exists($storage, 'getShare')) { /** @var ISharedStorage $storage */ return $storage->getShare(); } return $this->share; } }