protected boolean causesCheck(PossibleTile pt, Board b){
		Board bClone = b.clone();
		bClone.removePiece(pt.getOriginalPiece());
		Piece newPiece = pt.getOriginalPiece().clone();
		newPiece.setX(pt.getX());
		newPiece.setY(pt.getY());
		bClone.addPiece(newPiece);
		if (pt.hasPieceToRemove()) {
			bClone.removePiece(pt.getRemovePiece());
		}
		King k = null;
		for (Piece p : bClone.getPieces()) {
			if (
				p.isWhite() == pt.getOriginalPiece().isWhite() &&
				p instanceof King
			) {
				k = (King) p;
				break;
			}
		}
		for (Piece p : bClone.getPieces()) {
			if(p.isWhite() != pt.getOriginalPiece().isWhite()) {
				for(PossibleTile move : p.getLazyTiles(bClone)) {
					if (checkSameSpace(k, move)) {
						return true;
					}
				}
			}
		}
		return false;
	}