private static void AddReferenceData(string path, List <ReferenceData> references, Component component, SerializedProperty p, string dp)
        {
            ReferenceData rd   = null;
            Transform     node = component.transform;

            foreach (ReferenceData trd in references)
            {
                if (trd.node == node)
                {
                    rd = trd;
                    break;
                }
            }
            if (rd == null)
            {
                rd      = new ReferenceData();
                rd.node = node;
                node_path_gen.Clear();
                Transform t = node;
                while (t != null)
                {
                    node_path_gen.Add(t.name); t = t.parent;
                }
                node_path_gen.Reverse();
                rd.nodePath = string.Join("/", node_path_gen.ToArray());
                references.Add(rd);
            }
            ReferenceComponent rc = null;

            foreach (ReferenceComponent trc in rd.components)
            {
                if (trc.component == component)
                {
                    rc = trc;
                    break;
                }
            }
            if (rc == null)
            {
                rc               = new ReferenceComponent();
                rc.component     = component;
                rc.componentName = component.GetType().FullName;
                rd.components.Add(rc);
            }
            ReferenceProperty rp = new ReferenceProperty();

            rp.propertyPath = new GUIContent(p.propertyPath, string.Format("Asset Path :\n  {0}\n\nNode Path :\n  {1}\n\nComponent :\n  {2}\n\nProperty Path :\n  {3}\n\nDependency Asset :\n  {4}",
                                                                           path, rd.nodePath, rc.componentName, p.propertyPath, dp));
            rp.asset   = p.objectReferenceValue;
            rp.comment = AssetComment.GetAssetComment(rp.asset, true, out rp.commentBold, out rp.commentWarning);
            rc.properties.Add(rp);
        }
        private string GetJson()
        {
            var obj = new ReferenceComponent()
            {
                Reference = "http://hl7.org/fhir/StructureDefinition/Account",
            };

            return(JsonConvert.SerializeObject(obj, new JsonSerializerSettings
            {
                ContractResolver = new CamelCasePropertyNamesContractResolver(),
                Converters = new List <JsonConverter>
                {
                    new ProfileReferenceConverter(_modelInfoProvider),
                },
                NullValueHandling = NullValueHandling.Ignore,
            }));
        }