@Override public PortletDelegationDispatcher createRequestDispatcher( PortletRequest portletRequest, IPortletDefinitionId delegatePortletDefinitionId) { final HttpServletRequest request = this.portalRequestUtils.getPortletHttpRequest(portletRequest); final String windowID = portletRequest.getWindowID(); final IPortletWindowId parentPortletWindowId = this.portletWindowRegistry.getPortletWindowId(request, windowID); final IPortletEntity delegatePortletEntity = this.portletEntityRegistry.getOrCreateDelegatePortletEntity( request, parentPortletWindowId, delegatePortletDefinitionId); final IPortletEntityId delegatePortletEntityId = delegatePortletEntity.getPortletEntityId(); final IPortletWindow delegatePortletWindow = this.portletWindowRegistry.createDelegatePortletWindow( request, delegatePortletEntityId, parentPortletWindowId); final IPerson person = this.personManager.getPerson(request); final int userId = person.getID(); return new PortletDelegationDispatcherImpl( delegatePortletWindow, userId, portalRequestUtils, personManager, portletRenderer, portalUrlProvider, portletDelegationManager); }