* @see org.jasig.portal.channels.portlet.ISpringPortletChannel#generateKey(org.jasig.portal.ChannelStaticData, org.jasig.portal.PortalControlStructures, org.jasig.portal.ChannelRuntimeData)
*/
public ChannelCacheKey generateKey(ChannelStaticData channelStaticData, PortalControlStructures portalControlStructures, ChannelRuntimeData channelRuntimeData) {
//Get the portlet windowId
final HttpServletRequest httpServletRequest = portalControlStructures.getHttpServletRequest();
final IPortletWindowId portletWindowId = this.getPortletWindowId(channelStaticData, channelRuntimeData, portalControlStructures);
//Build the cache key
final Map<String, Object> key = new LinkedHashMap<String, Object>();
key.put(IPortletWindowId.class.getName(), portletWindowId.getStringId());
key.put("remoteUser", httpServletRequest.getRemoteUser());
final HttpSession session = httpServletRequest.getSession(false);
if (session != null) {
key.put("HttpSession.id", session.getId());