public bool CanPutIn(ItemGroup putInItemGroup, out ItemGroup extraItemGroup) { bool canPutIn = isEmpty || myItemGroup.itemCount > 0 && myItemGroup.CompareTo(putInItemGroup) == 0; extraItemGroup = null; if (canPutIn && myItemGroup != null) { ItemBaseInfo putInItemInfo = putInItemGroup.itemInfo; int extraCount = putInItemGroup.itemCount + myItemGroup.itemCount - putInItemInfo.maxCountInGrid; if (extraCount > 0) { extraItemGroup = new ItemGroup(putInItemInfo, extraCount); } } return(canPutIn); }