catch up with development
diff --git a/org.eclipse.osbp.vaaclipse.presentation/META-INF/MANIFEST.MF b/org.eclipse.osbp.vaaclipse.presentation/META-INF/MANIFEST.MF
index de43d64..c49c81e 100644
--- a/org.eclipse.osbp.vaaclipse.presentation/META-INF/MANIFEST.MF
+++ b/org.eclipse.osbp.vaaclipse.presentation/META-INF/MANIFEST.MF
@@ -30,7 +30,7 @@
  org.eclipse.emf.ecore.xmi;bundle-version="2.10.2",
  org.eclipse.osbp.runtime.designer.api;bundle-version="[0.9.0,0.10.0)",
  dragdroplayouts.osgi;bundle-version="[1.3.2,1.3.3)",
- contextmenu.osgi;bundle-version="[4.6,4.7)"
+ com.vaadin.addon.vaadin-context-menu
 Export-Package: org.eclipse.osbp.vaaclipse.presentation.engine;version="0.9.0",
  org.eclipse.osbp.vaaclipse.presentation.renderers;version="0.9.0"
 Import-Package: javax.annotation,
diff --git a/org.eclipse.osbp.vaaclipse.presentation/pom.xml b/org.eclipse.osbp.vaaclipse.presentation/pom.xml
index ec6b101..6f81e7a 100644
--- a/org.eclipse.osbp.vaaclipse.presentation/pom.xml
+++ b/org.eclipse.osbp.vaaclipse.presentation/pom.xml
@@ -21,4 +21,17 @@
   	<version>0.9.0-SNAPSHOT</version>
   	<relativePath>..</relativePath>
   </parent>
+  <repositories>
+        <repository>
+            <id>vaadin-addons</id>
+            <url>http://maven.vaadin.com/vaadin-addons</url>
+        </repository>
+  </repositories>
+  <dependencies>
+  	<dependency>
+  		<groupId>com.vaadin.addon</groupId>
+  		<artifactId>vaadin-context-menu</artifactId>
+  		<version>0.7.5</version>
+  	</dependency>
+  </dependencies>
 </project>
diff --git a/org.eclipse.osbp.vaaclipse.presentation/src/org/eclipse/osbp/vaaclipse/presentation/renderers/PartRenderer.java b/org.eclipse.osbp.vaaclipse.presentation/src/org/eclipse/osbp/vaaclipse/presentation/renderers/PartRenderer.java
index 9c146a7..4f870b0 100644
--- a/org.eclipse.osbp.vaaclipse.presentation/src/org/eclipse/osbp/vaaclipse/presentation/renderers/PartRenderer.java
+++ b/org.eclipse.osbp.vaaclipse.presentation/src/org/eclipse/osbp/vaaclipse/presentation/renderers/PartRenderer.java
@@ -26,6 +26,7 @@
 import org.eclipse.e4.ui.model.application.ui.MUIElement;
 import org.eclipse.e4.ui.model.application.ui.basic.MInputPart;
 import org.eclipse.e4.ui.model.application.ui.basic.MPart;
+import org.eclipse.e4.ui.model.application.ui.basic.MPartStack;
 import org.eclipse.e4.ui.model.application.ui.menu.MToolBar;
 import org.eclipse.e4.ui.workbench.IPresentationEngine;
 import org.eclipse.e4.ui.workbench.UIEvents;
@@ -80,6 +81,7 @@
 		return savePrompts.get(part);
 	}
 
