public function parse( $string )
    {
        $string = $this->normalizeWhitespaces( $string );
        if ( $string === '' )
        {
            throw new arbitCommitParserException(
                'Empty commit message.'
            );
        }

        $string = $this->removeComments( $string );
        if ( $string === '' )
        {
            // Do not enter parsing process if there were only comments in the
            // commit message.
            return array();
        }

        return $this->parseStatements( $string );
    }