protected function parse()
    {
        //reset object
        $descriptionDone = false;
        $this->fullDescriptionDone = false;

        //split lines
        $lines = explode("\n", $this->comment);

        //check lines for description or tags
        foreach ($lines as $line) {
            $pos = strpos($line, '* @');
            if (trim($line) == '/**' || trim($line) == '*/') { //skip the start and end line
            } elseif (!($pos === false)) { //comment
                $this->parseTagLine(substr($line, $pos + 3));
                $descriptionDone = true;
            } elseif (!$descriptionDone) {
                $this->parseDescription($line);
            }
        }
        //if full description is empty, put small description in full description
        if (trim(str_replace(array("\n", "\r"), array('', ''), $this->obj->fullDescription)) == '') {
            $this->obj->fullDescription = $this->obj->smallDescription;
        }
    }