+	@SuppressWarnings({ "deprecation", "rawtypes" })
 	@Override
 	public void createWidget(MUIElement element, MElementContainer<MUIElement> parent) {
 		Panel shortcutReceiver = new Panel();
@@ -113,7 +115,7 @@
 		pane.setExpandRatio(contributionArea, 100);
 
 		pane.setStyleName("part");
-		element.setWidget(shortcutReceiver);
+		part.setWidget(shortcutReceiver);
 
 		final IEclipseContext localContext = part.getContext();
 		localContext.set(Component.class, contributionArea);
@@ -125,13 +127,41 @@
 		pane.addLayoutClickListener(e -> {
 			localContext.activate();
 		});
-		
+
 		SavePromptSetup savePromptProvider = new SavePromptSetup();
 		savePrompts.put(part, savePromptProvider);
 		localContext.set(SavePromptSetup.class, savePromptProvider);
 		if (part instanceof MInputPart)
 			localContext.set(MInputPart.class, (MInputPart) part);
 
+		boolean render = false;
+		if (part.getParent() instanceof MElementContainer) {
+			MElementContainer mParent = part.getParent();
+			// workaround since MElementContainer<...> is not castable to
+			// MPartStack
+			if (mParent instanceof MPartStack) {
+				MPartStack mStack = (MPartStack) mParent;
+				if (mStack.getSelectedElement() == part
+						|| !mStack.getChildren().isEmpty() && mStack.getChildren().get(0) == part
+						|| mStack.getChildren().size() == 1) {
+					// render the part eager
+					render = true;
+				}
+			} else {
+				// render the part eager
+				render = true;
+			}
+		} else {
+			// render the part eager
+			render = true;
+		}
+
+		if (render) {
+			renderPartContent(part, localContext);
+		}
+	}
+
+	public static void renderPartContent(final MPart part, final IEclipseContext localContext) {
 		IContributionFactory contributionFactory = (IContributionFactory) localContext
 				.get(IContributionFactory.class.getName());
 		Object newPart = contributionFactory.create(part.getContributionURI(), localContext);
diff --git a/org.eclipse.osbp.vaaclipse.presentation/src/org/eclipse/osbp/vaaclipse/presentation/renderers/PerspectiveStackRenderer.java b/org.eclipse.osbp.vaaclipse.presentation/src/org/eclipse/osbp/vaaclipse/presentation/renderers/PerspectiveStackRenderer.java
index 56a7ad6..5d57dd8 100644
--- a/org.eclipse.osbp.vaaclipse.presentation/src/org/eclipse/osbp/vaaclipse/presentation/renderers/PerspectiveStackRenderer.java
+++ b/org.eclipse.osbp.vaaclipse.presentation/src/org/eclipse/osbp/vaaclipse/presentation/renderers/PerspectiveStackRenderer.java
@@ -69,10 +69,9 @@
 import org.osgi.framework.ServiceReference;
 import org.osgi.service.event.Event;
 import org.osgi.service.event.EventHandler;
-import org.vaadin.peter.contextmenu.ContextMenu;
-import org.vaadin.peter.contextmenu.ContextMenu.ContextMenuItem;
-import org.vaadin.peter.contextmenu.ContextMenu.ContextMenuItemClickEvent;
 
+import com.vaadin.addon.contextmenu.ContextMenu;
+import com.vaadin.addon.contextmenu.MenuItem;
 import com.vaadin.data.Item;
 import com.vaadin.data.util.IndexedContainer;
 import com.vaadin.event.dd.DragAndDropEvent;
@@ -104,14 +103,13 @@
  * @author rushan
  * 
  */
-public class PerspectiveStackRenderer extends VaadinRenderer implements
-		IDesignerService.IDesignListener {
+public class PerspectiveStackRenderer extends VaadinRenderer implements IDesignerService.IDesignListener {
 
 	/**
 	 * Removes the perspective from stack if it is closed.
 	 */
 	private static final String TAG__REMOVE_ON_CLOSE = "remove_on_close";
-	
+
 	/**
 	 * The perspective is not visible in the open perspective dialog.
 	 */
@@ -139,36 +137,63 @@
 	private IDesignerService designerService;
 
 	@SuppressWarnings("serial")
-	private static class PerspectiveContextMenu extends ContextMenu {
-		private ContextMenuItem showTextItem;
-		private ContextMenuItem closeItem;
-
+	private class PerspectiveContextMenu extends ContextMenu {
 		private static final String SHOW_TEXT = "Show Text";
-		Resource checkIcon = new ThemeResource(
-				"../vaaclipse_default_theme/img/check.png");
 
-		public PerspectiveContextMenu(boolean iconsOnly) {
+		private MenuItem showTextItem;
+		private MenuItem closeItem;
+		private final MPerspective perspective;
+
+//		Resource checkIcon = new ThemeResource("../vaaclipse_default_theme/img/check.png");
+
+		public PerspectiveContextMenu(TwoStateToolbarButton button, boolean iconsOnly, MPerspective perspective) {
+			super(button, true);
+			this.perspective = perspective;
 			createItems(iconsOnly);
-			setIconsOnly(iconsOnly);
+//			setIconsOnly(iconsOnly);
 		}
 
 		private void createItems(boolean iconsOnly) {
-			closeItem = addItem("Close");
-			closeItem.setSeparatorVisible(true);
-			showTextItem = addItem(SHOW_TEXT, checkIcon);
+			closeItem = addItem("Close", this::menuSelected);
+			showTextItem = addItem(SHOW_TEXT, this::menuSelected);
 		}
 
-		public ContextMenuItem getShowTextItem() {
+		public MenuItem getShowTextItem() {
 			return showTextItem;
 		}
 
-		public ContextMenuItem getCloseItem() {
+		public MenuItem getCloseItem() {
 			return closeItem;
 		}
 
-		void setIconsOnly(boolean iconsOnly) {
-			showTextItem.setIcon(!iconsOnly ? checkIcon : null);
+//		void setIconsOnly(boolean iconsOnly) {
+//			showTextItem.setIcon(!iconsOnly ? checkIcon : null);
+//		}
+
+		void menuSelected(MenuItem clickedItem) {
+
+			if (clickedItem == getCloseItem()) {
+				if (perspective.getTags().contains(TAG__REMOVE_ON_CLOSE)) {
+					// sends new messages
+					modelService.removePerspectiveModel(perspective, perspective.getContext().get(MWindow.class));
+
+					switchToPreviousPerspective(perspective);
+
+				} else if (perspective == activePerspective) {
+					switchToPreviousPerspective(perspective);
+				}
+
+				perspective.setToBeRendered(false);
+
+			} else if (clickedItem == getShowTextItem()) {
+				if (perspectiveStackForSwitcher.getTags().contains(Tags.ICONS_ONLY))
+					perspectiveStackForSwitcher.getTags().remove(Tags.ICONS_ONLY);
+				else
+					perspectiveStackForSwitcher.getTags().add(Tags.ICONS_ONLY);
+			}
+
 		}
+
 	}
 
 	public HorizontalLayout getPerspectiveSwitcher() {
@@ -206,39 +231,28 @@
 
 			final MPerspectiveStack changedElement = (MPerspectiveStack) changedObj;
 
-			String eventType = (String) event
-					.getProperty(UIEvents.EventTags.TYPE);
-			String tag = (String) event
-					.getProperty(UIEvents.EventTags.NEW_VALUE);
-			String oldVal = (String) event
-					.getProperty(UIEvents.EventTags.OLD_VALUE);
+			String eventType = (String) event.getProperty(UIEvents.EventTags.TYPE);
+			String tag = (String) event.getProperty(UIEvents.EventTags.NEW_VALUE);
+			String oldVal = (String) event.getProperty(UIEvents.EventTags.OLD_VALUE);
 
-			if (UIEvents.EventTypes.ADD.equals(eventType)
-					&& Tags.ICONS_ONLY.equals(tag)) {
-				for (Map.Entry<MPerspective, TwoStateToolbarButton> entry : perspective_button
-						.entrySet()) {
+			if (UIEvents.EventTypes.ADD.equals(eventType) && Tags.ICONS_ONLY.equals(tag)) {
+				for (Map.Entry<MPerspective, TwoStateToolbarButton> entry : perspective_button.entrySet()) {
 					MPerspective perspective = entry.getKey();
 					TwoStateToolbarButton button = entry.getValue();
-					button.setLabelAndIcon(null,
-							Commons.trim(perspective.getIconURI()));
+					button.setLabelAndIcon(null, Commons.trim(perspective.getIconURI()));
 
-					PerspectiveContextMenu menu = button2ContextMenu
-							.get(button);
-					menu.setIconsOnly(true);
+					PerspectiveContextMenu menu = button2ContextMenu.get(button);
+//					menu.setIconsOnly(true);
 				}
-			} else if (UIEvents.EventTypes.REMOVE.equals(eventType)
-					&& Tags.ICONS_ONLY.equals(oldVal)) {
-				for (Map.Entry<MPerspective, TwoStateToolbarButton> entry : perspective_button
-						.entrySet()) {
+			} else if (UIEvents.EventTypes.REMOVE.equals(eventType) && Tags.ICONS_ONLY.equals(oldVal)) {
+				for (Map.Entry<MPerspective, TwoStateToolbarButton> entry : perspective_button.entrySet()) {
 					MPerspective perspective = entry.getKey();
 					TwoStateToolbarButton button = entry.getValue();
-					button.setLabelAndIcon(
-							Commons.trim(perspective.getLabel()),
+					button.setLabelAndIcon(Commons.trim(perspective.getLabel()),
 							Commons.trim(perspective.getIconURI()));
 
-					PerspectiveContextMenu menu = button2ContextMenu
-							.get(button);
-					menu.setIconsOnly(false);
+					PerspectiveContextMenu menu = button2ContextMenu.get(button);
+//					menu.setIconsOnly(false);
 				}
 			}
 		}
@@ -256,12 +270,10 @@
 			if (stack.getRenderer() != PerspectiveStackRenderer.this)
 				return;
 			@SuppressWarnings("unused")
-			PerspectiveStackRenderer psr = (PerspectiveStackRenderer) stack
-					.getRenderer();
+			PerspectiveStackRenderer psr = (PerspectiveStackRenderer) stack.getRenderer();
 
 			// Gather up the elements that are being 'hidden' by this change
-			MUIElement oldSel = (MUIElement) event
-					.getProperty(UIEvents.EventTags.OLD_VALUE);
+			MUIElement oldSel = (MUIElement) event.getProperty(UIEvents.EventTags.OLD_VALUE);
 			if (oldSel != null) {
 				@SuppressWarnings("unused")
 				List<MUIElement> goingHidden = new ArrayList<MUIElement>();
@@ -269,8 +281,7 @@
 
 			if (oldSel != null) {
 				perspective_button.get(oldSel).setCheckedState(false);
-				perspective_button.get(oldSel)
-						.setSwitchStateByUserClickEnabled(true);
+				perspective_button.get(oldSel).setSwitchStateByUserClickEnabled(true);
 
 				hideElementRecursive(oldSel);
 			}
@@ -279,13 +290,9 @@
 
 			if (stack.getSelectedElement() != null) {
 				showElementRecursive(stack.getSelectedElement());
-				((VerticalLayout) stack.getWidget())
-						.addComponent((Component) stack.getSelectedElement()
-								.getWidget());
-				perspective_button.get(stack.getSelectedElement())
-						.setCheckedState(true);
-				perspective_button.get(stack.getSelectedElement())
-						.setSwitchStateByUserClickEnabled(false);
+				((VerticalLayout) stack.getWidget()).addComponent((Component) stack.getSelectedElement().getWidget());
+				perspective_button.get(stack.getSelectedElement()).setCheckedState(true);
+				perspective_button.get(stack.getSelectedElement()).setSwitchStateByUserClickEnabled(false);
 
 				// mark the perspective as active
 				switchPerspective(stack.getSelectedElement());
@@ -306,11 +313,9 @@
 
 			MPerspective perspective = (MPerspective) element;
 
-			String newValue = (String) event
-					.getProperty(UIEvents.EventTags.NEW_VALUE);
+			String newValue = (String) event.getProperty(UIEvents.EventTags.NEW_VALUE);
 
-			boolean iconsOnly = perspectiveStackForSwitcher.getTags().contains(
-					Tags.ICONS_ONLY);
+			boolean iconsOnly = perspectiveStackForSwitcher.getTags().contains(Tags.ICONS_ONLY);
 			String label = iconsOnly ? null : Commons.trim(newValue);
 			String iconURI = Commons.trim(perspective.getIconURI());
 
@@ -331,8 +336,7 @@
 
 			MPerspective perspective = (MPerspective) element;
 
-			String newValue = (String) event
-					.getProperty(UIEvents.EventTags.NEW_VALUE);
+			String newValue = (String) event.getProperty(UIEvents.EventTags.NEW_VALUE);
 
 			TwoStateToolbarButton button = perspective_button.get(perspective);
 			if (button != null) {
@@ -352,10 +356,8 @@
 			MPerspective perspective = (MPerspective) element;
 
 			if (perspective.getTooltip() != null) {
-				String newValue = (String) event
-						.getProperty(UIEvents.EventTags.NEW_VALUE);
-				TwoStateToolbarButton button = perspective_button
-						.get(perspective);
+				String newValue = (String) event.getProperty(UIEvents.EventTags.NEW_VALUE);
+				TwoStateToolbarButton button = perspective_button.get(perspective);
 				if (button != null) {
 					button.setDescription(newValue);
 				}
@@ -363,16 +365,13 @@
 		}
 	};
 
-	private void disconnectReferencedElementsFromPerspectiveWidgets(
-			MElementContainer<? extends MUIElement> container) {
+	private void disconnectReferencedElementsFromPerspectiveWidgets(MElementContainer<? extends MUIElement> container) {
 		for (MUIElement e : container.getChildren()) {
 			if (e instanceof MPlaceholder) {
 				MPlaceholder ph = (MPlaceholder) e;
 				if (ph.isToBeRendered()) {
-					ComponentContainer phComponent = (ComponentContainer) ph
-							.getWidget();
-					Component refComponent = (Component) ph.getRef()
-							.getWidget();
+					ComponentContainer phComponent = (ComponentContainer) ph.getWidget();
+					Component refComponent = (Component) ph.getRef().getWidget();
 					phComponent.removeComponent(refComponent);
 				}
 			}
@@ -381,19 +380,14 @@
 
 	@PostConstruct
 	public void postConstruct() {
-		eventBroker.subscribe(UIEvents.ElementContainer.TOPIC_SELECTEDELEMENT,
-				selectPerspectiveHandler);
-		eventBroker.subscribe(UIEvents.ApplicationElement.TOPIC_TAGS,
-				tagListener);
-		eventBroker.subscribe(UIEvents.UILabel.TOPIC_LOCALIZED_LABEL,
-				localizeLabel);
-		eventBroker.subscribe(UIEvents.UILabel.TOPIC_LOCALIZED_TOOLTIP,
-				localizeTooltip);
+		eventBroker.subscribe(UIEvents.ElementContainer.TOPIC_SELECTEDELEMENT, selectPerspectiveHandler);
+		eventBroker.subscribe(UIEvents.ApplicationElement.TOPIC_TAGS, tagListener);
+		eventBroker.subscribe(UIEvents.UILabel.TOPIC_LOCALIZED_LABEL, localizeLabel);
+		eventBroker.subscribe(UIEvents.UILabel.TOPIC_LOCALIZED_TOOLTIP, localizeTooltip);
 		eventBroker.subscribe(UIEvents.UILabel.TOPIC_LABEL, localizeLabel);
 		eventBroker.subscribe(UIEvents.UILabel.TOPIC_TOOLTIP, localizeTooltip);
 		eventBroker.subscribe(UIEvents.UILabel.TOPIC_ICONURI, iconURI);
-		eventBroker.subscribe(UIEvents.ElementContainer.TOPIC_CHILDREN,
-				childrenMoveUpdater);
+		eventBroker.subscribe(UIEvents.ElementContainer.TOPIC_CHILDREN, childrenMoveUpdater);
 	}
 
 	@PreDestroy
@@ -425,8 +419,7 @@
 			// on move, we unrender an render the UI again
 			//
 			if (UIEvents.EventTypes.MOVE.equals(type)) {
-				MUIElement newValue = (MUIElement) event
-						.getProperty(UIEvents.EventTags.NEW_VALUE);
+				MUIElement newValue = (MUIElement) event.getProperty(UIEvents.EventTags.NEW_VALUE);
 				removeChildGui(newValue, stack);
 				addChildGui(newValue, stack);
 			}
@@ -440,8 +433,7 @@
 	}
 
 	@Override
-	public void createWidget(MUIElement element,
-			MElementContainer<MUIElement> parent) {
+	public void createWidget(MUIElement element, MElementContainer<MUIElement> parent) {
 		if (perspectiveSwitcherPanel == null)
 			initializePerspectiveSwticherPanel((MPerspectiveStack) element);
 
@@ -458,9 +450,7 @@
 		}
 	}
 
-	@SuppressWarnings("serial")
-	private void initializePerspectiveSwticherPanel(
-			MPerspectiveStack perspectiveStack) {
+	private void initializePerspectiveSwticherPanel(MPerspectiveStack perspectiveStack) {
 		if (perspectiveSwitcherPanel != null)
 			return;
 		// initialize perspective switcher panel
@@ -470,36 +460,6 @@
 		perspectiveSwitcherPanel.setStyleName("perspectivepanel");
 		perspectiveSwitcherPanel.setSizeUndefined();
 
-//		Button openPerspectiveButton = new Button("Open");
-//		openPerspectiveButton.addStyleName("vaaclipsebutton");
-//		openPerspectiveButton.addStyleName("icononly");
-//		openPerspectiveButton.setIcon(new ThemeResource(
-//				"../vaaclipse_default_theme/img/open_perspective.png"));
-//
-//		html5Drop = new DragAndDropWrapper(openPerspectiveButton);
-//		html5Drop.setDropHandler(new PerspectiveDropHandler());
-//
-//		perspectiveSwitcherPanel.addComponent(html5Drop);
-//
-//		openPerspectiveButton.addClickListener(new Button.ClickListener() {
-//
-//			@Override
-//			public void buttonClick(ClickEvent event) {
-//				openOpenPerspectiveWindow();
-//
-//				// change focus
-//				Component parent = event.getButton().getParent();
-//				while (parent != null) {
-//					if (parent instanceof Component.Focusable) {
-//						((Component.Focusable) parent).focus();
-//						break;
-//					} else {
-//						parent = parent.getParent();
-//					}
-//				}
-//			}
-//		});
-
 		// add separator between openPerspectiveButton and perspective's buttons
 		Label separator = new Label();
 		separator.setSizeUndefined();
@@ -508,8 +468,7 @@
 		perspectiveSwitcherPanel.addComponent(separator);
 
 		// add buttons to perspective switch panel
-		for (final MPerspective perspective : perspectiveStackForSwitcher
-				.getChildren()) {
+		for (final MPerspective perspective : perspectiveStackForSwitcher.getChildren()) {
 			if (perspective.isToBeRendered()) {
 				Component button = createPerspectiveButton(perspective);
 				if (button != null) {
@@ -523,14 +482,11 @@
 	private Component createPerspectiveButton(final MPerspective perspective) {
 		if (!perspective.isVisible())
 			return null;
-		boolean iconsOnly = perspectiveStackForSwitcher.getTags().contains(
-				Tags.ICONS_ONLY);
-		String label = iconsOnly ? null : Commons.trim(perspective
-				.getLocalizedLabel());
+		boolean iconsOnly = perspectiveStackForSwitcher.getTags().contains(Tags.ICONS_ONLY);
+		String label = iconsOnly ? null : Commons.trim(perspective.getLocalizedLabel());
 		String iconURI = Commons.trim(perspective.getIconURI());
 
-		final TwoStateToolbarButton button = new TwoStateToolbarButton(label,
-				iconURI);
+		final TwoStateToolbarButton button = new TwoStateToolbarButton(label, iconURI);
 
 		if (perspective.getTooltip() != null) {
 			button.setDescription(perspective.getLocalizedTooltip());
@@ -539,11 +495,8 @@
 		button.addListener(new ClickListener() {
 			public void buttonClick(ClickEvent event) {
 				if (editingDomain != null) {
-					SimpleCommand command = new SimpleCommand(
-							"Switch perspective: "
-									+ activePerspective.getLocalizedLabel()
-									+ " <--> "
-									+ perspective.getLocalizedLabel()) {
+					SimpleCommand command = new SimpleCommand("Switch perspective: "
+							+ activePerspective.getLocalizedLabel() + " <--> " + perspective.getLocalizedLabel()) {
 						final MPerspective oldPerspective = activePerspective;
 						final MPerspective newPerspective = perspective;
 
@@ -566,45 +519,8 @@
 		});
 
 		// Create context menu
-		final PerspectiveContextMenu menu = new PerspectiveContextMenu(
-				iconsOnly);
+		final PerspectiveContextMenu menu = new PerspectiveContextMenu(button, iconsOnly, perspective);
 
-		// closeItem.setSeparatorVisible(true);
-
-		// showTextItem.addStyleName("close-perspective-item"); //bugfixing
-		// style for ie9 (context menu addon has bug for ie9)
-
-		menu.addItemClickListener(new ContextMenu.ContextMenuItemClickListener() {
-			@Override
-			public void contextMenuItemClicked(ContextMenuItemClickEvent event) {
-				ContextMenuItem clickedItem = (ContextMenuItem) event
-						.getSource();
-
-				if (clickedItem == menu.getCloseItem()) {
-					if (perspective.getTags().contains(TAG__REMOVE_ON_CLOSE)) {
-						// sends new messages
-						modelService.removePerspectiveModel(perspective,
-								perspective.getContext().get(MWindow.class));
-						
-						switchToPreviousPerspective(perspective);
-						
-					} else if (perspective == activePerspective) {
-						switchToPreviousPerspective(perspective);
-					}
-
-					perspective.setToBeRendered(false);
-
-				} else if (clickedItem == menu.getShowTextItem()) {
-					if (perspectiveStackForSwitcher.getTags().contains(
-							Tags.ICONS_ONLY))
-						perspectiveStackForSwitcher.getTags().remove(
-								Tags.ICONS_ONLY);
-					else
-						perspectiveStackForSwitcher.getTags().add(
-								Tags.ICONS_ONLY);
-				}
-			}
-		});
 
 		menu.setAsContextMenuOf(button);
 		button2ContextMenu.put(button, menu);
@@ -618,13 +534,10 @@
 	}
 
 	private void updateDesigner(boolean enabled) {
-		IWidgetDesignConfigurator designConfigurator = context
-				.get(IWidgetDesignConfigurator.class);
+		IWidgetDesignConfigurator designConfigurator = context.get(IWidgetDesignConfigurator.class);
 		if (designConfigurator != null) {
-			for (Map.Entry<MPerspective, TwoStateToolbarButton> entry : perspective_button
-					.entrySet()) {
-				designConfigurator.configure(entry.getValue(),
-						(EObject) entry.getKey(), enabled);
+			for (Map.Entry<MPerspective, TwoStateToolbarButton> entry : perspective_button.entrySet()) {
+				designConfigurator.configure(entry.getValue(), (EObject) entry.getKey(), enabled);
 			}
 		}
 	}
@@ -635,18 +548,14 @@
 			return;
 
 		MPerspectiveStack perspectiveStack = (MPerspectiveStack) (MElementContainer<?>) element;
-		MPerspective selectedPerspective = perspectiveStack
-				.getSelectedElement();
+		MPerspective selectedPerspective = perspectiveStack.getSelectedElement();
 		if (selectedPerspective == null) {
 			// try to find by registry
 			if (perspectiveRegistry != null) {
-				String userId = (String) context
-						.get(AuthenticationConstants.USER_ID);
-				String perspectiveId = perspectiveRegistry
-						.getDefaultPerspective(userId);
+				String userId = (String) context.get(AuthenticationConstants.USER_ID);
+				String perspectiveId = perspectiveRegistry.getDefaultPerspective(userId);
 				if (perspectiveId != null) {
-					selectedPerspective = perspectiveRegistry
-							.findPerspectiveWithId(perspectiveId);
+					selectedPerspective = perspectiveRegistry.findPerspectiveWithId(perspectiveId);
 				}
 				if (selectedPerspective == null) {
 					selectedPerspective = (MPerspective) findFirstRenderableAndVisibleElement(perspectiveStack);
@@ -658,8 +567,7 @@
 		}
 
 		if (selectedPerspective != null) {
-			if (!selectedPerspective.isToBeRendered()
-					|| !selectedPerspective.isVisible()) {
+			if (!selectedPerspective.isToBeRendered() || !selectedPerspective.isVisible()) {
 				selectedPerspective = (MPerspective) findFirstRenderableAndVisibleElement(perspectiveStack);
 				if (selectedPerspective != null) {
 					switchPerspective(selectedPerspective);
@@ -693,8 +601,7 @@
 	}
 
 	@Override
-	public void addChildGui(MUIElement child,
-			MElementContainer<MUIElement> element) {
+	public void addChildGui(MUIElement child, MElementContainer<MUIElement> element) {
 		MPerspectiveStack stack = (MPerspectiveStack) (MElementContainer<?>) element;
 		MPerspective p = (MPerspective) child;
 
@@ -702,15 +609,14 @@
 		// shift on 2 - the first child - open perspective button, the second
 		// child - is separator
 		int index = indexOf(child, element) + 2;
-		perspectiveSwitcherPanel.addComponent(button, Math.min(index,
-				perspectiveSwitcherPanel.getComponentCount() - 1));
+		perspectiveSwitcherPanel.addComponent(button,
+				Math.min(index, perspectiveSwitcherPanel.getComponentCount() - 1));
 
 		refreshPerspectiveStackVisibility(stack);
 	}
 
 	@Override
-	public void removeChildGui(MUIElement child,
-			MElementContainer<MUIElement> element) {
+	public void removeChildGui(MUIElement child, MElementContainer<MUIElement> element) {
 		MPerspectiveStack stack = (MPerspectiveStack) (MElementContainer<?>) element;
 		MPerspective p = (MPerspective) child;
 
@@ -727,15 +633,13 @@
 		OptionDialog dlg = new OptionDialog();
 		dlg.setCaption("Open perspective");
 
-		ServiceReference<ResourceInfoProvider> resourceInfoProviderRef = Activator
-				.getInstance().getContext()
+		ServiceReference<ResourceInfoProvider> resourceInfoProviderRef = Activator.getInstance().getContext()
 				.getServiceReference(ResourceInfoProvider.class);
 		if (resourceInfoProviderRef != null) {
-			ResourceInfoProvider resourceInfoProvider = Activator.getInstance()
-					.getContext().getService(resourceInfoProviderRef);
+			ResourceInfoProvider resourceInfoProvider = Activator.getInstance().getContext()
+					.getService(resourceInfoProviderRef);
 			if (resourceInfoProvider.getApplicationHeaderIcon() != null) {
-				dlg.setIcon(BundleResource.valueOf(resourceInfoProvider
-						.getApplicationHeaderIcon()));
+				dlg.setIcon(BundleResource.valueOf(resourceInfoProvider.getApplicationHeaderIcon()));
 			}
 		}
 
@@ -760,30 +664,24 @@
 			public Component getComponent(OptionDialog optionDialog) {
 				if (panel == null) {
 					container = new IndexedContainer();
-					container.addContainerProperty(PERSPECTIVE_ICON,
-							Resource.class, null);
-					container.addContainerProperty(PERSPECTIVE_LABEL,
-							String.class, null);
+					container.addContainerProperty(PERSPECTIVE_ICON, Resource.class, null);
+					container.addContainerProperty(PERSPECTIVE_LABEL, String.class, null);
 
-					for (MPerspective p : perspectiveStackForSwitcher
-							.getChildren()) {
+					for (MPerspective p : perspectiveStackForSwitcher.getChildren()) {
 						if (!p.isVisible()) {
 							continue;
 						}
-						
-						if(p.getTags().contains(TAG__NOT_IN_OPEN_PERSPECTIVE_DIALOG)) {
+
+						if (p.getTags().contains(TAG__NOT_IN_OPEN_PERSPECTIVE_DIALOG)) {
 							continue;
 						}
-						
+
 						Item item = container.addItem(p.getElementId());
-						Resource icon = ResourceHelper.createResource(p
-								.getIconURI());
+						Resource icon = ResourceHelper.createResource(p.getIconURI());
 						if (icon != null) {
-							item.getItemProperty(PERSPECTIVE_ICON).setValue(
-									icon);
+							item.getItemProperty(PERSPECTIVE_ICON).setValue(icon);
 						}
-						item.getItemProperty(PERSPECTIVE_LABEL).setValue(
-								p.getLabel());
+						item.getItemProperty(PERSPECTIVE_LABEL).setValue(p.getLabel());
 					}
 
 					panel = new Panel();
@@ -809,9 +707,8 @@
 					// selected perspective's elementId
 					String perspectiveId = (String) list.getValue();
 					if (perspectiveId != null) {
-						MPerspective perspective = (MPerspective) modelService
-								.find(perspectiveId,
-										perspectiveStackForSwitcher);
+						MPerspective perspective = (MPerspective) modelService.find(perspectiveId,
+								perspectiveStackForSwitcher);
 						if (!perspective.isToBeRendered())
 							perspective.setToBeRendered(true);
 						switchPerspective(perspective);
@@ -870,16 +767,14 @@
 			MUIElement ref = ph.getRef();
 			ref.setCurSharedRef(ph);
 
-			ComponentContainer phComponent = (ComponentContainer) ph
-					.getWidget();
+			ComponentContainer phComponent = (ComponentContainer) ph.getWidget();
 			Component refComponent = (Component) ph.getRef().getWidget();
 			phComponent.addComponent(refComponent);
 
 			element = ref;
 
 			// top right folder
-			MPartStack topLeftStack = HierarchyUtils.findTopLeftFolder(ph
-					.getRef());
+			MPartStack topLeftStack = HierarchyUtils.findTopLeftFolder(ph.getRef());
 			if (topLeftStack != null) {
 				if (ph.getTags().contains(IPresentationEngine.MAXIMIZED))
 					((StackWidget) topLeftStack.getWidget()).setState(1);
@@ -897,8 +792,7 @@
 		if (element instanceof MContext) {
 			IEclipseContext context = ((MContext) element).getContext();
 			if (context != null) {
-				IEclipseContext newParentContext = modelService
-						.getContainingContext(element);
+				IEclipseContext newParentContext = modelService.getContainingContext(element);
 				if (context.getParent() != newParentContext) {
 					context.setParent(newParentContext);
 				}
@@ -918,8 +812,7 @@
 
 		if (element instanceof MElementContainer<?>) {
 			MElementContainer<?> container = (MElementContainer<?>) element;
-			List<MUIElement> kids = new ArrayList<MUIElement>(
-					container.getChildren());
+			List<MUIElement> kids = new ArrayList<MUIElement>(container.getChildren());
 			for (MUIElement childElement : kids) {
 				showElementRecursive(childElement);
 			}
@@ -940,10 +833,8 @@
 	private void switchToPreviousPerspective(final MPerspective perspective) {
 		MPerspective prevRenderableAndVisiblePerspective = null, nextRenderableAndVisiblePerspective = null;
 		boolean startSearch = false;
-		for (MPerspective p : perspectiveStackForSwitcher
-				.getChildren()) {
-			if (startSearch && p.isToBeRendered()
-					&& p.isVisible()) {
+		for (MPerspective p : perspectiveStackForSwitcher.getChildren()) {
+			if (startSearch && p.isToBeRendered() && p.isVisible()) {
 				nextRenderableAndVisiblePerspective = p;
 				break;
 			}
@@ -951,14 +842,13 @@
 			if (p == perspective)
 				startSearch = true;
 
-			if (!startSearch && p.isToBeRendered()
-					&& p.isVisible()) {
+			if (!startSearch && p.isToBeRendered() && p.isVisible()) {
 				prevRenderableAndVisiblePerspective = p;
 			}
 		}
 
-		MPerspective newSelectedPerspective = nextRenderableAndVisiblePerspective != null ? nextRenderableAndVisiblePerspective
-				: prevRenderableAndVisiblePerspective;
+		MPerspective newSelectedPerspective = nextRenderableAndVisiblePerspective != null
+				? nextRenderableAndVisiblePerspective : prevRenderableAndVisiblePerspective;
 
 		if (newSelectedPerspective != null) {
 			switchPerspective(newSelectedPerspective);
@@ -974,8 +864,7 @@
 		@Override
 		public void drop(final DragAndDropEvent dropEvent) {
 			// expecting this to be an html5 drag
-			final WrapperTransferable tr = (WrapperTransferable) dropEvent
-					.getTransferable();
+			final WrapperTransferable tr = (WrapperTransferable) dropEvent.getTransferable();
 			final Html5File[] files = tr.getFiles();
 			if (files != null) {
 				for (final Html5File html5File : files) {
@@ -984,9 +873,8 @@
 					// continue;
 					// }
 					if (html5File.getFileSize() > FILE_SIZE_LIMIT) {
-						Notification
-								.show("File rejected. Max 2Mb files are accepted by Sampler",
-										Notification.Type.WARNING_MESSAGE);
+						Notification.show("File rejected. Max 2Mb files are accepted by Sampler",
+								Notification.Type.WARNING_MESSAGE);
 					} else {
 						final ByteArrayOutputStream bas = new ByteArrayOutputStream();
 						final StreamVariable streamVariable = new StreamVariable() {
@@ -1001,28 +889,21 @@
 							}
 
 							@Override
-							public void onProgress(
-									final StreamingProgressEvent event) {
+							public void onProgress(final StreamingProgressEvent event) {
 							}
 
 							@Override
-							public void streamingStarted(
-									final StreamingStartEvent event) {
+							public void streamingStarted(final StreamingStartEvent event) {
 							}
 
 							@Override
-							public void streamingFinished(
-									final StreamingEndEvent event) {
-								addPerspective(
-										fileName,
-										html5File.getType(),
-										new ByteArrayInputStream(bas
-												.toByteArray()));
+							public void streamingFinished(final StreamingEndEvent event) {
+								addPerspective(fileName, html5File.getType(),
+										new ByteArrayInputStream(bas.toByteArray()));
 							}
 
 							@Override
-							public void streamingFailed(
-									final StreamingErrorEvent event) {
+							public void streamingFailed(final StreamingErrorEvent event) {
 							}
 
 							@Override
@@ -1037,27 +918,20 @@
 		}
 
 		@SuppressWarnings("restriction")
-		private void addPerspective(final String name, final String type,
-				final InputStream stream) {
-			XMIResource resource = new XMIResourceImpl(
-					URI.createURI("perspective" + name));
+		private void addPerspective(final String name, final String type, final InputStream stream) {
+			XMIResource resource = new XMIResourceImpl(URI.createURI("perspective" + name));
 			try {
 				resource.load(stream, null);
 
-				final MPerspective perspective = (MPerspective) resource
-						.getContents().get(0);
-				ChangeCommand command = new ChangeCommand("Drop perspective: "
-						+ perspective.getLocalizedLabel(),
-						((EObject) getPerspectiveStackForSwitcher())
-								.eResource()) {
+				final MPerspective perspective = (MPerspective) resource.getContents().get(0);
+				ChangeCommand command = new ChangeCommand("Drop perspective: " + perspective.getLocalizedLabel(),
+						((EObject) getPerspectiveStackForSwitcher()).eResource()) {
 					@Override
 					protected void doExecute() {
 						// add the perspective
 						//
-						getPerspectiveStackForSwitcher().getChildren().add(
-								perspective);
-						getPerspectiveStackForSwitcher().setSelectedElement(
-								perspective);
+						getPerspectiveStackForSwitcher().getChildren().add(perspective);
+						getPerspectiveStackForSwitcher().setSelectedElement(perspective);
 					}
 				};
 				editingDomain.getCommandStack().execute(command);
diff --git a/org.eclipse.osbp.vaaclipse.presentation/src/org/eclipse/osbp/vaaclipse/presentation/renderers/StackRenderer.java b/org.eclipse.osbp.vaaclipse.presentation/src/org/eclipse/osbp/vaaclipse/presentation/renderers/StackRenderer.java
index c265792..42fbe57 100644
--- a/org.eclipse.osbp.vaaclipse.presentation/src/org/eclipse/osbp/vaaclipse/presentation/renderers/StackRenderer.java
+++ b/org.eclipse.osbp.vaaclipse.presentation/src/org/eclipse/osbp/vaaclipse/presentation/renderers/StackRenderer.java
@@ -63,8 +63,7 @@
 import fi.jasoft.dragdroplayouts.client.ui.LayoutDragMode;
 
 @SuppressWarnings("restriction")
-public class StackRenderer extends VaadinRenderer implements
-		IDesignerService.IDesignListener {
+public class StackRenderer extends VaadinRenderer implements IDesignerService.IDesignListener {
 
 	@Inject
 	private EventBroker eventBroker;
@@ -89,15 +88,11 @@
 		public void handleEvent(Event event) {
 
 			Object changedObj = event.getProperty(EventTags.ELEMENT);
-			String eventType = (String) event
-					.getProperty(UIEvents.EventTags.TYPE);
-			String tag = (String) event
-					.getProperty(UIEvents.EventTags.NEW_VALUE);
+			String eventType = (String) event.getProperty(UIEvents.EventTags.TYPE);
+			String tag = (String) event.getProperty(UIEvents.EventTags.NEW_VALUE);
 
-			int location = modelService
-					.getElementLocation((MUIElement) changedObj);
-			if (!(changedObj instanceof MPartStack)
-					|| location == EModelService.IN_SHARED_AREA) {
+			int location = modelService.getElementLocation((MUIElement) changedObj);
+			if (!(changedObj instanceof MPartStack) || location == EModelService.IN_SHARED_AREA) {
 				return;
 			}
 
@@ -130,8 +125,7 @@
 
 			if (stack.getSelectedElement() != null) {
 				if (stack.getSelectedElement().getWidget() == null) {
-					IPresentationEngine engine = (IPresentationEngine) context
-							.get(IPresentationEngine.class.getName());
+					IPresentationEngine engine = (IPresentationEngine) context.get(IPresentationEngine.class.getName());
 					engine.createGui(stack.getSelectedElement());
 
 					int i = 0;
@@ -143,13 +137,18 @@
 							i++;
 					}
 
-					addTab((TabSheet) stack.getWidget(),
-							stack.getSelectedElement(), i);
+					addTab((TabSheet) stack.getWidget(), stack.getSelectedElement(), i);
+				}
+
+				if (stack.getSelectedElement() instanceof MPart) {
+					MPart selected = (MPart) stack.getSelectedElement();
+					if (selected.getObject() == null) {
+						PartRenderer.renderPartContent(selected, selected.getContext());
+					}
 				}
 
 				ignoreTabSelChanges = true;
-				((TabSheet) stack.getWidget()).setSelectedTab((Component) stack
-						.getSelectedElement().getWidget());
+				((TabSheet) stack.getWidget()).setSelectedTab((Component) stack.getSelectedElement().getWidget());
 				ignoreTabSelChanges = false;
 			}
 		}
@@ -157,29 +156,25 @@
 
 	EventHandler itemUpdater = new EventHandler() {
 		public void handleEvent(Event event) {
-			MUIElement element = (MUIElement) event
-					.getProperty(UIEvents.EventTags.ELEMENT);
+			MUIElement element = (MUIElement) event.getProperty(UIEvents.EventTags.ELEMENT);
 			if (!(element instanceof MPart))
 				return;
 
 			MPart part = (MPart) element;
 
-			String attName = (String) event
-					.getProperty(UIEvents.EventTags.ATTNAME);
+			String attName = (String) event.getProperty(UIEvents.EventTags.ATTNAME);
 			Object newValue = event.getProperty(UIEvents.EventTags.NEW_VALUE);
 
 			MPartStack stack = null;
 			// is this a direct child of the stack?
 			MPlaceholder placeholder = null;
-			if (element.getParent() != null
-					&& element.getParent().getRenderer() == StackRenderer.this) {
+			if (element.getParent() != null && element.getParent().getRenderer() == StackRenderer.this) {
 				stack = (MPartStack) (MElementContainer<?>) element.getParent();
 			} else {
 				// Do we have any stacks with place holders for the element
 				// that's changed?
 				MWindow win = modelService.getTopLevelWindowFor(part);
-				List<MPlaceholder> refs = modelService.findElements(win, null,
-						MPlaceholder.class, null);
+				List<MPlaceholder> refs = modelService.findElements(win, null, MPlaceholder.class, null);
 				if (refs != null) {
 					for (MPlaceholder ref : refs) {
 						if (ref.getRef() != part)
@@ -187,8 +182,7 @@
 
 						MElementContainer<?> refParent = ref.getParent();
 						// can be null, see bug 328296
-						if (refParent != null
-								&& refParent.getRenderer() instanceof StackRenderer) {
+						if (refParent != null && refParent.getRenderer() instanceof StackRenderer) {
 							placeholder = ref;
 							stack = (MPartStack) refParent;
 						}
@@ -198,8 +192,7 @@
 
 			if (stack != null) {
 				Tab tab = ((StackWidget) stack.getWidget())
-						.getTab((Component) (placeholder == null ? part
-								.getWidget() : placeholder.getWidget()));
+						.getTab((Component) (placeholder == null ? part.getWidget() : placeholder.getWidget()));
 				if (tab != null)
 					updateTab(tab, part, attName, newValue);
 			}
@@ -211,8 +204,7 @@
 			String newName = (String) newValue;
 			tab.setCaption(getLabel(part, newName));
 		} else if (UIEvents.UILabel.ICONURI.equals(attName)) {
-			Resource icon = part.getIconURI() != null ? ResourceHelper
-					.createResource(part.getIconURI()) : null;
+			Resource icon = part.getIconURI() != null ? ResourceHelper.createResource(part.getIconURI()) : null;
 			tab.setIcon(icon);
 		} else if (UIEvents.UILabel.TOOLTIP.equals(attName)) {
 			String newTTip = (String) newValue;
@@ -249,14 +241,11 @@
 
 	@PostConstruct
 	public void postConstruct() {
-		eventBroker.subscribe(UIEvents.ApplicationElement.TOPIC_TAGS,
-				tagListener);
-		eventBroker.subscribe(UIEvents.ElementContainer.TOPIC_SELECTEDELEMENT,
-				selectElementHandler);
+		eventBroker.subscribe(UIEvents.ApplicationElement.TOPIC_TAGS, tagListener);
+		eventBroker.subscribe(UIEvents.ElementContainer.TOPIC_SELECTEDELEMENT, selectElementHandler);
 		eventBroker.subscribe(UIEvents.UILabel.TOPIC_ALL, itemUpdater);
 		eventBroker.subscribe(UIEvents.Dirtyable.TOPIC_DIRTY, itemUpdater);
-		eventBroker.subscribe(UIEvents.ElementContainer.TOPIC_CHILDREN,
-				childrenMoveUpdater);
+		eventBroker.subscribe(UIEvents.ElementContainer.TOPIC_CHILDREN, childrenMoveUpdater);
 	}
 
 	@Override
@@ -265,13 +254,10 @@
 	}
 
 	private void updateDesigner(boolean enabled) {
-		IWidgetDesignConfigurator designConfigurator = context
-				.get(IWidgetDesignConfigurator.class);
+		IWidgetDesignConfigurator designConfigurator = context.get(IWidgetDesignConfigurator.class);
 		if (designConfigurator != null) {
-			for (Entry<Component, MStackElement> entry : vaatab2Element
-					.entrySet()) {
-				designConfigurator.configure(entry.getKey(),
-						(EObject) entry.getValue(), enabled);
+			for (Entry<Component, MStackElement> entry : vaatab2Element.entrySet()) {
+				designConfigurator.configure(entry.getKey(), (EObject) entry.getValue(), enabled);
 			}
 		}
 	}
@@ -311,8 +297,7 @@
 	};
 
 	@Override
-	public void createWidget(MUIElement element,
-			MElementContainer<MUIElement> parent) {
+	public void createWidget(MUIElement element, MElementContainer<MUIElement> parent) {
 		if (!(element instanceof MPartStack))
 			return;
 
@@ -323,14 +308,12 @@
 		stackWidget.setSizeFull();
 		element.setWidget(stackWidget);
 
-		IEclipseContext context = modelService.getContainingContext(stack)
-				.createChild();
+		IEclipseContext context = modelService.getContainingContext(stack).createChild();
 		context.set(MPartStack.class, stack);
 
-		VaadinDropHandler dropHandler = ContextInjectionFactory.make(
-				VaadinDropHandler.class, context);
+		VaadinDropHandler dropHandler = ContextInjectionFactory.make(VaadinDropHandler.class, context);
 		stackWidget.setDropHandler(dropHandler);
-		
+
 		if (designerService != null) {
 			designerService.addListener(this);
 
@@ -346,23 +329,19 @@
 		StackWidget stackWidget = (StackWidget) stack.getWidget();
 		for (MStackElement element : stack.getChildren()) {
 			if (element.isToBeRendered())
-				addTab(stackWidget, (MStackElement) element,
-						stackWidget.getComponentCount());
+				addTab(stackWidget, (MStackElement) element, stackWidget.getComponentCount());
 		}
 
 		// if there are childs in stack and the selected element is not
 		// specified for stack, set the first child as selected
-		if (stack.getChildren().size() > 0
-				&& stack.getSelectedElement() == null) {
-			if (stack.getChildren().get(0).isVisible()
-					&& stack.getChildren().get(0).isToBeRendered()) {
+		if (stack.getChildren().size() > 0 && stack.getSelectedElement() == null) {
+			if (stack.getChildren().get(0).isVisible() && stack.getChildren().get(0).isToBeRendered()) {
 				stack.setSelectedElement(stack.getChildren().get(0));
 			}
 		}
 
 		if (stack.getSelectedElement() != null) {
-			Component stackSelectedComponent = (Component) stack
-					.getSelectedElement().getWidget();
+			Component stackSelectedComponent = (Component) stack.getSelectedElement().getWidget();
 			stackWidget.setSelectedTab(stackSelectedComponent);
 		}
 	}
@@ -380,12 +359,10 @@
 
 		// Tab tab = parentPane.addTab((com.vaadin.ui.Component)
 		// element.getWidget(), mLabel.getLocalizedLabel(), icon, pos);
-		Tab tab = parentPane.addTab(
-				(com.vaadin.ui.Component) element.getWidget(), pos);
+		Tab tab = parentPane.addTab((com.vaadin.ui.Component) element.getWidget(), pos);
 		tab.setCaption(mLabel.getLocalizedLabel());
-		Resource icon = (mLabel.getIconURI() != null && !mLabel.getIconURI()
-				.trim().equals("")) ? ResourceHelper.createResource(mLabel
-				.getIconURI()) : null;
+		Resource icon = (mLabel.getIconURI() != null && !mLabel.getIconURI().trim().equals(""))
+				? ResourceHelper.createResource(mLabel.getIconURI()) : null;
 		if (icon != null) {
 			tab.setIcon(icon);
 		}
@@ -393,8 +370,8 @@
 		tab.setDescription(mLabel.getLocalizedTooltip());
 
 		vaatab2Element.put((Component) element.getWidget(), element);
-		
-		if(designerService != null && designerService.isDesignMode()) {
+
+		if (designerService != null && designerService.isDesignMode()) {
 			updateDesigner(designerService.isDesignMode());
 		}
 	}
@@ -421,16 +398,14 @@
 						element.getTags().remove(IPresentationEngine.MAXIMIZED);
 						element.getTags().add(IPresentationEngine.MINIMIZED);
 					} else if (oldState == -1 && newState == 0) {
-						element.getTags().remove(
-								IPresentationEngine.MINIMIZED_BY_ZOOM);
+						element.getTags().remove(IPresentationEngine.MINIMIZED_BY_ZOOM);
 						element.getTags().remove(IPresentationEngine.MINIMIZED);
 					} else if (oldState == 0 && newState == -1)
 						setState(element, IPresentationEngine.MINIMIZED);
 				}
 
 				private void setState(MUIElement element, String state) {
-					element.getTags().remove(
-							IPresentationEngine.MINIMIZED_BY_ZOOM);
+					element.getTags().remove(IPresentationEngine.MINIMIZED_BY_ZOOM);
 					if (IPresentationEngine.MINIMIZED.equals(state)) {
 						element.getTags().remove(IPresentationEngine.MAXIMIZED);
 						element.getTags().add(IPresentationEngine.MINIMIZED);
@@ -447,21 +422,16 @@
 
 		sw.addSelectedTabChangeListener(new SelectedTabChangeListener() {
 			public void selectedTabChange(SelectedTabChangeEvent event) {
-				final MStackElement stackElement = vaatab2Element.get(sw
-						.getSelectedTab());
+				final MStackElement stackElement = vaatab2Element.get(sw.getSelectedTab());
 				if (stackElement != null) {
 					if (ignoreTabSelChanges)
 						return;
 
-					final MPartStack stack = (MPartStack) (MElementContainer<?>) stackElement
-							.getParent();
-					if (stack != null
-							&& stack.getSelectedElement() != stackElement) {
+					final MPartStack stack = (MPartStack) (MElementContainer<?>) stackElement.getParent();
+					if (stack != null && stack.getSelectedElement() != stackElement) {
 
-						SimpleCommand command = new SimpleCommand(
-								"Switch stack element") {
-							final MStackElement oldStackElement = stack
-									.getSelectedElement();
+						SimpleCommand command = new SimpleCommand("Switch stack element") {
+							final MStackElement oldStackElement = stack.getSelectedElement();
 
 							@Override
 							protected void doUndo() {
@@ -519,13 +489,11 @@
 				return;
 
 			if (stackElement instanceof MPlaceholder)
-				stackElement = (MStackElement) ((MPlaceholder) stackElement)
-						.getRef();
+				stackElement = (MStackElement) ((MPlaceholder) stackElement).getRef();
 
 			IEclipseContext curContext = getContext(stackElement);
 			if (curContext != null) {
-				EPartService ps = (EPartService) curContext
-						.get(EPartService.class.getName());
+				EPartService ps = (EPartService) curContext.get(EPartService.class.getName());
 				if (ps != null)
 					ps.activate((MPart) stackElement, true);
 			}
@@ -550,8 +518,7 @@
 		if (parent == null) {
 			// might be a shared part, try to find the placeholder
 			MWindow window = modelService.getTopLevelWindowFor(element);
-			return window == null ? false : isValid(modelService
-					.findPlaceholderFor(window, element));
+			return window == null ? false : isValid(modelService.findPlaceholderFor(window, element));
 		}
 
 		return isValid(parent);
@@ -560,8 +527,7 @@
 	private boolean isClosable(MPart part) {
 		// if it's a shared part check its current ref
 		if (part.getCurSharedRef() != null) {
-			return !(part.getCurSharedRef().getTags()
-					.contains(IPresentationEngine.NO_CLOSE));
+			return !(part.getCurSharedRef().getTags().contains(IPresentationEngine.NO_CLOSE));
 		}
 
 		return part.isCloseable();
@@ -569,8 +535,7 @@
 
 	private boolean closePart(MStackElement stackElement) {
 
-		MPart part = (MPart) ((stackElement instanceof MPart) ? stackElement
-				: ((MPlaceholder) stackElement).getRef());
+		MPart part = (MPart) ((stackElement instanceof MPart) ? stackElement : ((MPlaceholder) stackElement).getRef());
 		if (!isClosable(part)) {
 			return false;
 		}
@@ -578,11 +543,9 @@
 		IEclipseContext partContext = part.getContext();
 		IEclipseContext parentContext = getContextForParent(part);
 		// a part may not have a context if it hasn't been rendered
-		IEclipseContext context = partContext == null ? parentContext
-				: partContext;
+		IEclipseContext context = partContext == null ? parentContext : partContext;
 		// Allow closes to be 'canceled'
-		EPartService partService = (EPartService) context
-				.get(EPartService.class.getName());
+		EPartService partService = (EPartService) context.get(EPartService.class.getName());
 		if (partService.savePart(part, true)) {
 			partService.hidePart(part);
 			return true;
@@ -599,8 +562,7 @@
 	}
 
 	@Override
-	public void addChildGui(MUIElement child,
-			MElementContainer<MUIElement> element) {
+	public void addChildGui(MUIElement child, MElementContainer<MUIElement> element) {
 		if (!(child instanceof MStackElement))
 			return;
 
diff --git a/org.eclipse.osbp.vaaclipse.widgets/pom-compileWidgetset.xml b/org.eclipse.osbp.vaaclipse.widgets/pom-compileWidgetset.xml
index 58f8805..fa26a5e 100644
--- a/org.eclipse.osbp.vaaclipse.widgets/pom-compileWidgetset.xml
+++ b/org.eclipse.osbp.vaaclipse.widgets/pom-compileWidgetset.xml
@@ -19,11 +19,6 @@
 		</dependency>
 		<dependency>
 			<groupId>org.vaadin.addons</groupId>
-			<artifactId>contextmenu</artifactId>
-			<version>4.2.1</version>
-		</dependency>
-		<dependency>
-			<groupId>org.vaadin.addons</groupId>
 			<artifactId>dragdroplayouts</artifactId>
 			<version>1.1.3</version>
 		</dependency>
diff --git a/org.eclipse.osbp.vaaclipse.widgets/pom.xml b/org.eclipse.osbp.vaaclipse.widgets/pom.xml
index 80d7be4..fff08c6 100644
--- a/org.eclipse.osbp.vaaclipse.widgets/pom.xml
+++ b/org.eclipse.osbp.vaaclipse.widgets/pom.xml
@@ -26,11 +26,6 @@
 	<dependencies>
 		<dependency>
 			<groupId>org.vaadin.addons</groupId>
-			<artifactId>contextmenu</artifactId>
-			<version>4.2.1</version>
-		</dependency>
-		<dependency>
-			<groupId>org.vaadin.addons</groupId>
 			<artifactId>dragdroplayouts</artifactId>
 			<version>1.3.2</version>
 		</dependency>
diff --git a/org.eclipse.osbp.vaaclipse.widgetset.default/META-INF/MANIFEST.MF b/org.eclipse.osbp.vaaclipse.widgetset.default/META-INF/MANIFEST.MF
index 03f8850..e94f53f 100644
--- a/org.eclipse.osbp.vaaclipse.widgetset.default/META-INF/MANIFEST.MF
+++ b/org.eclipse.osbp.vaaclipse.widgetset.default/META-INF/MANIFEST.MF
@@ -9,4 +9,6 @@
 Require-Bundle: com.vaadin.server;bundle-version="[7.7.6,7.8.0)",
  com.vaadin.client;bundle-version="[7.7.6,7.8.0)",
  com.vaadin.shared;bundle-version="[7.7.6,7.8.0)",
- org.jsoup;bundle-version="1.7.2"
+ org.jsoup;bundle-version="1.7.2",
+ com.vaadin.addon.vaadin-context-menu
+
diff --git a/org.eclipse.osbp.vaaclipse.widgetset.default/pom-compileWidgetset.xml b/org.eclipse.osbp.vaaclipse.widgetset.default/pom-compileWidgetset.xml
index d7ac410..9587d8b 100644
--- a/org.eclipse.osbp.vaaclipse.widgetset.default/pom-compileWidgetset.xml
+++ b/org.eclipse.osbp.vaaclipse.widgetset.default/pom-compileWidgetset.xml
@@ -19,11 +19,6 @@
 		</dependency>
 		<dependency>
 			<groupId>org.vaadin.addons</groupId>
-			<artifactId>contextmenu</artifactId>
-			<version>4.2.1</version>
-		</dependency>
-		<dependency>
-			<groupId>org.vaadin.addons</groupId>
 			<artifactId>dragdroplayouts</artifactId>
 			<version>1.1.3</version>
 		</dependency>
diff --git a/org.eclipse.osbp.vaaclipse.widgetset.default/pom-superdev.xml b/org.eclipse.osbp.vaaclipse.widgetset.default/pom-superdev.xml
index f7057f9..fd2cdc7 100644
--- a/org.eclipse.osbp.vaaclipse.widgetset.default/pom-superdev.xml
+++ b/org.eclipse.osbp.vaaclipse.widgetset.default/pom-superdev.xml
@@ -20,11 +20,6 @@
 		</dependency>
 		<dependency>
 			<groupId>org.vaadin.addons</groupId>
-			<artifactId>contextmenu</artifactId>
-			<version>4.2.1</version>
-		</dependency>
-		<dependency>
-			<groupId>org.vaadin.addons</groupId>
 			<artifactId>dragdroplayouts</artifactId>
 			<version>1.1.1</version>
 		</dependency>
diff --git a/org.eclipse.osbp.vaaclipse.widgetset.default/pom.xml b/org.eclipse.osbp.vaaclipse.widgetset.default/pom.xml
index 67a64d2..8dba97e 100644
--- a/org.eclipse.osbp.vaaclipse.widgetset.default/pom.xml
+++ b/org.eclipse.osbp.vaaclipse.widgetset.default/pom.xml
@@ -1,208 +1,209 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*******************************************************************************
- * Copyright (c) 2012 Rushan R. Gilmullin and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     Rushan R. Gilmullin - initial API and implementation
- *******************************************************************************/
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.eclipse.osbp.vaaclipse</groupId>
-        <artifactId>org.eclipse.osbp.vaaclipse</artifactId>
-        <version>0.9.0-SNAPSHOT</version>
-    </parent>
-    <artifactId>org.eclipse.osbp.vaaclipse.widgetset.default</artifactId>
-    <packaging>eclipse-plugin</packaging>
+<!-- /******************************************************************************* 
+	* Copyright (c) 2012 Rushan R. Gilmullin and others. * All rights reserved. 
+	This program and the accompanying materials * are made available under the 
+	terms of the Eclipse Public License v1.0 * which accompanies this distribution, 
+	and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: 
+	* Rushan R. Gilmullin - initial API and implementation *******************************************************************************/ -->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>org.eclipse.osbp.vaaclipse</groupId>
+		<artifactId>org.eclipse.osbp.vaaclipse</artifactId>
+		<version>0.9.0-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.osbp.vaaclipse.widgetset.default</artifactId>
+	<packaging>eclipse-plugin</packaging>
+	
+	<repositories>
+		<repository>
+			<id>vaadin-addons</id>
+			<url>http://maven.vaadin.com/vaadin-addons</url>
+		</repository>
+	</repositories>
 
-    <dependencies>
-        <dependency>
-            <groupId>org.eclipse.osbp.vaaclipse</groupId>
-            <artifactId>org.eclipse.osbp.vaaclipse.widgets</artifactId>
-            <version>0.9.0-SNAPSHOT</version>
-        </dependency>
-        <dependency>
-            <groupId>org.vaadin.addons</groupId>
-            <artifactId>contextmenu</artifactId>
-            <version>4.2.1</version>
-        </dependency>
-        <dependency>
-            <groupId>org.vaadin.addons</groupId>
-            <artifactId>dragdroplayouts</artifactId>
-            <version>1.3.2</version>
-        </dependency>
-        <dependency>
-            <groupId>org.vaadin.addon</groupId>
-            <artifactId>easyuploads</artifactId>
-            <version>7.4.2</version>
-        </dependency>
-        <dependency>
-            <groupId>com.vaadin</groupId>
-            <artifactId>vaadin-server</artifactId>
-            <scope>provided</scope>
-            <version>${vaadin.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.vaadin</groupId>
-            <artifactId>vaadin-client</artifactId>
-            <scope>provided</scope>
-            <version>${vaadin.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.vaadin</groupId>
-            <artifactId>vaadin-client-compiled</artifactId>
-            <scope>provided</scope>
-            <version>${vaadin.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.vaadin</groupId>
-            <artifactId>vaadin-shared</artifactId>
-            <scope>provided</scope>
-            <version>${vaadin.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.vaadin</groupId>
-            <artifactId>vaadin-client-compiler</artifactId>
-            <scope>provided</scope>
-            <version>${vaadin.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.vaadin</groupId>
-            <artifactId>vaadin-themes</artifactId>
-            <version>${vaadin.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>commons-io</groupId>
-            <artifactId>commons-io</artifactId>
-            <version>2.4</version>
-        </dependency>
-        <dependency>
-            <groupId>javax.servlet</groupId>
-            <artifactId>servlet-api</artifactId>
-            <version>2.5</version>
-        </dependency>
-    </dependencies>
+	<dependencies>
+		<dependency>
+			<groupId>org.eclipse.osbp.vaaclipse</groupId>
+			<artifactId>org.eclipse.osbp.vaaclipse.widgets</artifactId>
+			<version>0.9.0-SNAPSHOT</version>
+		</dependency>
+		<dependency>
+			<groupId>org.vaadin.addons</groupId>
+			<artifactId>dragdroplayouts</artifactId>
+			<version>1.3.2</version>
+		</dependency>
+		<dependency>
+			<groupId>org.vaadin.addon</groupId>
+			<artifactId>easyuploads</artifactId>
+			<version>7.4.2</version>
+		</dependency>
+		<dependency>
+			<groupId>com.vaadin.addon</groupId>
+			<artifactId>vaadin-context-menu</artifactId>
+			<version>0.7.5</version>
+		</dependency>
+		<dependency>
+			<groupId>com.vaadin</groupId>
+			<artifactId>vaadin-server</artifactId>
+			<scope>provided</scope>
+			<version>${vaadin.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>com.vaadin</groupId>
+			<artifactId>vaadin-client</artifactId>
+			<scope>provided</scope>
+			<version>${vaadin.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>com.vaadin</groupId>
+			<artifactId>vaadin-client-compiled</artifactId>
+			<scope>provided</scope>
+			<version>${vaadin.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>com.vaadin</groupId>
+			<artifactId>vaadin-shared</artifactId>
+			<scope>provided</scope>
+			<version>${vaadin.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>com.vaadin</groupId>
+			<artifactId>vaadin-client-compiler</artifactId>
+			<scope>provided</scope>
+			<version>${vaadin.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>com.vaadin</groupId>
+			<artifactId>vaadin-themes</artifactId>
+			<version>${vaadin.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>commons-io</groupId>
+			<artifactId>commons-io</artifactId>
+			<version>2.4</version>
+		</dependency>
+		<dependency>
+			<groupId>javax.servlet</groupId>
+			<artifactId>servlet-api</artifactId>
+			<version>2.5</version>
+		</dependency>
+	</dependencies>
 
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <version>2.5</version>
-                <configuration>
-                    <source>1.7</source>
-                    <target>1.7</target>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>com.vaadin</groupId>
-                <artifactId>vaadin-maven-plugin</artifactId>
-                <version>${vaadin.plugin.version}</version>
-                <configuration>
-                    <extraJvmArgs>-Xmx1024M -Xss1024k</extraJvmArgs>
-                    <!-- <runTarget>mobilemail</runTarget> -->
-                    <!-- We are doing "inplace" but into subdir VAADIN/widgetsets. This 
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-compiler-plugin</artifactId>
+				<configuration>
+					<source>1.7</source>
+					<target>1.7</target>
+				</configuration>
+			</plugin>
+			<plugin>
+				<groupId>com.vaadin</groupId>
+				<artifactId>vaadin-maven-plugin</artifactId>
+				<version>${vaadin.plugin.version}</version>
+				<configuration>
+					<extraJvmArgs>-Xmx1024M -Xss1024k</extraJvmArgs>
+					<!-- <runTarget>mobilemail</runTarget> -->
+					<!-- We are doing "inplace" but into subdir VAADIN/widgetsets. This 
 						way compatible with Vaadin eclipse plugin. -->
-                    <webappDirectory>${basedir}/resources
-                    </webappDirectory>
-                    <hostedWebapp>${basedir}/resources
-                    </hostedWebapp>
-                    <noServer>true</noServer>
-                    <!-- Remove draftCompile when project is ready -->
-                    <draftCompile>true</draftCompile>
-                    <strict>true</strict>
-                    <compileReport>false</compileReport>
-                    <style>PRETTY</style>
-                    <runTarget>http://localhost:8080/</runTarget>
-                
-                    <!-- Remove these when going to release dependencies -->
-                    <force>true</force>
-                </configuration>
-                <executions>
-                    <execution>
-                        <goals>
-                            <goal>resources</goal>
-                            <goal>compile</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-            <!-- As we are doing "inplace" GWT compilation, ensure the widgetset -->
-            <!-- directory is cleaned properly -->
-            <plugin>
-                <artifactId>maven-clean-plugin</artifactId>
-                <configuration>
-                    <filesets>
-                        <fileset>
-                            <directory>/resources</directory>
-                        </fileset>
-                    </filesets>
-                </configuration>
-            </plugin>
-        
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-failsafe-plugin</artifactId>
-                <version>2.12</version>
-                <executions>
-                    <execution>
-                        <goals>
-                            <goal>integration-test</goal>
-                            <goal>verify</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-        
-        </plugins>
-        <pluginManagement>
-            <plugins>
-                <!--This plugin's configuration is used to store Eclipse m2e settings 
+					<webappDirectory>${basedir}/resources
+					</webappDirectory>
+					<hostedWebapp>${basedir}/resources
+					</hostedWebapp>
+					<noServer>true</noServer>
+					<!-- Remove draftCompile when project is ready -->
+					<draftCompile>true</draftCompile>
+					<strict>true</strict>
+					<compileReport>false</compileReport>
+					<style>PRETTY</style>
+					<runTarget>http://localhost:8080/</runTarget>
+
+					<!-- Remove these when going to release dependencies -->
+					<force>true</force>
+				</configuration>
+				<executions>
+					<execution>
+						<goals>
+							<goal>resources</goal>
+							<goal>compile</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+			<!-- As we are doing "inplace" GWT compilation, ensure the widgetset -->
+			<!-- directory is cleaned properly -->
+			<plugin>
+				<artifactId>maven-clean-plugin</artifactId>
+				<configuration>
+					<filesets>
+						<fileset>
+							<directory>/resources</directory>
+						</fileset>
+					</filesets>
+				</configuration>
+			</plugin>
+
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-failsafe-plugin</artifactId>
+				<version>2.12</version>
+				<executions>
+					<execution>
+						<goals>
+							<goal>integration-test</goal>
+							<goal>verify</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+
+		</plugins>
+		<pluginManagement>
+			<plugins>
+				<!--This plugin's configuration is used to store Eclipse m2e settings 
 					only. It has no influence on the Maven build itself. -->
-                <plugin>
-                    <groupId>org.eclipse.m2e</groupId>
-                    <artifactId>lifecycle-mapping</artifactId>
-                    <version>1.0.0</version>
-                    <configuration>
-                        <lifecycleMappingMetadata>
-                            <pluginExecutions>
-                                <pluginExecution>
-                                    <pluginExecutionFilter>
-                                        <groupId>com.vaadin</groupId>
-                                        <artifactId>vaadin-maven-plugin</artifactId>
-                                        <versionRange>[2.3.0-1,)</versionRange>
-                                        <goals>
-                                            <goal>resources</goal>
-                                        </goals>
-                                    </pluginExecutionFilter>
-                                    <action>
-                                        <ignore/>
-                                    </action>
-                                </pluginExecution>
-                                <pluginExecution>
-                                    <pluginExecutionFilter>
-                                        <groupId>com.vaadin</groupId>
-                                        <artifactId>vaadin-maven-plugin</artifactId>
-                                        <versionRange>[1.0.2,)</versionRange>
-                                        <goals>
-                                            <goal>update-widgetset</goal>
-                                        </goals>
-                                    </pluginExecutionFilter>
-                                    <action>
-                                        <ignore/>
-                                    </action>
-                                </pluginExecution>
-                            </pluginExecutions>
-                        </lifecycleMappingMetadata>
-                    </configuration>
-                </plugin>
-            </plugins>
-        </pluginManagement>
-    </build>
+				<plugin>
+					<groupId>org.eclipse.m2e</groupId>
+					<artifactId>lifecycle-mapping</artifactId>
+					<version>1.0.0</version>
+					<configuration>
+						<lifecycleMappingMetadata>
+							<pluginExecutions>
+								<pluginExecution>
+									<pluginExecutionFilter>
+										<groupId>com.vaadin</groupId>
+										<artifactId>vaadin-maven-plugin</artifactId>
+										<versionRange>[2.3.0-1,)</versionRange>
+										<goals>
+											<goal>resources</goal>
+										</goals>
+									</pluginExecutionFilter>
+									<action>
+										<ignore />
+									</action>
+								</pluginExecution>
+								<pluginExecution>
+									<pluginExecutionFilter>
+										<groupId>com.vaadin</groupId>
+										<artifactId>vaadin-maven-plugin</artifactId>
+										<versionRange>[1.0.2,)</versionRange>
+										<goals>
+											<goal>update-widgetset</goal>
+										</goals>
+									</pluginExecutionFilter>
+									<action>
+										<ignore />
+									</action>
+								</pluginExecution>
+							</pluginExecutions>
+						</lifecycleMappingMetadata>
+					</configuration>
+				</plugin>
+			</plugins>
+		</pluginManagement>
+	</build>
 </project>
diff --git a/org.eclipse.osbp.vaaclipse.widgetset.default/src/org/eclipse/osbp/vaaclipse/widgetset/DefaultWidgetset.gwt.xml b/org.eclipse.osbp.vaaclipse.widgetset.default/src/org/eclipse/osbp/vaaclipse/widgetset/DefaultWidgetset.gwt.xml
index 251d981..64ff7b6 100644
--- a/org.eclipse.osbp.vaaclipse.widgetset.default/src/org/eclipse/osbp/vaaclipse/widgetset/DefaultWidgetset.gwt.xml
+++ b/org.eclipse.osbp.vaaclipse.widgetset.default/src/org/eclipse/osbp/vaaclipse/widgetset/DefaultWidgetset.gwt.xml
@@ -3,7 +3,7 @@
 <module>
 	<inherits name="com.vaadin.DefaultWidgetSet" />
 
-	<inherits name="org.vaadin.peter.contextmenu.ContextmenuWidgetset" />
+	<inherits name="com.vaadin.addon.contextmenu.WidgetSet" />
 <!-- 	<inherits name="fi.jasoft.dragdroplayouts.DragDropLayoutsWidgetSet" /> -->
 	<inherits
 		name="org.eclipse.osbp.vaaclipse.widgets.org_eclipse_osbp_vaaclipse_widgetsWidgetset" />