public function getShebang()
    {
        if (isset($this->raw->shebang)) {
            if (('' === $this->raw->shebang) || (false === $this->raw->shebang)) {
                return '';
            }

            $shebang = trim($this->raw->shebang);

            if ('#!' !== substr($shebang, 0, 2)) {
                throw new InvalidArgumentException(
                    sprintf(
                        'The shebang line must start with "#!": %s',
                        $shebang
                    )
                );
            }

            return $shebang;
        }

        return null;
    }