return new ETuple2(ERT.box(start), ERT.box(end-start));
} else if (opts.capture_type == am_list) {
String sub = subject.substring(start, end);
EBigString ebs = EBigString.fromString(sub);
return erjang.m.unicode.Native.characters_to_list(ebs,
opts.unicode ? am_unicode : am_latin1);
} else if (opts.capture_type == am_binary) {
String sub = subject.substring(start, end);
EBigString ebs = EBigString.fromString(sub);
return erjang.m.unicode.Native.characters_to_binary(ebs,
opts.unicode ? am_unicode : am_latin1);
} else {
throw new InternalError("bad capture type: "+opts.capture_type);
}