code: final protected String getIdForTagId(String tagId)
      {
          HttpServletRequest req = (HttpServletRequest) pageContext.getRequest();
          ArrayList/*<String>*/ list = (ArrayList/*<String>*/)
                  RequestUtils.getOuterAttribute(req, ScriptContainer.SCOPE_ID);
          if (list == null)
              return tagId;
          InternalStringBuilder sb = new InternalStringBuilder();
          for (int i=0;i<list.size();i++) {
              sb.append((String)list.get(i));
              sb.append('.');
          }
          sb.append(tagId);
          return sb.toString();
  
  
          /*
          Tag tag = this;
          while (tag != null) {
              if (tag instanceof ScriptContainer) {
                  String sid = ((ScriptContainer) tag).getIdScope();
                  if (sid != null) {
                      tagId = sid + "." + tagId;
                  }
              }
              tag = tag.getParent();
          }
          return tagId;
          */
      }
docs: This method will generate a real id based upon the passed in tagId.  The generated
  id will be constucted by searching upward for all the script containers that have a
  scope id set.  These will form a fully qualified id.
  @param tagId The base tagId set on a tag
  @return an id value formed by considering all of the scope id's found in the tag hierarchy.