@Override
    void parseStatusParameters() {
        if (mParameters.length == 2) {
            result = new PropertyNotFound(DeviceProperty.from((short) unsignedBytesToInt(mParameters[0], mParameters[1])));
        } else {
            int offset = 0;
            final ArrayList<SensorDescriptor> sensorDescriptors = new ArrayList<>();
            DeviceProperty property;
            short positiveTolerance;
            short negativeTolerance;
            SensorSamplingFunction samplingFunction;
            byte measurementPeriod;
            byte updateInterval;
            while (offset < mParameters.length) {
                property = DeviceProperty.from((short) unsignedBytesToInt(mParameters[offset], mParameters[offset + 1]));
                positiveTolerance = (short) bytesToInt(new byte[]{(byte) (mParameters[offset + 3] & 0x0F), mParameters[offset + 2]});
                //encode(new byte[]{(byte) (mParameters[offset + 1] & 0x0F), mParameters[offset]});
                negativeTolerance = (short) bytesToInt(new byte[]{
                        (byte) ((mParameters[offset + 4] & 0xF0) >> 4),
                        (byte) (mParameters[offset + 4] << 4 | ((mParameters[offset + 3] & 0xF0) >> 4))});
                samplingFunction = SensorSamplingFunction.from(mParameters[offset + 5]);
                measurementPeriod = mParameters[offset + 6];
                updateInterval = mParameters[offset + 7];
                final SensorDescriptor descriptor = new SensorDescriptor(property, positiveTolerance, negativeTolerance,
                        samplingFunction, measurementPeriod, updateInterval);
                MeshLogger.debug(TAG, "Sensor Descriptor: " + descriptor.toString());
                sensorDescriptors.add(descriptor);
                offset += 8;
            }
            result = new SensorDescriptors(sensorDescriptors);
        }
    }
Constructs the GenericOnOffStatus mMessage.

@param message Access Message
mesh/src/main/java/no/nordicsemi/android/mesh/transport/SensorDescriptorStatus.java