Object newValue = iEditor.getValue();
Object oldValue = iEditor.getOldValue();
if (isValueChanged(oldValue, newValue)) {
IUndoableOperation operation = new SetWidgetValueOperation(adapter, oldValue, newValue);
IOperationHistory operationHistory = PlatformUI.getWorkbench().getOperationSupport().getOperationHistory();
operation.addContext(adapter.getUndoContext());
operationHistory.execute(operation, null, null);
adapter.setDirty(true);
CompositeAdapter container = (CompositeAdapter) adapter.getParentAdapter();
if (container != null)
container.adjustLayout(adapter.getWidget());