@NonNull
	protected final BluetoothGattCharacteristic characteristic(@NonNull final UUID uuid,
															   @CharacteristicProperties final int properties,
															   @CharacteristicPermissions final int permissions,
															   final BluetoothGattDescriptor... descriptors) {
		return characteristic(uuid, properties, permissions, (byte[]) null, descriptors);
	}
A helper method that creates a characteristic with given UUID, properties and permissions.
Optionally, a list of descriptors may be set.
<p>
The Client Characteristic Configuration Descriptor (CCCD) will be added automatically if
{@link BluetoothGattCharacteristic#PROPERTY_NOTIFY} or {@link BluetoothGattCharacteristic#PROPERTY_INDICATE}
was set, if not added explicitly in the descriptors list.
<p>
If {@link #reliableWrite()} was added as one of the descriptors or the Characteristic User
Description descriptor was created with any of write permissions
(see {@link #description(String, boolean)}) the
{@link BluetoothGattCharacteristic#PROPERTY_EXTENDED_PROPS} property will be added automatically.
<p>
The value of the characteristic will NOT be shared between clients. Each client will write
and read its own copy. To create a shared characteristic, use
{@link #sharedCharacteristic(UUID, int, int, byte[], BluetoothGattDescriptor...)} instead.

@param uuid The characteristic UUID.
@param properties The bit mask of characteristic properties. See {@link BluetoothGattCharacteristic}
                  for details.
@param permissions The bit mask or characteristic permissions. See {@link BluetoothGattCharacteristic}
                   for details.
@param descriptors The optional list of descriptors.
@return The characteristic.
ble/src/main/java/no/nordicsemi/android/ble/BleServerManager.java