def execute(self): pdf = Pdf() try: pdf.load(self.config.getInputFilePath()) for effector in self.effectorChain: pdf = effector.apply(pdf) pdf.save(self.config.getOutputFilePath()) finally: pdf.close()