public static BerkeleyDbSectionConfig GetRelayNodeConfig()
        {
            BerkeleyDbSectionConfig config = null;

            try
            {
                config = ConfigurationManager.GetSection("BerkeleyDbSectionConfig") as BerkeleyDbSectionConfig;
            }
            catch (Exception ex)
            {
                if (Log.IsErrorEnabled)
                {
                    StringBuilder sb = new StringBuilder();
                    sb.AppendFormat("Exception loading BerkeleyDb Section Config Section: {0}", ex);
                    Log.Error(sb.ToString(), ex);
                }
            }
            return(config);
        }
        public object Create(object parent, object configContext, XmlNode section)
        {
            XmlSerializer ser = new XmlSerializer(typeof(BerkeleyDbSectionConfig));

            try
            {
                object configurationObject = ser.Deserialize(new XmlNodeReader(section));
                BerkeleyDbSectionConfig            typedConfig = configurationObject as BerkeleyDbSectionConfig;
                System.Configuration.Configuration confFile    = ConfigurationManager.OpenExeConfiguration(string.Empty);
                string basePath = confFile.FilePath;
                if (typedConfig != null)
                {
                    foreach (XmlNode node in section.ChildNodes)
                    {
                        switch (node.Name)
                        {
                        case "BerkeleyDbConfig":
                            BerkeleyDbConfig berkeleyDbConfig = GetSourcedObject <BerkeleyDbConfig>(basePath, node);
                            typedConfig.BerkeleyDbConfig = berkeleyDbConfig;
                            break;
                        }
                    }
                    configurationObject = typedConfig;
                }

                return(configurationObject);
            }
            catch (Exception ex)
            {
                if (Log.IsErrorEnabled)
                {
                    Log.Error(null, ex);
                }
                return(null);
            }
        }