code: def proceed(self):
          
  
          try:
              # get next advice
              advice = next(self._advices_iterator)
  
          except StopIteration:  # if no advice can be applied
              # call target
              result = self.target(*self.args, **self.kwargs)
  
          else:
              # if has next, apply advice on self
              result = advice(self)
  
          return result
docs: Proceed this Joinpoint in calling all advices with this joinpoint
          as the only one parameter, and call at the end the target.