DungeonMasterEngine.GameConsoleContent.HandCommand.TakeSubItem C# (CSharp) Method

TakeSubItem() private method

private TakeSubItem ( ) : System.Threading.Tasks.Task
return System.Threading.Tasks.Task
        private async Task TakeSubItem()
        {
            if (theron.Hand != null)
            {
                var ch = await GetFromItemIndex(theron.PartyGroup);

                if (ch != null)
                {
                    var inventory = await GetFromItemIndex(ch.Body.Storages);
                    if (inventory != null)
                    {
                        var chest = await GetFromItemIndex(inventory.Storage.OfType<IInventory>());
                        if (chest != null)
                        {
                            var itemIndex = await GetItemIndex(chest.Storage);
                            if (itemIndex != null)
                            {
                                theron.Hand = chest.TakeItemFrom(itemIndex.Value);
                            }
                        }
                    }
                }
            }
            else
                Output.WriteLine("Hand is empty!");
        }