code: public void initializeCache(Object key) throws Exception {
  		this.sortedWindows = cachedSortedWindows.get(key);
  		if (sortedWindows == null) {
  			this.sortedWindows = new TreeSet<>();
  			Iterator<Map.Entry<W, W>> keyValues = mapping.iterator();
  			if (keyValues != null) {
  				while (keyValues.hasNext()) {
  					Map.Entry<W, W> keyValue = keyValues.next();
  					this.sortedWindows.add(keyValue.getKey());
  				}
  			}
  			cachedSortedWindows.put(key, sortedWindows);
  		}
  	}
docs: Set current key context of this window set.
  
  <p>Notes: {@code initializeCache(Object)} must be called before
  {@link #addWindow(Window, MergeFunction)} and {@link #retireWindow(Window)}
  
  @param key the current access key