def prepare(self):
        global print_prepare
        T = self.tm.trace
        if T: T.write(self.trace_message(u'Task.prepare()', self.node))
        self.exception_raise()
        if self.tm.message:
            self.display(self.tm.message)
            self.tm.message = None
        executor = self.targets[0].get_executor()
        if executor is None:
            return
        executor.prepare()
        for t in executor.get_action_targets():
            if print_prepare:
                print("Preparing target %s..."%t)
                for s in t.side_effects:
                    print("...with side-effect %s..."%s)
            t.prepare()
            for s in t.side_effects:
                if print_prepare:
                    print("...Preparing side-effect %s..."%s)
                s.prepare()