boolean hasPrincipalParent() {
      for (ActionGroupInfo p = this; p != null; p = p.parent) {
        if (p.groupC != null && p.groupC.isPrincipal()) {
          return true;
        }
      }
      return false;
    }
boolean hasPrincipalParent()