<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _classification_fetch(self, skip_missing=None):
 """Turns a list of objects associated with a classification result into a list of Classifications objects. Parameters skip_missing : `bool` If an analysis was not successful, exclude it, warn, and keep going Returns ------- None, but stores a result in self._cached. """

        skip_missing = skip_missing if skip_missing else self._kwargs["skip_missing"]

        new_classifications = []

        for a in self._res_list:
            if a.__class__.__name__ == "Samples":
                c = a.primary_classification
            elif a.__class__.__name__ == "Classifications":
                c = a
            else:
                raise OneCodexException(
                    "Objects in SampleCollection must be one of: Classifications, Samples"
                )

            if skip_missing and not c.success:
                warnings.warn("Classification {} not successful. Skipping.".format(c.id))
                continue

            new_classifications.append(c)

        self._cached["classifications"] = new_classifications