public void performRequest(String request) {
    if (request.compareTo("Show preview") == 0) {
      showPreview();
      return;
    }
    // first grab the index if any
    if (request.indexOf(":") < 0) {
      return;
    }
    String tempI = request.substring(0, request.indexOf(':'));
    int index = Integer.parseInt(tempI);
    index--;
    String req = request.substring(request.indexOf(')')+1, 
                                   request.length()).trim();
    
    Object target = (((BeanInstance)m_subFlow.elementAt(index)).getBean());
    if (target instanceof Startable && req.equals(((Startable)target).getStartMessage())) {
      try {
        ((Startable)target).start();
      } catch (Exception ex) {
        if (m_log != null) {
          String compName = (target instanceof BeanCommon) ? ((BeanCommon)target).getCustomName() : "";
          m_log.logMessage("Problem starting subcomponent " + compName);
        }
      }
    } else {    
      ((UserRequestAcceptor)target).performRequest(req);
    }                                   
  }