text: public int read(char[] c, int off, int len) {if (left > len) {s.getChars(upto, upto+len, c, off);upto += len;left -= len;return len;} else if (0 == left) {return -1;} else {s.getChars(upto, upto+left, c, off);int r = left;left = 0;upto = s.length();return r;}}