def check_charset(self, ctx, char):
self.set_dispatcher.reset(char)<EOL>save_position = ctx.code_position<EOL>result = None<EOL>while result is None:<EOL><INDENT>result = self.set_dispatcher.dispatch(ctx.peek_code(), ctx)<EOL><DEDENT>ctx.code_position = save_position<EOL>return result<EOL>
Checks whether a character matches set of arbitrary length. Assumes
        the code pointer is at the first member of the set.