connectionError = $lastError; } public static function withPassword(?string $lastError = null): UnableToAuthenticate { return new UnableToAuthenticate('Unable to authenticate using a password.', $lastError); } public static function withPrivateKey(?string $lastError = null): UnableToAuthenticate { return new UnableToAuthenticate('Unable to authenticate using a private key.', $lastError); } public static function withSshAgent(?string $lastError = null): UnableToAuthenticate { return new UnableToAuthenticate('Unable to authenticate using an SSH agent.', $lastError); } public function connectionError(): ?string { return $this->connectionError; } }