code: public ViewScopeContextualStorage getContextualStorage(
          BeanManager beanManager, String viewScopeId)
      {
          ViewScopeContextualStorage contextualStorage = storageMap.get(viewScopeId);
          if (contextualStorage == null)
          {
              synchronized (this)
              {            
                  contextualStorage = storageMap.get(viewScopeId);
                  if (contextualStorage == null)
                  {            
                      contextualStorage = new ViewScopeContextualStorage(beanManager);
                      storageMap.put(viewScopeId, contextualStorage);
                  }
              }
          }
          return contextualStorage;
      }
docs: This method will return the ViewScopeContextualStorage or create a new one
  if no one is yet assigned to the current windowId.
  @param beanManager we need the CDI {@link BeanManager} for serialisation.
  @param windowId the windowId for the current browser tab or window.