//Passing in null counts as it being false, don't want to trash because they have the option public StatusObject trashACopperForCurrencyBonus(Card aCard) { StatusObject retVal = new StatusObject(false); if (this.trashesNeeded <= 0 || !this.myHand.contains(CardMother.Copper())) { this.trashesNeeded = 0; retVal.setCopperTrashedForCurrency(true); return retVal; } if (aCard == null) { retVal.setCopperTrashedForCurrency(true); return retVal; } if (!aCard.Equals(CardMother.Copper())) { return retVal; } if (!this.getHand().contains(aCard)) { return retVal; } this.getHand().remove(aCard); this.bonusCurrencyForBuy += this.trashCurrencyBonus; this.trashesNeeded--; if (trashesNeeded == 0) { retVal.setCopperTrashedForCurrency(true); } else { retVal.setTrashACopperForCurrency(true); } return retVal; }