code: private Map createRowIdCache() {
  		List<?> data = (List<?>) getData();
  		Map<Object, Object> dataByRowId = new HashMap<>(data.size());
  
  		UIContext uic = UIContextHolder.getCurrent();
  
  		if (uic != null) {
  			uic.getScratchMap(this).put(SCRATCHMAP_DATA_BY_ROW_ID_KEY, dataByRowId);
  		}
  
  		for (int i = 0; i < data.size(); i++) {
  			Object bean = data.get(i);
  			dataByRowId.put(getRowId(bean), bean);
  		}
  
  		return dataByRowId;
  	}
docs: Creates a temporary cache of mappings from row id to row data. The mappings will be stored in this repeater's
  scratch map under {@link #SCRATCHMAP_DATA_BY_ROW_ID_KEY}.
  
  @return the newly created map