private float transferGoods(Owner a, Owner b) {
    if (a == null || b == null) return 0 ;
    float sumItems = 0 ;
    float totalPrice = 0 ;
    for (Item i : available(actor)) {
      final float TA = a.inventory().transfer(i, b) ;
      totalPrice += TA * purchasePrice(i, actor, origin) / i.amount ;
      sumItems += TA ;
    }
    
    I.sayAbout(actor, "Should pay: "+shouldPay) ;
    
    if (shouldPay != null) {
      origin.inventory().incCredits(totalPrice) ;
      if (shouldPay == actor) actor.gear.incCredits(0 - totalPrice) ;
      else pricePaid = totalPrice ;
    }
    return sumItems ;
  }