public static object OnConvertFromJSONElement(object obj, JSONElement node)
            {
                if (node != null && obj != null)
                {
                    IDictionary dictionary      = (IDictionary)obj;
                    Type[]      dictionaryTypes = SystemUtils.GetGenericImplementationTypes(typeof(Dictionary <,>), obj.GetType());

                    foreach (JSONElement entryNode in node.ChildNodes)
                    {
                        JSONElement att = entryNode.Attributes.GetNamedItem("key");
                        if (att != null)
                        {
                            object arrayNode = JSONConverter.FromJSONElement(dictionaryTypes[1], entryNode);
                            dictionary.Add(att.Value, arrayNode);
                        }
                    }

                    return(dictionary);
                }

                return(obj);
            }