SerializedView serializedView = null;
UIViewRoot viewRoot = context.getViewRoot();
if (!viewRoot.isTransient()) {
TreeStrutureNode treeState = new TreeStrutureNode();
treeState.apply(context, viewRoot, new HashSet());
Object state = viewRoot.processSaveState(context);
if (isSavingStateInClient(context)) {
serializedView = new SerializedView(treeState, state);
} else {
ExternalContext externalContext = context.getExternalContext();
Object session = externalContext.getSession(true);