# File lib/capistrano/configuration/execution.rb, line 109
      def rollback!
        return if Thread.current[:rollback_requests].nil?

        # throw the task back on the stack so that roles are properly
        # interpreted in the scope of the task in question.
        rollback_requests.reverse.each do |frame|
          begin
            push_task_call_frame(frame.task)
            logger.important "rolling back", frame.task.fully_qualified_name
            frame.rollback.call
          rescue Object => e
            logger.info "exception while rolling back: #{e.class}, #{e.message}", frame.task.fully_qualified_name
          ensure
            pop_task_call_frame
          end
        end
      end