if (parentPortletWindowId != null) {
//Get the portal url builder that targets the parent
final IPortalUrlBuilder portalUrlBuilder = this.getPortalUrlBuilderByPortletWindow(request, parentPortletWindowId, urlType);
//See if there is additional delegation request data that needs to be added to the URL
final DelegationRequest delegationRequest = this.portletDelegationManager.getDelegationRequest(request, portletWindowId);
if (delegationRequest != null) {
final IPortletUrlBuilder parentPortletUrlBuilder = portalUrlBuilder.getPortletUrlBuilder(parentPortletWindowId);
final Map<String, List<String>> parentParameters = delegationRequest.getParentParameters();
if (parentParameters != null) {
parentPortletUrlBuilder.setParameters(parentParameters);
}
final PortletMode parentPortletMode = delegationRequest.getParentPortletMode();
if (parentPortletMode != null) {
parentPortletUrlBuilder.setPortletMode(parentPortletMode);
}
final WindowState parentWindowState = delegationRequest.getParentWindowState();
if (parentWindowState != null) {
parentPortletUrlBuilder.setWindowState(parentWindowState);
}
}