class Category {

  public static Category of(String name, Group... groups) {
    return Category.of(name, ImmutableList.copyOf(groups));
  }

  private  Category(String name, ImmutableList<Category> subcategories, ImmutableList<Group> groups);

}