public void paint(Graphics paramGraphics)
  {
    if (isShowing())
    {
      int i = getComponentCount();
      Component[] arrayOfComponent = getComponents();
      Rectangle localRectangle1 = paramGraphics.getClipBounds();
      for (int j = i - 1; j >= 0; j--)
      {
        Component localComponent = arrayOfComponent[j];
        if ((localComponent == null) || (!(localComponent.getPeer() instanceof LightweightPeer)) || (localComponent.isVisible() != true))
          continue;
        Rectangle localRectangle2 = localComponent.getBounds();
        if ((localRectangle1 != null) && (!localRectangle2.intersects(localRectangle1)))
          continue;
        Graphics localGraphics = paramGraphics.create(localRectangle2.x, localRectangle2.y, localRectangle2.width, localRectangle2.height);

        Rectangle localRectangle3 = localRectangle1.intersection(localRectangle2);
        localRectangle3.translate(-localRectangle2.x, -localRectangle2.y);

        localGraphics.setClip(localRectangle3.x, localRectangle3.y, localRectangle3.width, localRectangle3.height);

        localGraphics.setFont(localComponent.getFont());
        try
        {
          localComponent.paint(localGraphics);
        } finally {
          localGraphics.dispose();
        }
      }
    }
  }