static void Init()
    {
        FN_FindAssetReferencesWindow window = (FN_FindAssetReferencesWindow)EditorWindow.GetWindow(typeof(FN_FindAssetReferencesWindow));

        if (window == null)
        {
            window = new FN_FindAssetReferencesWindow();
        }

        window.IgnoreAssetCacheUpdate = FN_FindAssetReferences.IgnoreCacheUpdate;

        window.ToolRect    = new Rect(0f, 0f, 0f, 40f);
        window.ContentRect = new Rect(5f, 40f, 0f, 0f);

        window.sceneObjectsWindowRect = new Rect(0f, 0f, 0f, 0f);
        window.assetWindowRect        = new Rect(0f, 0f, 0f, 0f);
        window.Show();
    }
    static void FindReferences(MenuCommand command)
    {
        List <GameObject> findedList       = new List <GameObject>();
        List <GameObject> findedPrefabList = new List <GameObject>();

        Object obj = command.context;

        // for prefab
        if (obj.GetType() == typeof(Transform))
        {
            obj = ((Transform)obj).gameObject;
        }

        FindInScene(obj, ref findedList);
        FindInProject(AssetDatabase.GetAssetPath(obj), ref findedPrefabList);

        FN_FindAssetReferencesWindow refWindow = (FN_FindAssetReferencesWindow)EditorWindow.GetWindow(typeof(FN_FindAssetReferencesWindow));

        refWindow.SetObject(obj, findedList, findedPrefabList);
    }