public override bool IsValidMove(Move move, ChessGame game) { ChessUtilities.ThrowIfNull(move, "move"); ChessUtilities.ThrowIfNull(game, "game"); return new Bishop(Owner).IsValidMove(move, game) || new Rook(Owner).IsValidMove(move, game); }