args; foreach (static::$sensitiveArgs as $argName) { if (isset($filteredArgs[$argName])) { $filteredArgs[$argName] = '***'; } } return $filteredArgs; } protected array $args; protected string $rootPath; public function __construct(string $rootPath, array $args) { $this->rootPath = $rootPath; $this->args = $args; } abstract public function getRequiredSessionMode(): int; abstract function validateArgs(): ?string; abstract function launch(Session $session, ?\DateTimeInterface $modifiedSince, ?string $reqEtag): null | string | array | APIRecoveryType; public function tryCache(): ?APICacheResult { return null; } }