code: @Override
  	public void tidyUpUIContext() {
  		RepeaterModel model = getComponentModel();
  
  		if (model.rowContextMap != null) {
  			for (Iterator<Map.Entry<Object, SubUIContext>> i = model.rowContextMap.entrySet().
  					iterator(); i.hasNext();) {
  				Map.Entry<Object, SubUIContext> entry = i.next();
  				SubUIContext subContext = entry.getValue();
  
  				UIContextHolder.pushContext(subContext);
  
  				try {
  					getRepeatRoot().tidyUpUIContextForTree();
  				} finally {
  					UIContextHolder.popContext();
  				}
  			}
  		}
  
  		super.tidyUpUIContext();
  	}
docs: Removes any component models that are in their default state.
  <p>
  The subContexts are held onto as they hold the "render id" for the row. This is needed to be able to match the
  rendered row back to the subcontext.
  </p>