/**
  * Adds a new editor for an object.
  *
  * <p>This flags the object as unmodified, if no modified flag already exists.
  *
  * @param object the object
  * @param editor the editor for the object
  */
 @Override
 protected void addEditor(IMObject object, IMObjectEditor editor) {
   super.addEditor(object, editor);
   if (modified.get(object.getObjectReference()) == null) {
     // default to unmodified
     setModified((Act) object, false);
   }
 }
 /** Invoked when the current editor is modified. */
 @Override
 protected void onCurrentEditorModified() {
   IMObjectEditor editor = getCurrentEditor();
   if (editor != null) {
     // flag the editor as modified before delegating to super, otherwise it may be needlessly
     // unmapped from the
     // collection by excludeObjectWithDefaultValues()
     Act object = (Act) editor.getObject();
     setModified(object, true);
   }
   super.onCurrentEditorModified();
 }