public void BuildRecipe(HotItemController c)
        {
            this.IsExpanded = true;
            if (c.ItemIdToDataId.ContainsKey(CreatedItemId))
            {
                Name = "loading...";
                this.DataId = c.ItemIdToDataId[CreatedItemId];
            }

            if (!IsRoot)
            {
                if (c.CreatedIdToRecipe.ContainsKey(ItemId))
                {
                    List<Recipe> tempList = new List<Recipe>();
                    for (int i = 0; i < c.CreatedIdToRecipe[ItemId].RecipeItems.Count; i++)
                    {
                        var r = c.CreatedIdToRecipe[ItemId].RecipeItems[i];
                        Recipe recipe = new Recipe(r.DataId, r.Quantity * this.Quantity);
                        recipe.ItemId = r.ItemId;
                        recipe.CreatedItemId = r.CreatedItemId;
                        recipe.RecipeItems = r.RecipeItems;
                        recipe.Name = "loading...";
                        tempList.Add(recipe);
                    }
                    RecipeItems = new ObservableCollection<Recipe>(tempList);
                }
            }

            c.RegisterRecipeItem(this);
            for (int i = 0; i < RecipeItems.Count; i++)
            {
                RecipeItems[i].BuildRecipe(c);
            }
        }