/// <summary>
        /// Parse Config
        /// </summary>
        /// <param name="node">
        /// The node.
        /// </param>
        /// <returns>
        /// Custom Field
        /// </returns>
        public static CustomField ParseConfigNode(XmlNode node)
        {
            var field = new CustomField();
            var fieldName = XmlUtil.GetValue(node);
            if (ID.IsID(fieldName))
            {
                field.FieldId = ID.Parse(fieldName);
            }
            else
            {
                field.FieldName = fieldName;
            }

            field.LuceneFieldName = XmlUtil.GetAttribute("luceneName", node);
            field.StorageType = GetStorageType(node);
            field.IndexType = GetIndexType(node);
            field.Formating = GetFormattingType(node);

            if (!IsValidField(field))
            {
                return null;
            }

            return field;
        }
        /// <summary>
        /// Is a Valid Field
        /// </summary>
        /// <param name="field">
        /// The field.
        /// </param>
        /// <returns>
        /// </returns>
        private static bool IsValidField(CustomField field)
        {
            if ((!string.IsNullOrEmpty(field.FieldName) || !ID.IsNullOrEmpty(field.FieldId)) && !string.IsNullOrEmpty(field.LuceneFieldName))
            {
                return true;
            }

            return false;
        }