private void insertNumbers() {
		Board board = getBoard();
		
		BoardNumbers[] boardNumbers = new BoardNumbers[4];
		for (int i = 0; i < boardNumbers.length; i++) {
			boardNumbers[i] = new BoardNumbers();
		}
		
		/* Easter (New Year) egg */
		int year = 0;
		DateFormat dateFormat = new SimpleDateFormat("yyyy", Locale.ENGLISH);
		
		Calendar calendar = Calendar.getInstance();
		if (calendar.get(Calendar.MONTH) == Calendar.DECEMBER
				&& calendar.get(Calendar.DAY_OF_MONTH) == 31) {
			year = Integer.parseInt(dateFormat.format(calendar.getTime())) + 1;
		} else if (calendar.get(Calendar.MONTH) == Calendar.JANUARY
				&& calendar.get(Calendar.DAY_OF_MONTH) == 1) {
			year = Integer.parseInt(dateFormat.format(calendar.getTime()));
		}
		
		char[] numbers;
		if (year != 0) {
			numbers = Integer.toString(year).toCharArray();
		} else {
			numbers = "9999".toCharArray();
		}
		for (int i = 0; i < boardNumbers.length; i++) {
			boardNumbers[i].setNumber(BoardNumbers.charToNumbers(numbers[i]));
		}
		
		int k;
		// upper left
		k = 0;
		board = insertCellsToBoard(board, boardNumbers[k].getBoard(), 1, board.getHeight()
				- boardNumbers[k].getHeight() - 1);
		// upper right
		k = 1;
		board = insertCellsToBoard(board, boardNumbers[k].getBoard(), board.getWidth()
				- boardNumbers[k].getWidth() - 1, board.getHeight() - boardNumbers[k].getHeight()
				* 2);
		// lower left
		k = 2;
		board = insertCellsToBoard(board, boardNumbers[k].getBoard(), 1,
				boardNumbers[k].getHeight());
		// lower right
		k = 3;
		board = insertCellsToBoard(board, boardNumbers[k].getBoard(), board.getWidth()
				- boardNumbers[k].getWidth() - 1, 1);
		
		if (!(exitFlag || Thread.currentThread().isInterrupted())) {
			setBoard(board);
		}
	}