The first argument in DeckView is 'player'...but actually this should be the 'humanPlayer', not the player whose Deck it is.
Some improvements in the code documentation and naming woudl help here (and possibly some refactoring to reduce the risk of easy misunderstandings)