arg = arg.trim();
    protected ActiveSlot parseActiveSlot (String slotd) {      int sp = slotd.indexOf(" ");      String rtype=slotd.substring(0,sp).trim();      String slotname=slotd.substring(sp+1).trim();      // search for foo(int x, int y)      int es = slotname.indexOf("(");      int ee = slotname.indexOf(")");      if (!(ee > es && es >= 0)) return null; //  not an active slot?            String name = slotname.substring(0,es);            List<String> args = new ArrayList<String>();      List<String> types = new ArrayList<String>();            for (String arg : explode(slotname.substring(es+1, ee), ',')) {        sp = arg.indexOf(" ");        if (sp < 0) throw new RuntimeException("Broken active slot specification: "+ slotname);        String at = arg.substring(0,sp);        types.add(at);        String av = arg.substring(sp+1).trim();        args.add(av);      }      return new ActiveSlot(rtype, name, args.toArray(), types.toArray());    }