if (!drops[i])
                     if (idx==-1) idx = i;
                     else multiNonDrop = true;
-            if (tag==null && multiNonDrop)
-                throw new Error("multiple non-dropped elements in sequence: " + Sequence.create(els, ""));
             for(int i=0; i<elements.length; i++) {
                 if (!multiNonDrop && i==idx && tag!=null && elements[i] instanceof RepeatNode) {
                     els[i] = ((RepeatNode)elements[i]).build(cx, cnt, dropall, tag);
                 } else
                     els[i] = elements[i].build(cx, cnt, dropall);
             }
+            if (tag==null && multiNonDrop)
+                throw new RuntimeException("multiple non-dropped elements in sequence: " + Sequence.create(els, ""));
             if (!multiNonDrop) {
                 if (idx == -1) 
                     ret = tag==null