public Provisioner createProvisioner(@NonNull final String name,
                                         @NonNull final AllocatedUnicastRange unicastRange,
                                         @NonNull final AllocatedGroupRange groupRange,
                                         @NonNull final AllocatedSceneRange sceneRange) throws IllegalArgumentException {
        if (TextUtils.isEmpty(name)) {
            throw new IllegalArgumentException("Name cannot be empty.");
        }
        final List<AllocatedUnicastRange> unicastRanges = new ArrayList<>();
        final List<AllocatedGroupRange> groupRanges = new ArrayList<>();
        final List<AllocatedSceneRange> sceneRanges = new ArrayList<>();
        unicastRanges.add(unicastRange);
        groupRanges.add(groupRange);
        sceneRanges.add(sceneRange);
        final Provisioner provisioner = new Provisioner(UUID.randomUUID().toString(), unicastRanges, groupRanges, sceneRanges, meshUUID);
        provisioner.setProvisionerName(name);
        return provisioner;
    }
Creates a provisioner

@param name         Provisioner name
@param unicastRange {@link AllocatedUnicastRange} for the provisioner
@param groupRange   {@link AllocatedGroupRange} for the provisioner
@param sceneRange   {@link AllocatedSceneRange} for the provisioner
@return {@link Provisioner}
@throws IllegalArgumentException if the name is empty
mesh/src/main/java/no/nordicsemi/android/mesh/BaseMeshNetwork.java