}
private void setWritingState(FacesContext context, ResponseStateManager rsm){
// Facelets specific hack:
// Tell the StateWriter that we're about to write state
StateWriter stateWriter = StateWriter.getCurrentInstance(context);
if (stateWriter != null)
{
// Write the STATE_KEY out. Unfortunately, this will
// be wasteful for pure server-side state managers where nothing
// is actually written into the output, but this cannot
// programatically be discovered
// -= Leonardo Uribe =- On MyFacesResponseStateManager was added
// some methods to discover it programatically.
if (StateCacheUtils.isMyFacesResponseStateManager(rsm))
{
if (StateCacheUtils.getMyFacesResponseStateManager(rsm).isWriteStateAfterRenderViewRequired(context))
{
stateWriter.writingState();
}
else
{
stateWriter.writingStateWithoutWrapper();
}
}
else
{
stateWriter.writingState();
}
}else
{