public Group createGroup(@NonNull final UUID addressLabel, @Nullable final UUID parentLabel, @NonNull final String name) {
        if (TextUtils.isEmpty(name)) {
            throw new IllegalArgumentException("Group name cannot be empty");
        }

        final int address = MeshAddress.generateVirtualAddress(addressLabel);
        final Group group = new Group(addressLabel, parentLabel, meshUUID);
        group.setName(name);
        return group;
    }
Creates a group using the next available group address based on the provisioners allocated group range

@param addressLabel Label UUID
@param parentLabel  Label UUID for parent address
@param name         Group name
@return a group or null if creation failed
mesh/src/main/java/no/nordicsemi/android/mesh/MeshNetwork.java