<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _populate_trie(self, values: List[str]) -> CharTrie: """Takes a list and inserts its elements into a new trie and returns it"""

        if self._default_tokenizer:
            return reduce(self._populate_trie_reducer, iter(values), CharTrie())
        return reduce(self._populate_trie_reducer_regex, iter(values), CharTrie())