static LS stringToChunksWithOverlap(S s, int chunkLength, int overlap) { assertTrue(overlap < chunkLength); assertTrue(chunkLength > 0); int n = l(s), i = 0; new LS out; while (i < n) { out.add(substring(s, i, i+chunkLength)); i += chunkLength-overlap; } ret out; }