code: protected void addObscurerDirtyRegions (boolean changedOnly)
      {
          if (_obscurerList != null) {
              for (Obscurer obscurer : _obscurerList) {
                  Rectangle obscured = obscurer.getObscured(changedOnly);
                  if (obscured != null) {
                      Point pt = new Point(obscured.x, obscured.y);
                      SwingUtilities.convertPointFromScreen(pt, this);
                      addObscurerDirtyRegion(
                          new Rectangle(pt.x, pt.y, obscured.width, obscured.height));
                  }
              }
          }
      }
docs: Add dirty regions for all our obscurers.