code: private void doGroupCheck() {
          if (!hasTabs()) return;
  
          for (String groupName : getGroupNames()) {
              String tabName = getGroupedAttribtes(groupName).get(0).getTabName();
              for (PropertyBinding propBinding : getGroupedAttribtes(groupName)) {
                  if (!tabName.equals(propBinding.getTabName())) {
                      throw new RuntimeException("FormItem " + propBinding.getJavaName() + " must be on the same tab with all members of its subgroup.");
                  }
              }
          }
      }
docs: make sure all grouped attributes are on the same tab