def _expand(self, pos):
_lists = self._lists<EOL>_index = self._index<EOL>if len(_lists[pos]) > self._dual:<EOL><INDENT>_maxes = self._maxes<EOL>_load = self._load<EOL>_lists_pos = _lists[pos]<EOL>half = _lists_pos[_load:]<EOL>del _lists_pos[_load:]<EOL>_maxes[pos] = _lists_pos[-<NUM_LIT:1>]<EOL>_lists.insert(pos + <NUM_LIT:1>, half)<EOL>_maxes.insert(pos + <NUM_LIT:1>, half[-<NUM_LIT:1>])<EOL>del _index[:]<EOL><DEDENT>else:<EOL><INDENT>if _index:<EOL><INDENT>child = self._offset + pos<EOL>while child:<EOL><INDENT>_index[child] += <NUM_LIT:1><EOL>child = (child - <NUM_LIT:1>) >> <NUM_LIT:1><EOL><DEDENT>_index[<NUM_LIT:0>] += <NUM_LIT:1><EOL><DEDENT><DEDENT>
Splits sublists that are more than double the load level.

        Updates the index when the sublist length is less than double the load
        level. This requires incrementing the nodes in a traversal from the
        leaf node to the root. For an example traversal see self._loc.