private void executeChange( Object element, String propertyName, Object oldValue, Object newValue) { if (element instanceof PluginObject) { PluginObject pobj = (PluginObject) element; try { pobj.restoreProperty(propertyName, oldValue, newValue); } catch (CoreException e) { PDEPlugin.logException(e); } } else if (element instanceof BuildObject) { BuildObject bobj = (BuildObject) element; try { bobj.restoreProperty(propertyName, oldValue, newValue); } catch (CoreException e) { PDEPlugin.logException(e); } } else if (element instanceof PluginObjectNode) { PluginObjectNode node = (PluginObjectNode) element; String newString = newValue != null ? newValue.toString() : null; node.setXMLAttribute(propertyName, newString); } else if (element instanceof BundleObject) { if (element instanceof ImportPackageObject) { ImportPackageObject ipObj = (ImportPackageObject) element; ipObj.restoreProperty(propertyName, oldValue, newValue); } } }