public Object activate(IokeObject method, Object on, List<Object> args, Map<String, Object> keywords, IokeObject context, IokeObject message) throws ControlFlow {
IokeObject target = IokeObject.as(Interpreter.send(context.runtime.asText, context, args.get(0)), context);
String arg = Text.getText(target);
Matcher m = ((Regexp)IokeObject.data(on)).regexp.matcher(arg);
if(m.find()) {
IokeObject match = regexpMatch.allocateCopy(message, context);
match.singleMimicsWithoutCheck(regexpMatch);
match.setData(new RegexpMatch(IokeObject.as(on, context), m, target));
return match;
} else {