public void floodfillRecursion(final int x, final int y, final int newColor, final int oldColor) {

        if (x >= 0 && x < width && y >= 0 && y < height && screenBuffer[x][y] == oldColor && screenBuffer[x][y] != newColor) {

            screenBuffer[x][y] = newColor;

            floodfillRecursion(x + 1, y, newColor, oldColor);
            floodfillRecursion(x - 1, y, newColor, oldColor);
            floodfillRecursion(x, y + 1, newColor, oldColor);
            floodfillRecursion(x, y - 1, newColor, oldColor);
        }
    }