docs: def dict_to_trees(self, expansion_dict):
          """
          Convert an expansion dictionary to a list of expansion trees.
  
          :param expansion_dict: An expansion dictionary (see below)
          :type expansion_dict: dict
  
          :return: a list of expansion trees (`TreeNode` instances).
          :rtype: list[TreeNode]
  
          Expansion Dictionary Format:
          {
              "<type>": ["<expansion string>", ...],
              ...
          }
  
          <type> is the type of object to expand.
          <expansion string> is a string with the following format:
              <expansion string> => <expansion name>[.<expansion string>]
  
          """
          trees = []
          for node_type, expansion_list in six.iteritems(expansion_dict):
              type_node = TypeNode(node_type=node_type)
  
              for expansion_string in expansion_list:
                  expansion_node = type_node
  
                  for expansion_name in expansion_string.split('.'):
                      child_expansion_node = expansion_node.get_expansion(expansion_name)
  
                      if not child_expansion_node:
                          type_expansion = self.type_expansions[expansion_node.type][expansion_name]
                          type_route = self.type_routes[type_expansion['route']]
                          if type_expansion['destination_field'] == type_expansion['source_field']:
                              raise ValueError(
                                  'Expansion configuration destination_field error: '
                                  'destination_field can not have the same name as the source_field: '
                                  '{}'.format(type_expansion['source_field'])
                              )
                          child_expansion_node = ExpansionNode(
                              node_type=type_expansion['type'],
                              name=expansion_name,
                              source_field=type_expansion['source_field'],
                              destination_field=type_expansion['destination_field'],
                              service=type_route['service'],
                              action=type_route['action'],
                              request_field=type_route['request_field'],
                              response_field=type_route['response_field'],
                              raise_action_errors=type_expansion.get('raise_action_errors', False),
                          )
                          expansion_node.add_expansion(child_expansion_node)
  
                      expansion_node = child_expansion_node
  
              trees.append(type_node)
  
          return trees