public static void Convert(IExportContainer container, EditorExtension origin, EditorExtension instance)
        {
            EditorExtensionLayout layout   = container.Layout.EditorExtension;
            EditorExtensionLayout exlayout = container.ExportLayout.EditorExtension;

            ObjectConverter.Convert(container, origin, instance);
#if UNIVERSAL
            if (exlayout.HasCorrespondingSourceObjectInvariant)
            {
                if (layout.HasCorrespondingSourceObjectInvariant)
                {
                    instance.CorrespondingSourceObject = origin.CorrespondingSourceObject;
                    instance.PrefabInstance            = origin.PrefabInstance;
                }
                else
                {
#warning TODO: get values from ExtensionPtr
                }
            }
            else
            {
                instance.ExtensionPtr = origin.ExtensionPtr;
            }
            if (exlayout.HasPrefabAsset && layout.HasPrefabAsset)
            {
                instance.PrefabAsset = origin.PrefabAsset;
            }
#endif
        }
        public static void Convert(IExportContainer container, EditorExtension origin, EditorExtension instance)
        {
            ObjectConverter.Convert(container, origin, instance);
#if UNIVERSAL
            if (EditorExtension.HasCorrespondingSourceObject(container.ExportFlags))
            {
                instance.CorrespondingSourceObject = GetCorrespondingSourceObject(container, origin);
                instance.PrefabInstance            = GetPrefabInstance(container, origin);
            }
            if (EditorExtension.HasPrefabAsset(container.ExportVersion, container.ExportFlags))
            {
                instance.PrefabAsset = GetPrefabAsset(container, origin);
            }
#endif
        }