code: @Override
      public void update (Graphics g)
      {
          Shape clip = g.getClip();
          Rectangle dirty;
          if (clip != null) {
              dirty = clip.getBounds();
          } else {
              dirty = getRootPane().getBounds();
              // account for our frame insets
              Insets insets = getInsets();
              dirty.x += insets.left;
              dirty.y += insets.top;
          }
  
          if (_fmgr != null) {
              _fmgr.restoreFromBack(dirty);
          }
      }
docs: We catch update requests and forward them on to the repaint infrastructure.