public ArkItemTypeGroup(ArkItem[] all)
 {
     All              = all ?? new ArkItem[] { };
     _items           = new Lazy <ArkItem[]>(() => All.Where(x => !x.IsBlueprint).ToArray());
     _blueprints      = new Lazy <ArkItem[]>(() => All.Where(x => x.IsBlueprint).ToArray());
     _countItems      = new Lazy <int>(() => Items.Any() ? (int)Items.Sum(x => x.Quantity) : 0);
     _countBlueprints = new Lazy <int>(() => Blueprints.Any() ? (int)Blueprints.Sum(x => x.Quantity) : 0);
     _count           = new Lazy <int>(() => CountItems + CountBlueprints);
 }