data = $data; } public function __toString(): string { $result = parent::__toString(); if ($this->data !== null) { $result .= $this->data; } return $result; } public function getContent(): ?string { return $this->data; } /** * @return int[] */ abstract public static function supportedAdditionalInformation(): array; abstract public static function createFromLoadedData(int $additionalInformation, ?string $data): self; }