public void MetadataObjectUI(JSONObject j)
 {
     JSONNode.Enumerator iter = j.GetEnumerator();
     while (iter.MoveNext())
     {
         KeyValuePair <string, JSONNode> N = (KeyValuePair <string, JSONNode>)iter.Current;
         if (N.Value.AsArray != null && N.Value.AsArray.Count != 0)
         {
             if (N.Value.AsArray.Count == 3 && N.Value.AsArray [0].Value != "XYZ")
             {
                 MetadataVector3UI(N.Value.AsArray, N.Key);
                 continue;
             }
             if (!ShowPosition.ContainsKey(N.Key))
             {
                 ShowPosition.Add(N.Key, true);
             }
             ShowPosition [N.Key] = EditorGUILayout.Foldout(ShowPosition [N.Key], N.Key);
             if (ShowPosition [N.Key] == true)
             {
                 EditorGUI.indentLevel++;
                 MetadataArrayUI(N.Value.AsArray, name);
                 EditorGUI.indentLevel--;
             }
             continue;
         }
         if (N.Value.AsObject != null && N.Value.AsObject.Count != 0)
         {
             if (N.Value.AsObject.Count == 3)
             {
                 JSONNode.Enumerator iter2 = N.Value.AsObject.GetEnumerator();
                 int nb = 0;
                 while (iter2.MoveNext())
                 {
                     KeyValuePair <string, JSONNode> K = (KeyValuePair <string, JSONNode>)iter2.Current;
                     if (K.Key == "x" || K.Key == "y" || K.Key == "z")
                     {
                         nb++;
                     }
                 }
                 if (nb == 3)
                 {
                     MetadataVector3UI(N.Value.AsObject, N.Key);
                     continue;
                 }
             }
             if (!ShowPosition.ContainsKey(N.Key))
             {
                 ShowPosition.Add(N.Key, true);
             }
             ShowPosition [N.Key] = EditorGUILayout.Foldout(ShowPosition [N.Key], N.Key);
             if (ShowPosition [N.Key] == true)
             {
                 EditorGUI.indentLevel++;
                 MetadataObjectUI(N.Value.AsObject);
                 EditorGUI.indentLevel--;
             }
             continue;
         }
         EditorGUILayout.LabelField(N.Key, N.Value.ToString());
     }
 }