def _load_all_configs(self, paths, values={}):
        """Loads configuration values for each of the files (from given paths), merging
        duplicate values (e.g. latter values with same keys override earlier values).
        
        @param paths list of config file paths to load
        @param values dictionary to store the loaded values
        """
        if not isinstance(values, dict):
            raise TypeError('values must be a dictionary!')
        for p in paths:
            # delegate load of actual config values, then merge with any existing values
            self._merge_values(values, self._load_config(p))
        return values