code: protected void initialize(FacesContext context)
      {
          log.finest("Initializing");
  
          Compiler compiler = createCompiler(context);
  
          _faceletFactory = createFaceletFactory(context, compiler);
  
          ExternalContext eContext = context.getExternalContext();
          _initializeBuffer(eContext);
          _initializeMode(eContext);
          _initializeContractMappings(eContext);
          
          // Create a component ids cache and store it on application map to
          // reduce the overhead associated with create such ids over and over.
          MyfacesConfig mfConfig = MyfacesConfig.getCurrentInstance(eContext);
          if (mfConfig.getComponentUniqueIdsCacheSize() > 0)
          {
              String[] componentIdsCached = SectionUniqueIdCounter.generateUniqueIdCache("_", 
                      mfConfig.getComponentUniqueIdsCacheSize());
              eContext.getApplicationMap().put(
                      CACHED_COMPONENT_IDS, componentIdsCached);
          }
          
          _viewPoolProcessor = ViewPoolProcessor.getInstance(context);
  
          log.finest("Initialization Successful");
      }
docs: Initialize the ViewHandler during its first request.