@NonNull
	protected WriteRequest sendNotification(@Nullable final BluetoothGattCharacteristic serverCharacteristic,
											@Nullable final byte[] data, final int offset, final int length) {
		return Request.newNotificationRequest(serverCharacteristic, data, offset, length)
				.setRequestHandler(requestHandler);
	}
Sends the notification with at most length bytes from offset at given data from the server
characteristic. The notifications on this characteristic must be enabled before the request
is executed.
<p>
Use {@link WriteRequest#split() split()} or
{@link WriteRequest#split(DataSplitter) split(ValueSplitter)} on the returned
{@link WriteRequest} if data should be automatically split into multiple packets.
If the characteristic is null, the {@link Request#fail(FailCallback) fail(FailCallback)}
callback will be called.
<p>
The returned request must be either enqueued using {@link Request#enqueue()} for
asynchronous use, or awaited using await() in synchronous execution.

@param serverCharacteristic the characteristic to notify.
@param data           	   the data buffer.
@param offset         	   index of the first byte to be sent.
@param length               number of bytes to be sent.
@return The request.
ble/src/main/java/no/nordicsemi/android/ble/BleManager.java