private void InitializePostprocessors()
        {
            /*
             * Combine Dynamic and Static Postprocessors into one ordered list - the user is unlikely to be interested in *how* we're registering the Assets Postprocessors under the hood.
             */
            SortedSet <AssetPostprocessor.PostprocessorInfo> allAssetImportProcessors = new SortedSet <AssetPostprocessor.PostprocessorInfo>(new AssetPostprocessingInternal.CompareAssetImportPriority());

            allAssetImportProcessors.UnionWith(((AssetImporter)target).GetDynamicPostprocessors());
            allAssetImportProcessors.UnionWith(AssetImporter.GetStaticPostprocessors(target.GetType()).Where(t => t.Type.Assembly != typeof(AssetImporter).Assembly));

            m_Postprocessors = new List <PostprocessorInfo>();
            foreach (var processor in allAssetImportProcessors)
            {
                m_Postprocessors.Add(new PostprocessorInfo()
                {
                    Expanded = false,
                    Methods  = processor.Methods,
                    Name     = processor.Type.FullName
                });
            }

            m_ProcessorsAreExpanded = new SavedBool("AssetImporterEditor_DisplayProcessors", true);
            m_PostprocessorUI       = new ReorderableList(m_Postprocessors, typeof(string), false, true, false, false)
            {
                elementHeightCallback = index => m_Postprocessors[index].Expanded ? EditorGUIUtility.singleLineHeight * (m_Postprocessors[index].Methods.Length + 1) + 3f : EditorGUIUtility.singleLineHeight + 3f,
                drawElementCallback   = DrawPostprocessorElement,
                headerHeight          = ReorderableList.Defaults.minHeaderHeight,
                m_IsEditable          = false,
                multiSelect           = false,
                footerHeight          = ReorderableList.Defaults.minHeaderHeight,
            };
        }