<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _setupParseTree(self, rowFrom, rowTo, colIndex, tree):
 """ Build the search tree for multi-character encodings. """

        if colIndex == self._longestEntry:
            return
        prevchar = None
        rowIndex = rowFrom
        while rowIndex <= rowTo:
            if colIndex < len(self._parsedata[rowIndex]):
                c = self._parsedata[rowIndex][colIndex]
                if c != prevchar:
                    tree[c] = {}
                    if  prevchar is not None:
                        self._setupParseTree(rowFrom, rowIndex - 1, colIndex + 1, tree[prevchar])
                    rowFrom = rowIndex
                    prevchar = c
                if rowIndex == rowTo:
                    self._setupParseTree(rowFrom, rowIndex, colIndex + 1, tree[prevchar])
            rowIndex = rowIndex + 1