private void floodFillRecursive(int x, int y, char fromColor, char toColor) {

		if (bitmap[y][x] == fromColor) {
			bitmap[y][x] = toColor;
		} else {
			return;
		}

		// left 
		if (x - 1 >= 0 && bitmap[y][x - 1] == fromColor) {
			floodFillRecursive(x - 1, y, fromColor, toColor);
		}

		// right
		if (x + 1 < col && bitmap[y][x + 1] == fromColor) {
			floodFillRecursive(x + 1, y, fromColor, toColor);
		}

		// up
		if (y - 1 >= 0 && bitmap[y - 1][x] == fromColor) {
			floodFillRecursive(x, y - 1, fromColor, toColor);
		}

		// down
		if (y + 1 < line && bitmap[y + 1][x] == fromColor) {
			floodFillRecursive(x, y + 1, fromColor, toColor);
		}
	}