def diffuse(self, *args):
mode = diffusingModeEnum.unknown<EOL>if (isinstance(args[<NUM_LIT:0>], str) and (len(args) == <NUM_LIT:3>)):<EOL><INDENT>mode = diffusingModeEnum.element<EOL><DEDENT>elif (hasattr(args[<NUM_LIT:0>], "<STR_LIT>") and (len(args) == <NUM_LIT:2>)):<EOL><INDENT>mode = diffusingModeEnum.elements<EOL><DEDENT>else:<EOL><INDENT>raise TypeError(<EOL>"<STR_LIT>" +<EOL>"<STR_LIT>" +<EOL>"<STR_LIT>"<EOL>.format(args))<EOL><DEDENT>self._diffuse(mode, *args)<EOL>
this is a dispatcher of diffuse implementation.
Depending of the arguments used.