code: @Override
      public PortletDelegationDispatcher getRequestDispatcher(
              PortletRequest portletRequest, IPortletWindowId portletWindowId) {
          final HttpServletRequest request =
                  this.portalRequestUtils.getPortletHttpRequest(portletRequest);
          final IPerson person = this.personManager.getPerson(request);
  
          final IPortletWindow portletWindow =
                  this.portletWindowRegistry.getPortletWindow(request, portletWindowId);
  
          final IPortletWindowId delegationParentId = portletWindow.getDelegationParentId();
          if (delegationParentId == null) {
              throw new IllegalArgumentException(
                      "Portlet window '"
                              + portletWindow
                              + "' is not a delegate window and cannot be delgated to.");
          }
  
          return new PortletDelegationDispatcherImpl(
                  portletWindow,
                  person.getID(),
                  this.portalRequestUtils,
                  this.personManager,
                  this.portletRenderer,
                  this.portalUrlProvider,
                  this.portletDelegationManager);
      }
docs: /* (non-Javadoc)
  @see org.apereo.portal.api.portlet.PortletDelegationLocator#getRequestDispatcher(org.apereo.portal.portlet.om.IPortletWindowId)