final public NodeList ModuleCapabilitiesPart() throws ParseException {
    NodeList module_capabilities_list = new NodeList();
    ModuleCapability module_capability;
    Recovery next = new Recovery();
    next.push(ASSIGN_T);
    next.push(SUPPORTS_T);
    label_8:
    while (true) {
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
      case SUPPORTS_T:
        ;
        break;
      default:
        jj_la1[32] = jj_gen;
        break label_8;
      }
      module_capability = ModuleCapability(next);
          module_capabilities_list.addNode(module_capability);
    }
      {if (true) return module_capabilities_list;}
    throw new Error("Missing return statement in function");
  }