DoRecoverOnNextTick() private method

private DoRecoverOnNextTick ( DeletedAsset assets ) : void
assets DeletedAsset
return void
        public void DoRecover()
        {
            string[] selectedDeletedItemGUIDs   = this.GetSelectedDeletedItemGUIDs();
            Dictionary <string, int> dictionary = new Dictionary <string, int>();
            int num = 0;

            for (int i = 0; i < selectedDeletedItemGUIDs.Length; i++)
            {
                for (int j = 0; j < this.m_DeletedItems.Length; j++)
                {
                    if (this.m_DeletedItems[j].guid == selectedDeletedItemGUIDs[i])
                    {
                        dictionary[this.m_DeletedItems[j].guid] = j;
                        break;
                    }
                }
            }
            DeletedAsset[] assets = new DeletedAsset[dictionary.Count];
            while (dictionary.Count != 0)
            {
                DeletedAsset asset = null;
                foreach (KeyValuePair <string, int> pair in dictionary)
                {
                    asset = this.m_DeletedItems[pair.Value];
                    if (!dictionary.ContainsKey(asset.parent))
                    {
                        assets[num++] = asset;
                        break;
                    }
                }
                dictionary.Remove(asset.guid);
            }
            AssetServer.SetAfterActionFinishedCallback("ASEditorBackend", "CBReinitASMainWindow");
            AssetServer.DoRecoverOnNextTick(assets);
        }
        public void DoRecover()
        {
            string[] deletedItemGuiDs           = this.GetSelectedDeletedItemGUIDs();
            Dictionary <string, int> dictionary = new Dictionary <string, int>();
            int num = 0;

            for (int index1 = 0; index1 < deletedItemGuiDs.Length; ++index1)
            {
                for (int index2 = 0; index2 < this.m_DeletedItems.Length; ++index2)
                {
                    if (this.m_DeletedItems[index2].guid == deletedItemGuiDs[index1])
                    {
                        dictionary[this.m_DeletedItems[index2].guid] = index2;
                        break;
                    }
                }
            }
            DeletedAsset[] assets = new DeletedAsset[dictionary.Count];
            while (dictionary.Count != 0)
            {
                DeletedAsset deletedAsset = (DeletedAsset)null;
                using (Dictionary <string, int> .Enumerator enumerator = dictionary.GetEnumerator())
                {
                    while (enumerator.MoveNext())
                    {
                        deletedAsset = this.m_DeletedItems[enumerator.Current.Value];
                        if (!dictionary.ContainsKey(deletedAsset.parent))
                        {
                            assets[num++] = deletedAsset;
                            break;
                        }
                    }
                }
                dictionary.Remove(deletedAsset.guid);
            }
            AssetServer.SetAfterActionFinishedCallback("ASEditorBackend", "CBReinitASMainWindow");
            AssetServer.DoRecoverOnNextTick(assets);
        }