def chain(self, *arg, **kw):
result = None<EOL>static = [a for (static, a)<EOL>in zip(getattr(self.method, '<STR_LIT>', []), arg)<EOL>if static]<EOL>for p, meth in self.plugins:<EOL><INDENT>result = meth(*arg, **kw)<EOL>arg = static[:]<EOL>arg.append(result)<EOL><DEDENT>return result<EOL>
Call plugins in a chain, where the result of each plugin call is
        sent to the next plugin as input. The final output result is returned.