+ public static class Join extends Node.Stream {
+ final Node.Stream s1, s2;
+ boolean s1Done = false;
+ public Join(Node.Stream s1, Node.Stream s2) { this.s1=s1; this.s2=s2; }
+ protected boolean _read(Node n) {
+ if (!s1Done) return s2._read(n);
+ boolean ret = s1._read(n);
+ if (ret) return true;
+ s1Done = true;
+ return s2._read(n);
+ }
+ }
+