if (!record.getChanges().isEmpty())
{
final Object model = record.getModel();
if (model instanceof AbstractDkModifiableBeanWithId)
{
final AbstractDkModifiableBeanWithId modifiableBean = (AbstractDkModifiableBeanWithId) model;
dirtyBeanAndAncestors(editor.getStore(), modifiableBean);
for (final Object changeObject : record.getChanges())
{
final Change change = (Change) changeObject;
final String path = ((ValueProvider) change.getChangeTag()).getPath();
if (DkStringUtils.hasText(path))
{
modifiableBean.getDirtyPaths().add(path.indexOf(".") == -1 ? path : path.substring(0, path.indexOf(".")));
}
}
}
}
}