<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _process_data(self, **data) -> dict: """ The main method that process all resources data. Validates schema, gets environs, validates data, prepares it via provider requirements, merges defaults and check for data dependencies :param data: The raw data passed by the notifiers client :return: Processed data """

        env_prefix = data.pop("env_prefix", None)
        environs = self._get_environs(env_prefix)
        if environs:
            data = merge_dicts(data, environs)

        data = self._merge_defaults(data)
        self._validate_data(data)
        data = self._validate_data_dependencies(data)
        data = self._prepare_data(data)
        return data