code: @Override
      public void encodeBegin(FacesContext context) throws IOException
      {
          _initialDescendantComponentState = null;
          if (_isValidChilds && !hasErrorMessages(context))
          {
              // Clear the data model so that when rendering code calls
              // getDataModel a fresh model is fetched from the backing
              // bean via the value-binding.
              _dataModelMap.clear();
  
              // When the data model is cleared it is also necessary to
              // clear the saved row state, as there is an implicit 1:1
              // relation between objects in the _rowStates and the
              // corresponding DataModel element.
              if (!isRowStatePreserved())
              {
                  _rowStates.clear();
              }
          }
          super.encodeBegin(context);
      }
docs: Perform necessary actions when rendering of this component starts, before delegating to the inherited
  implementation which calls the associated renderer's encodeBegin method.