public function setEncoding(string $encoding) : self { if (!Encoding::isCompatible($encoding)) { throw new \InvalidArgumentException(sprintf('Incompatible encoding %s.', $encoding)); } $this->encoding = $encoding; return $this; }