code: @Override
  	public final void paint(final RenderContext renderContext) {
  		if (isVisible()) {
  			// If painting a NamingContext, reset its registered IDs
  			if (WebUtilities.isActiveNamingContext(this)) {
  				clearIdRegister();
  			}
  
  			registerInContext();
  
  			beforePaint(renderContext);
  			paintComponent(renderContext);
  			afterPaint(renderContext);
  		}
  	}
docs: Renders the component. If the component is visible then paint calls:
  <ol>
  <li>{@link #beforePaint(RenderContext) beforePaint(...)}</li>
  <li>{@link #paintComponent(RenderContext) paintComponent(...)}</li>
  <li>{@link #afterPaint(RenderContext) afterPaint(...)}</li>
  </ol>
  
  @param renderContext the RenderContext to send the output to.