@Override
	public String toString() {
		int spos = back;
		int max = Math.min(start-1, end);
		int charCount = 0;
		for (int i = 0; i < max + 1 - back && i < BACK; i++) {
			char c = buf[max-i];
			if (c == '\r' || (c == '\n' && (max-i-1 < 0 || buf[max-i-1] != '\r'))) {
				if (charCount > 0) break;
			} else if (c != '\n') {
				spos = max-i;
				charCount++;
			}
		}
		return (spos <= max) ? String.valueOf(buf, spos, max - spos + 1) : "";
	}