public void FetchTopics(string filter, out string[] topics)
        {
            _responses.Clear();
            _mqttClient.ConnectAndWait(_channelConnectionOptions);
            while (_mqttClient.IsConnected == false)
            {
                Thread.Sleep(100);
            }

            _mqttClient.Subscribe(filter, QosLevel.AtLeastOnce);

            Thread.Sleep(2000);
            _mqttClient.Unsubscribe(filter);
            _mqttClient.DisconnectAndWait();

            topics = new string[_responses.Count];
            var i = 0;

            foreach (var response in _responses)
            {
                topics[i] = response.Key + ":" + response.Value;
                i++;
            }

            while (_mqttClient.IsConnected)
            {
                Thread.Sleep(100);
            }
        }