<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def load(self, path):
 """ Load and return the corpus from the given path. Args: path (str):
 Path to the data set to load. Returns: Corpus: The loaded corpus Raises: IOError: When the data set is invalid, for example because required files (annotations, …) are missing. """

        # Check for missing files
        missing_files = self._check_for_missing_files(path)

        if len(missing_files) > 0:
            raise IOError('Invalid data set of type {}: files {} not found at {}'.format(
                self.type(), ' '.join(missing_files), path))

        return self._load(path)