private function stream ()
    {
        $i = $this->start;
        set_time_limit (0);

        while (!feof ($this->stream) && $i <= $this->end) {
            $bytesToRead = $this->buffer;

            if (($i + $bytesToRead) > $this->end)
                $bytesToRead = $this->end - $i + 1;

            $data = fread ($this->stream, $bytesToRead);

            echo $data;
            flush ();

            $i += $bytesToRead;
        }
    }