+ private String cachesubstring(int start, int end) {
+ if (start < 0) start = 0;
+ if (end < 0) end = 0;
+ if (start >= cache.length()) start = cache.length();
+ if (end >= cache.length()) end = cache.length();
+ return cache.substring(start, end);
+ }
+