}
private void outjectDataModel(Object bean, BijectedAttribute dataModelGetter)
{
DataBinder wrapper = createWrapper( dataModelGetter.getAnnotation() );
Object list = dataModelGetter.get(bean);
String name = dataModelGetter.getName();
Annotation dataModelAnn = dataModelGetter.getAnnotation();
ScopeType scope = wrapper.getVariableScope(dataModelAnn);
Context context = getOutScope(scope, this).getContext();
Object existingDataModel = context.get(name);
boolean dirty = existingDataModel == null ||
wrapper.isDirty(dataModelAnn, existingDataModel, list);
boolean reoutject = existingDataModel!=null && scope==PAGE;
if (dirty)
{
if ( list!=null )
{
context.set( name, wrapper.wrap(dataModelAnn, list) );
}
else
{
context.remove(name);
}