/// <summary>
 /// Transfer <paramref name="amount"/> of <paramref name="type"/> into <paramref name="target"/>
 /// </summary>
 /// <param name="type">the type of resource to transfer</param>
 /// <param name="target">the inventory to transfer into</param>
 /// <param name="amount">the amount to transfer</param>
 /// <returns>An option to execute the transfer, wrapping the amount which would be transferred</returns>
 public ActionOption <float> TransferResourceInto(T type, TradingInventoryAdapter <T> target, float amount)
 {
     return(itemSource.TransferResourceInto(type, target.itemSource, amount));
 }
 protected TradingInventoryAdapter(TradingInventoryAdapter <T> other) : this(other.itemSource.CloneSimulated(), other.moneyType)
 {
 }