public Item Construct() { try { var item = ItemType.CreateInstance <Item>(Args); if (item is IRewardItem rewardItem) { rewardItem.IsRewardItem = true; } return(item); } catch { // ignored } return(null); }