public static int CCITT_FALSE(@NonNull final byte[] data, final int offset, final int length) {
//		Other implementation of the same algorithm:
//		int crc = 0xFFFF;
//
//		for (int i = offset; i < offset + length && i < data.length; ++i) {
//			crc = (((crc & 0xFFFF) >> 8) | (crc << 8));
//			crc ^= data[i];
//			crc ^= (crc & 0xFF) >> 4;
//			crc ^= (crc << 8) << 4;
//			crc ^= ((crc & 0xFF) << 4) << 1;
//		}

		return CRC(0x1021, 0xFFFF, data, offset, length, false, false, 0x0000);
	}
Calculates CRC CCITT-FALSE over given range of bytes from the block of data.
It is using the 0x1021 polynomial and 0xFFFF initial value.
<p>
See: <a href="http://reveng.sourceforge.net/crc-catalogue/16.htm#crc.cat.crc-16-ccitt-false">crc-16-ccitt-false</a>
See: <a href="http://srecord.sourceforge.net/crc16-ccitt.html">crc16-ccitt</a>

@param data   The input data block for computation.
@param offset Offset from where the range starts.
@param length Length of the range in bytes.
@return the CRC-16 CCITT-FALSE.
ble-common/src/main/java/no/nordicsemi/android/ble/common/util/CRC16.java