@Override
    public String text(boolean isShort) {
      if (isShort) {
        return StringUtil.getShortName(myName);
      }
      if (myComponents.length == 0) {
        return myOuter != null ? myOuter.text(isShort) + "." + myName : myName;
      }
      StringBuilder sb = new StringBuilder();
      if (myOuter != null) {
        sb.append(myOuter.text(isShort));
        sb.append(".");
      }
      sb.append(myName);
      sb.append("<");
      for (int i = 0; i < myComponents.length; i++) {
        if (i > 0) sb.append(",");
        sb.append(myComponents[i].text());
      }
      sb.append(">");
      return sb.toString();
    }
@Override
    public String text(boolean isShort)