code: String getControlID()
      {
          if (_controlID != null || _bean == null)
              return _controlID;
  
          // Initially set to the local beans relative ID
          String id = _bean.getLocalID();
  
          // If there is a parent context, prepend its ID and the ID separator
          BeanContext bc = getBeanContext();
          if (bc != null && bc instanceof ControlBeanContext)
          {
              String parentID = ((ControlBeanContext)bc).getControlID();
              if (parentID != null)
              {
                  id = parentID +
                       org.apache.beehive.controls.api.bean.ControlBean.IDSeparator +
                       id;
              }
          }
  
          // Cache the computed value
          _controlID = id;
  
          return id;
      }
docs: /* package