public static CharSequence takeWhile(CharSequence self, @ClosureParams(value=SimpleType.class, options="char") Closure condition) {
int num = 0;
BooleanClosureWrapper bcw = new BooleanClosureWrapper(condition);
while (num < self.length()) {
char value = self.charAt(num);
if (bcw.call(value)) {
num += 1;
} else {
break;
}
}