docs: def _preprocess(self, filehandle, metadata):
          "Runs all attached preprocessors on the provided filehandle."
          for process in self._preprocessors:
              filehandle = process(filehandle, metadata)
          return filehandle