code: @SuppressWarnings("SameParameterValue")
      private void delegatingRepaint(int x, int y, int width, int height) {
          final RepaintDelegate delegate = repaintDelegate.get();
          if (delegate != null) {
              //logger.info("Delegating repaint: " + x + ", " + y + ", " + width + ", " + height);
              delegate.repaint(x, y, width, height);
          } else {
              //logger.info("Normal repaint: " + x + ", " + y + ", " + width + ", " + height);
              repaint(x, y, width, height);
          }
      }
docs: Determine whether we should use the normal repaint process, or delegate that to another component that is
  hosting us in a soft-loaded manner to save memory.
  
  @param x the left edge of the region that we want to have redrawn
  @param y the top edge of the region that we want to have redrawn
  @param width the width of the region that we want to have redrawn
  @param height the height of the region that we want to have redrawn