         if message != "" {
             message.removeAtIndex(message.endIndex.predecessor())
         }
+        
         return message + "]"
     }
     

                }
            }
            
            return self.completeMessage(msg, args: args)
    }
    
    private class func completeMessage(var message:String, args:[AnyObject]) -> String {
        var err:NSError?
        
        if args.count == 0 {
            return message + "]"
        }
        
        for arg in args {

            if !hasBinary {
                if nsp == nil {
                    if ack == nil {
                        message = "42[\"\(event)\""
                    } else {
                        message = "42\(ack!)[\"\(event)\""
                    }
                } else {
                    if ack == nil {
                        message = "42/\(nsp!),[\"\(event)\""
                    } else {
                        message = "42/\(nsp!),\(ack!)[\"\(event)\""
                    }
                }
            } else {
                if nsp == nil {
                    if ack == nil {
                        message = "45\(datas)-[\"\(event)\""
                    } else {
                        message = "45\(datas)-\(ack!)[\"\(event)\""
                    }
                } else {
                    if ack == nil {
                        message = "45\(datas)-/\(nsp!),[\"\(event)\""
                    } else {
                        message = "45\(datas)-/\(nsp!),\(ack!)[\"\(event)\""
                    }
                }
            }
