private function unpackExt($length)
{
if (!isset($this->buffer[$this->offset + $length - 1])) {
throw new InsufficientDataException($length, \strlen($this->buffer) - $this->offset);
}
$type = $this->unpackInt8();
if ($this->transformers && ($transformer = $this->transformers->find($type))) {
return $transformer->reverseTransform($this->unpack());
}
$data = \substr($this->buffer, $this->offset, $length);
$this->offset += $length;
return new Ext($type, $data);
}