+
+ private boolean hasMoreData() {
+ return !(eof && pos >= len);
+ }
+
+ private void checkNexts(boolean newBuffer) {
+ if (!eof) {
+ for (NextableInputStreamStep step : steps) {
+ if (newBuffer) {
+ step.clearBuffer();
+ }
+
+ int stopAt = step.stop(buffer, pos, len);
+ if (stopAt >= 0) {
+ this.step = step;
+ len = stopAt;
+ eof = true;
+ break;
+ }
+ }
+ }
+ }