private static void OnTypeSelectedEvent(Type type)
    {
        if (type == null)
            throw new ArgumentNullException("type");

        string path = ScriptableObjectUtility.GetSelectionAssetPath(type.Name);

        if (path == null)
            throw new ArgumentNullException("path");

        ScriptableObject asset = ScriptableObjectUtility.CreateAssetAtPath(type, path, "New " + type.Name);
        EditorUtility.FocusProjectWindow();
        EditorUtility.SetDirty(asset);
        Selection.activeObject = asset;

        window.Close();
    }