/// <summary>
        /// Initializes the broker.
        /// </summary>
        /// <exception cref="Exception">Failed creating Documentum client</exception>
        private void InitializeBroker()
        {
            //File.AppendAllText("DqlConnect.log", sessionId + " InitalizeBroker\r\n\r\n");

            _clientx = new DfClientX();
            _client  = _clientx.getLocalClient();
            if (_client == null)
            {
                throw new Exception("Failed creating Documentum client");
            }

            IDfTypedObject config = _client.getClientConfig();

            builder = new DqlConnectionStringBuilder(this.ConnectionString);

            config.setString("dfc.docbroker.host", DefaultBrokerHost ?? SetDefaultBrokerHost());
            //File.AppendAllText("DqlConnect.log", sessionId + " Broker set to: " + DefaultBrokerHost + Environment.NewLine);

            builder.SetExtendedProperties(config);

            //builder.GetExtendedProperties().ForEach(item =>
            //{ config.setString(item.Key, item.Value); });

            IDfDocbaseMap map = _client.getDocbaseMap();

            Catalogs = new List <string>();
            int count = map.getDocbaseCount();

            for (int i = 0; i < count; i++)
            {
                Catalogs.Add(map.getDocbaseName(i));
            }
            map    = null;
            config = null;
        }
 /// <summary>
 /// Sets the extended properties.
 /// </summary>
 /// <param name="config">The configuration.</param>
 public void SetExtendedProperties(IDfTypedObject config)
 {
     foreach (var item in GetExtendedProperties())
     {
         var items = item.Key.Split(new string[] { "[", "]" }, StringSplitOptions.RemoveEmptyEntries);
         if (items.Count() > 1)
         {
             config.setRepeatingString(items.First().Trim(), int.Parse(items.Last().Trim()), item.Value.Trim());
         }
         else
         {
             config.setString(item.Key.Trim(), item.Value.Trim());
         }
     }
 }