code: public void processDecodes(FacesContext context) {
  
          if (context == null) {
              throw new NullPointerException();
          }
  
          // Skip processing if our rendered flag is false
          if (!isRendered()) {
              return;
          }
  
          super.processDecodes(context);
  
          if (isImmediate()) {
              executeValidate(context);
          }
      }
docs: <p>Specialized decode behavior on top of that provided by the
  superclass.  In addition to the standard
  <code>processDecodes</code> behavior inherited from {@link
  UIComponentBase}, calls <code>validate()</code> if the the
  <code>immediate</code> property is true; if the component is
  invalid afterwards or a <code>RuntimeException</code> is thrown,
  calls {@link FacesContext#renderResponse}.  </p>
  
  @throws NullPointerException {@inheritDoc}