code: public void processUpdates(FacesContext context) {
  
          if (context == null) {
              throw new NullPointerException();
          }
  
          // Skip processing if our rendered flag is false
          if (!isRendered()) {
              return;
          }
  
          super.processUpdates(context);
  
          try {
              updateModel(context);
          } catch (RuntimeException e) {
              context.renderResponse();
              throw e;
          }
  
          if (!isValid()) {
              context.renderResponse();
          }
      }
docs: <p>In addition to the standard <code>processUpdates</code> behavior
  inherited from {@link UIComponentBase}, calls
  <code>updateModel()</code>.
  If the component is invalid afterwards, calls
  {@link FacesContext#renderResponse}.
  If a <code>RuntimeException</code> is thrown during
  update processing, calls {@link FacesContext#renderResponse}
  and re-throw the exception.
  </p>
  
  @throws NullPointerException {@inheritDoc}