Had to change the equals override on Card or else Array lists broke when trying to remove the card. It now only returns true when comparing identical objects (vs objects with matching values).