@Override
    public void release()
    {
        _applicationFactory = null;
        _currentFacesContext = null;
        if (_defaultExternalContext != null)
        {
            _defaultExternalContext.release();
            _defaultExternalContext = null;
        }
        
        _application = null;
        _externalContext = null;
        _viewRoot = null;
        _renderKitFactory = null;
        _elContext = null;
        _exceptionHandler = null;
        _cachedRenderKit = null;
        _cachedRenderKitId = null;
        _separatorChar = null;
        
        // Spec JSF 2 section getAttributes when release is called the attributes map
        // must!!! be cleared! (probably to trigger some clearance methods on possible
        // added entries before nullifying everything)
        if (_attributes != null)
        {
            _attributes.clear();
            _attributes = null;
        }
        
        _released = true;
        FacesContext.setCurrentInstance(null);
    }
@ Override public void release ( ) { _applicationFactory = null ; _currentFacesContext = null ; if ( _defaultExternalContext != null ) { _defaultExternalContext . release ( ) ; _defaultExternalContext = null ; } _application = null ; _externalContext = null ; _viewRoot = null ; _renderKitFactory = null ; _elContext = null ; _exceptionHandler = null ; _cachedRenderKit = null ; _cachedRenderKitId = null ; _separatorChar = null ; if ( _attributes != null ) { _attributes . clear ( ) ; _attributes = null ; } _released = true ; FacesContext . setCurrentInstance ( null ) ; }
Releases the instance fields on FacesContextImplBase.
Must be called by sub-classes, when overriding it!