private ControlMessage parseUnsegmentedControlMessage(@NonNull final NetworkKey key,
                                                          @NonNull final byte[] data,
                                                          @NonNull final byte[] decryptedProxyPdu,
                                                          final int ttl,
                                                          final int src,
                                                          final int dst,
                                                          @NonNull final byte[] sequenceNumber) throws ExtendedInvalidCipherTextException {
        final ControlMessage message = new ControlMessage();
        message.setNetworkKey(key);
        message.setIvIndex(mUpperTransportLayerCallbacks.getIvIndex());
        final SparseArray<byte[]> proxyPduArray = new SparseArray<>();
        proxyPduArray.put(0, data);
        message.setNetworkLayerPdu(proxyPduArray);
        message.setTtl(ttl);
        message.setSrc(src);
        message.setDst(dst);
        message.setSequenceNumber(sequenceNumber);
        message.setSegmented(false);
        parseUnsegmentedControlLowerTransportPDU(message, decryptedProxyPdu);

        return message;
    }
Parses an unsegmented control message

@param key               Network Key used to decrypt
@param data              Received pdu data
@param decryptedProxyPdu Decrypted proxy pdu
@param ttl               TTL of the pdu
@param src               Source address where the pdu originated from
@param dst               Destination address to which the pdu was sent
@param sequenceNumber    Sequence number of the pdu
@return a complete {@link ControlMessage} or null if the message was unable to parsed
mesh/src/main/java/no/nordicsemi/android/mesh/transport/NetworkLayer.java