void jumpClear() {
			
			try {
				
				// Fill all rows bottom to top
				for (int row = game.getVerticalDimension() - 1; row >= 3; row --) {
					for (int col = 0; col < game.getHorizontalDimension(); col++) {
						if (game.isOpen(row, col)) {
							game.setColor(row, col, BlockType.getRandomColor());
						}
					}
					repaint();
					Thread.sleep(CLEAR_SLEEP_INTERVAL);
				}
				
				// Clear all rows top to bottom.
				for (int row = 3; row < game.getVerticalDimension(); row ++) {
					for (int col = 0; col < game.getHorizontalDimension(); col++) {
						game.clearSquare(row, col);
					}
					repaint();
					Thread.sleep(CLEAR_SLEEP_INTERVAL);
				}
				
				if (settingsPanel.cbxSaveScores.isSelected()) {
					new ScoreResultsFrame(scoresDao, game);
				}
				
			}
			catch (InterruptedException e) {
				return; // Will happen if we start a new game before task is done
			}
			catch (Exception e) {
				throw new RuntimeException(e);
			}
			
		};