if (checkOnly) return Boolean.TRUE;
return new XWT((Res)args.elementAt(0));
+ } else if (method.equals("graft")) {
+ if (checkOnly) return Boolean.TRUE;
+ if (args.elementAt(0) instanceof Box) throw new JS.Exn("can't graft onto Boxes (yet)");
+ if (args.elementAt(0) instanceof Number) throw new JS.Exn("can't graft onto Numbers (yet)");
+ if (args.elementAt(0) instanceof String) throw new JS.Exn("can't graft onto Strings (yet)");
+ if (args.elementAt(0) instanceof Res)
+ return new Res.Graft((Res)args.elementAt(0), args.elementAt(1), args.elementAt(2));
+ return new JS.Graft((JS)args.elementAt(0), args.elementAt(1), args.elementAt(2));
+
} else if (method.equals("watchProgress")) {
if (checkOnly) return Boolean.TRUE;
return new Res.ProgressWatcher((Res)args.elementAt(0), (JS.Callable)args.elementAt(1));