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; /** @return null|string|array */ abstract function launch(Session $session, ?\DateTimeInterface $modifiedSince, ?string $reqEtag); public function tryCache():?APICacheResult{ return null; } }