<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_decision_trees_bulk(self, payload, version=DEFAULT_DECISION_TREE_VERSION):
 """Get a group of decision trees. :param list payload: contains the informations necessary for getting the trees. It's in the form [{"id": agent_id, "timestamp": timestamp}] With id a str containing only characters in "a-zA-Z0-9_-" and must be between 1 and 36 characters. It must referenced an existing agent. With timestamp an positive and not null integer. :param version: version of the tree to get. :type version: str or int. :default version: default version of the tree. :return: Decision trees. :rtype: list of dict. :raises CraftAiBadRequestError: if all of the ids are invalid or referenced non existing agents or all of the timestamp are invalid. :raises CraftAiLongRequestTimeOutError: if the API doesn't get the tree in the time given by the configuration. """

    # payload = [{"id": agent_id, "timestamp": timestamp}]
    headers = self._headers.copy()
    headers["x-craft-ai-tree-version"] = version

    # Check all ids, raise an error if all ids are invalid
    valid_indices, invalid_indices, invalid_dts = self._check_agent_id_bulk(payload)

    if self._config["decisionTreeRetrievalTimeout"] is False:
      # Don't retry
      return self._get_decision_trees_bulk(payload,
                                           valid_indices,
                                           invalid_indices,
                                           invalid_dts)
    start = current_time_ms()
    while True:
      now = current_time_ms()
      if now - start > self._config["decisionTreeRetrievalTimeout"]:
        # Client side timeout
        raise CraftAiLongRequestTimeOutError()
      try:
        return self._get_decision_trees_bulk(payload,
                                             valid_indices,
                                             invalid_indices,
                                             invalid_dts)
      except CraftAiLongRequestTimeOutError:
        # Do nothing and continue.
        continue