static async Task Main(string[] args)
        {
            var config = new AdminClientConfig
            {
                BootstrapServers = "127.0.0.1:9092"
            };

            string topic = "test_topic";

            using (var adminClient = new AdminClient(config))
            {
                // won't throw if topic doesn't exist.
                await adminClient.DeleteTopicMaybeAsync("topic_that_doesnt_exist");

                // only create topic if it doesn't exist already.
                await adminClient.CreateTopicMaybeAsync(topic, 1, 1, null);

                // topic may take some time to be created.
                await Task.Delay(1000);

                // a simplified describe topics method.
                var configs = await adminClient.DescribeTopicAsync(topic);

                foreach (var c in configs)
                {
                    Console.WriteLine($"{c.Key}: {c.Value.Value}");
                }

                // delete the topic (if it doesn't exist, considered an error).
                await adminClient.DeleteTopicAsync(topic);
            }
        }