in benchmarks/src/jmh/java/benchmarks/flow/scrabble/optimizations/FlowableSplit.java [128:156]
public boolean tryOnNext(String t) {
String lo = leftOver;
String[] a;
try {
if (lo == null || lo.isEmpty()) {
a = pattern.split(t, -1);
} else {
a = pattern.split(lo + t, -1);
}
} catch (Throwable ex) {
Exceptions.throwIfFatal(ex);
this.upstream.cancel();
onError(ex);
return true;
}
if (a.length == 0) {
leftOver = null;
return false;
} else
if (a.length == 1) {
leftOver = a[0];
return false;
}
leftOver = a[a.length - 1];
queue.offer(a);
drain();
return true;
}