private void createAppMeshMessage(final int src, final int dst, @NonNull UUID label, @NonNull final ApplicationMessage applicationMessage) {
        final ApplicationMessageState currentState;
        if (applicationMessage instanceof VendorModelMessageAcked) {
            currentState = new VendorModelMessageAckedState(src, dst, label, (VendorModelMessageAcked) applicationMessage, getTransport(dst),
                    this, mInternalTransportCallbacks, mStatusCallbacks);
        } else if (applicationMessage instanceof VendorModelMessageUnacked) {
            currentState = new VendorModelMessageUnackedState(src, dst, label, (VendorModelMessageUnacked) applicationMessage, getTransport(dst),
                    this, mInternalTransportCallbacks, mStatusCallbacks);
        } else {
            currentState = new ApplicationMessageState(src, dst, label, applicationMessage, getTransport(dst),
                    this, mInternalTransportCallbacks, mStatusCallbacks);
        }
        if (MeshAddress.isValidUnicastAddress(dst)) {
            stateSparseArray.put(dst, toggleState(getTransport(dst), applicationMessage));
        }
        currentState.executeSend();
    }
Sends a mesh message specified within the {@link ApplicationMessage} object
<p> This method can be used specifically when sending an application message with a unicast address or a group address.
Application messages currently supported in the library are {@link GenericOnOffGet},{@link GenericOnOffSet}, {@link GenericOnOffSetUnacknowledged},
{@link GenericLevelGet},  {@link GenericLevelSet},  {@link GenericLevelSetUnacknowledged},
{@link VendorModelMessageAcked} and {@link VendorModelMessageUnacked}</p>

@param src                source address where the message is originating from
@param dst                Destination to which the message must be sent to, this could be a unicast address or a group address.
@param label              Label UUID of destination address
@param applicationMessage Mesh message containing the message opcode and message parameters.
mesh/src/main/java/no/nordicsemi/android/mesh/transport/BaseMeshMessageHandler.java