code: public PartialViewContext getPartialViewContext() {
  
          if (defaultFacesContext != null) {
              return defaultFacesContext.getPartialViewContext();
          }
          if (!isCreatedFromValidFactory) {
              if (partialViewContextForInvalidFactoryConstruction == null) {
                  PartialViewContextFactory f = (PartialViewContextFactory)
                        FactoryFinder.getFactory(FactoryFinder.PARTIAL_VIEW_CONTEXT_FACTORY);
                  partialViewContextForInvalidFactoryConstruction = f.getPartialViewContext(FacesContext.getCurrentInstance());
              }
              return partialViewContextForInvalidFactoryConstruction;
          }
          throw new UnsupportedOperationException();
  
      }
docs: <p class="changed_added_2_0">Return the {@link PartialViewContext}
  for this request.  The {@link PartialViewContext} is used to control
  the processing of specified components during the execute portion of
  the request processing lifecycle (known as partial processing) and
  the rendering of specified components (known as partial rendering).
  This method must return a new {@link PartialViewContext} if one
  does not already exist.</p>
  
  @throws IllegalStateException if this method is called after
  this instance has been released
  
  @since 2.0