Map < Object , Object > createOrRestoreMap ( FacesContext context , String prefix , boolean create ) { ExternalContext external = context . getExternalContext ( ) ; Map < String , Object > sessionMap = external . getSessionMap ( ) ; Map < Object , Object > map = ( Map < Object , Object > ) sessionMap . get ( prefix ) ; if ( map == null && create ) { map = new ConcurrentHashMap < Object , Object > ( ) ; sessionMap . put ( prefix , map ) ; } return map ; }
Create a new subkey - wrapper of the session map with the given prefix . This wrapper is used to implement the maps for the flash scope . For more information see the SubKeyMap doc .