@Override
    public final Map<Object, Object> getAttributes()
    {
        assertNotReleased();

        if (_attributes == null)
        {
            _attributes = new HashMap<Object, Object>();
        }
        return _attributes;
    }
@ Override public final Map < Object , Object > getAttributes ( ) { assertNotReleased ( ) ; if ( _attributes == null ) { _attributes = new HashMap < Object , Object > ( ) ; } return _attributes ; }
Returns a mutable map of attributes associated with this faces context when
{@link javax.faces.context.FacesContext.release} is called the map must be cleared!

Note this map is not associated with the request map the request map still is accessible via the
{@link javax.faces.context.FacesContext.getExternalContext.getRequestMap} method!

Also the scope is different to the request map, this map has the scope of the context, and is cleared once the
release method on the context is called!

Also the map does not cause any events according to the spec!

@since JSF 2.0

@throws IllegalStateException
if the current context already is released!