/** @since 3.0 */
 public AbstractToolRuntimeSystem(AbstractToolResourceManager rm) {
   fResourceManager = rm;
   fPResourceManager =
       (IPResourceManager) getResourceManager().getAdapter(IPResourceManager.class);
   int id = 0;
   try {
     id = Integer.valueOf(fPResourceManager.getID()).intValue();
   } catch (NumberFormatException e) {
     // Ignore
   }
   nextID = id + 1;
   jobNumber = 0;
 }
  /**
   * Notify RM to create a new queue.
   *
   * @param name the name of the queue
   * @return the id of the new queue
   */
  public String createQueue(String name) {
    String id = generateID();
    ElementAttributeManager mgr = new ElementAttributeManager();
    AttributeManager attrMgr = new AttributeManager();
    attrMgr.addAttribute(ElementAttributes.getNameAttributeDefinition().create(name));
    mgr.setAttributeManager(new RangeSet(id), attrMgr);
    IPResourceManager rm =
        (IPResourceManager) getResourceManager().getAdapter(IPResourceManager.class);
    fireRuntimeNewQueueEvent(eventFactory.newRuntimeNewQueueEvent(rm.getID(), mgr));

    DebugUtil.trace(
        DebugUtil.RTS_TRACING,
        "RTS {0}: new queue #{1}",
        getResourceManager().getConfiguration().getName(),
        id); //$NON-NLS-1$

    return id;
  }