private String _getBreadcrumbLayoutURL(
      Layout selLayout, String selLayoutParam, PortletURL portletURL, ThemeDisplay themeDisplay)
      throws Exception {
    if (portletURL == null) {
      return PortalUtil.getLayoutURL(selLayout, themeDisplay);
    } else {
      portletURL.setParameter(selLayoutParam, String.valueOf(selLayout.getPlid()));

      if (selLayout.isTypeControlPanel()) {
        if (themeDisplay.getDoAsGroupId() > 0) {
          portletURL.setParameter("doAsGroupId", String.valueOf(themeDisplay.getDoAsGroupId()));
        }

        if (themeDisplay.getRefererPlid() != LayoutConstants.DEFAULT_PLID) {
          portletURL.setParameter("refererPlid", String.valueOf(themeDisplay.getRefererPlid()));
        }
      }

      return portletURL.toString();
    }
  }