private void sendMessageFragment(RemoteMessage remoteMsg, string fPayload, string fAttachment, int fragmentIndex, bool lastFragment)
        {
            RemoteMessage fRemoteMessage = new RemoteMessage();

            fRemoteMessage.id                  = remoteMsg.id;
            fRemoteMessage.method              = remoteMsg.method;
            fRemoteMessage.type                = remoteMsg.type;
            fRemoteMessage.packageName         = remoteMsg.packageName;
            fRemoteMessage.remoteApplicationID = remoteMsg.remoteApplicationID;
            fRemoteMessage.remoteSourceSDK     = remoteMsg.remoteSourceSDK;
            fRemoteMessage.version             = remoteMsg.version;

            // changes for the fragment
            fRemoteMessage.payload            = fPayload;
            fRemoteMessage.attachmentUri      = null;
            fRemoteMessage.attachmentEncoding = remoteMsg.attachmentEncoding != null ? remoteMsg.attachmentEncoding : "BASE64.FRAGMENT";
            fRemoteMessage.attachment         = fAttachment;
            fRemoteMessage.fragmentIndex      = fragmentIndex;
            fRemoteMessage.lastFragment       = lastFragment;

            string msg = JsonUtils.serializeSDK(fRemoteMessage);

            transport.sendMessage(msg);

#if DEBUG
            Console.WriteLine("Sent message: " + msg);
#endif
        }
        private string sendObjectMessage(Message message)
        {
            RemoteMessage remoteMessage = RemoteMessage.createMessage(message.method, MessageTypes.COMMAND, message, this.packageName, remoteSourceSDK, remoteApplicationID);
            string        msg           = JsonUtils.serializeSDK(remoteMessage);

            transport.sendMessage(msg);
#if DEBUG
            Console.WriteLine("Sent message: " + msg);
#endif
            return(remoteMessage.id);
        }