public static void ShowWindow()
        {
            Type childEditorType = GetChildEditorType();

            BaseSystemEditor <T>[] objArray = (BaseSystemEditor <T>[])Resources.FindObjectsOfTypeAll(childEditorType);
            BaseSystemEditor <T>   editor   = (objArray.Length <= 0 ? (BaseSystemEditor <T>)ScriptableObject.CreateInstance(childEditorType) : objArray[0]);


            editor.hideFlags = HideFlags.HideAndDontSave;
                        #if UNITY_4_6 || UNITY_4_7 || UNITY_5_0 || UNITY_5_1
            editor.title = childEditorType.Name;
                        #else
            editor.titleContent = new GUIContent(childEditorType.Name);
                        #endif
            editor.SelectDatabase();
        }
 protected virtual void OnEnable()
 {
     instance = this;
     ResetChildEditors();
 }