https://bugs.eclipse.org/bugs/show_bug.cgi?id=355675 - made the suggested changes
diff --git a/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/preferences/Bpmn2Preferences.java b/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/preferences/Bpmn2Preferences.java
index 74c6fb1..ae86d2e 100644
--- a/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/preferences/Bpmn2Preferences.java
+++ b/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/preferences/Bpmn2Preferences.java
@@ -20,6 +20,7 @@
 import java.util.Map;
 import java.util.Map.Entry;
 
+import org.eclipse.bpmn2.Activity;
 import org.eclipse.bpmn2.AdHocSubProcess;
 import org.eclipse.bpmn2.BaseElement;
 import org.eclipse.bpmn2.CallActivity;
@@ -102,8 +103,8 @@
 	public final static String PREF_POPUP_CONFIG_DIALOG = "popup.config.dialog";
 	public final static String PREF_POPUP_CONFIG_DIALOG_LABEL = "Display element configuration popup dialog after DND of:";
 	
-	public final static String PREF_POPUP_CONFIG_DIALOG_FOR_TASKS = "popup.config.dialog.for.tasks";
-	public final static String PREF_POPUP_CONFIG_DIALOG_FOR_TASKS_LABEL = "Tasks";
+	public final static String PREF_POPUP_CONFIG_DIALOG_FOR_ACTIVITIES = "popup.config.dialog.for.activities";
+	public final static String PREF_POPUP_CONFIG_DIALOG_FOR_ACTIVITIES_LABEL = "Activities";
 	public final static String PREF_POPUP_CONFIG_DIALOG_FOR_GATEWAYS = "popup.config.dialog.for.gateways";
 	public final static String PREF_POPUP_CONFIG_DIALOG_FOR_GATEWAYS_LABEL = "Gateways";
 	public final static String PREF_POPUP_CONFIG_DIALOG_FOR_EVENTS = "popup.config.dialog.for.events";
@@ -256,7 +257,7 @@
 		globalPreferences.setDefault(PREF_IS_MARKER_VISIBLE, BPMNDIAttributeDefault.DEFAULT_TRUE.name());
 
 		globalPreferences.setDefault(PREF_POPUP_CONFIG_DIALOG, false); // tri-state checkbox
-		globalPreferences.setDefault(PREF_POPUP_CONFIG_DIALOG_FOR_TASKS, false);
+		globalPreferences.setDefault(PREF_POPUP_CONFIG_DIALOG_FOR_ACTIVITIES, false);
 		globalPreferences.setDefault(PREF_POPUP_CONFIG_DIALOG_FOR_GATEWAYS, false);
 		globalPreferences.setDefault(PREF_POPUP_CONFIG_DIALOG_FOR_EVENTS, false);
 		globalPreferences.setDefault(PREF_POPUP_CONFIG_DIALOG_FOR_EVENT_DEFS, false);
@@ -283,7 +284,7 @@
 			projectPreferences.remove(PREF_IS_MARKER_VISIBLE);
 
 			projectPreferences.remove(PREF_POPUP_CONFIG_DIALOG);
-			projectPreferences.remove(PREF_POPUP_CONFIG_DIALOG_FOR_TASKS);
+			projectPreferences.remove(PREF_POPUP_CONFIG_DIALOG_FOR_ACTIVITIES);
 			projectPreferences.remove(PREF_POPUP_CONFIG_DIALOG_FOR_GATEWAYS);
 			projectPreferences.remove(PREF_POPUP_CONFIG_DIALOG_FOR_EVENTS);
 			projectPreferences.remove(PREF_POPUP_CONFIG_DIALOG_FOR_EVENT_DEFS);
@@ -310,7 +311,7 @@
 		globalPreferences.setToDefault(PREF_IS_MARKER_VISIBLE);
 
 		globalPreferences.setToDefault(PREF_POPUP_CONFIG_DIALOG);
-		globalPreferences.setToDefault(PREF_POPUP_CONFIG_DIALOG_FOR_TASKS);
+		globalPreferences.setToDefault(PREF_POPUP_CONFIG_DIALOG_FOR_ACTIVITIES);
 		globalPreferences.setToDefault(PREF_POPUP_CONFIG_DIALOG_FOR_GATEWAYS);
 		globalPreferences.setToDefault(PREF_POPUP_CONFIG_DIALOG_FOR_EVENTS);
 		globalPreferences.setToDefault(PREF_POPUP_CONFIG_DIALOG_FOR_EVENT_DEFS);
@@ -387,7 +388,7 @@
 			connectionTimeout = this.getString(PREF_CONNECTION_TIMEOUT, "60000");
 			
 			popupConfigDialog = getInt(PREF_POPUP_CONFIG_DIALOG, 0); // tri-state checkbox
-			popupConfigDialogFor[0] = getBoolean(PREF_POPUP_CONFIG_DIALOG_FOR_TASKS, false);
+			popupConfigDialogFor[0] = getBoolean(PREF_POPUP_CONFIG_DIALOG_FOR_ACTIVITIES, false);
 			popupConfigDialogFor[1] = getBoolean(PREF_POPUP_CONFIG_DIALOG_FOR_GATEWAYS, false);
 			popupConfigDialogFor[2] = getBoolean(PREF_POPUP_CONFIG_DIALOG_FOR_EVENTS, false);
 			popupConfigDialogFor[3] = getBoolean(PREF_POPUP_CONFIG_DIALOG_FOR_EVENT_DEFS, false);
@@ -420,7 +421,7 @@
 			setString(PREF_CONNECTION_TIMEOUT, connectionTimeout);
 
 			setInt(PREF_POPUP_CONFIG_DIALOG, popupConfigDialog);
-			setBoolean(PREF_POPUP_CONFIG_DIALOG_FOR_TASKS, popupConfigDialogFor[0]);
+			setBoolean(PREF_POPUP_CONFIG_DIALOG_FOR_ACTIVITIES, popupConfigDialogFor[0]);
 			setBoolean(PREF_POPUP_CONFIG_DIALOG_FOR_GATEWAYS, popupConfigDialogFor[1]);
 			setBoolean(PREF_POPUP_CONFIG_DIALOG_FOR_EVENTS, popupConfigDialogFor[2]);
 			setBoolean(PREF_POPUP_CONFIG_DIALOG_FOR_EVENT_DEFS, popupConfigDialogFor[3]);
@@ -597,7 +598,7 @@
 	}
 	
 	public boolean hasPopupConfigDialog(Object context) {
-		if (context instanceof Task) {
+		if (context instanceof Activity) {
 			return true;
 		}
 		if (context instanceof Gateway) {
diff --git a/org.eclipse.bpmn2.modeler.ui/.options b/org.eclipse.bpmn2.modeler.ui/.options
new file mode 100644
index 0000000..6575425
--- /dev/null
+++ b/org.eclipse.bpmn2.modeler.ui/.options
@@ -0,0 +1,2 @@
+org.eclipse.emf.common.EMFPlugin/debug=false
+org.eclipse.bpmn2.modeler.ui/debug=false
\ No newline at end of file
diff --git a/org.eclipse.bpmn2.modeler.ui/build.properties b/org.eclipse.bpmn2.modeler.ui/build.properties
index 125f872..95e7856 100644
--- a/org.eclipse.bpmn2.modeler.ui/build.properties
+++ b/org.eclipse.bpmn2.modeler.ui/build.properties
@@ -5,5 +5,6 @@
                plugin.xml,\
                icons/,\
                about.html,\
-               plugin.properties
+               plugin.properties,\
+               .options
 src.includes = icons/bpmn2_editor_16.png
diff --git a/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/diagram/BpmnToolBehaviourFeature.java b/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/diagram/BpmnToolBehaviourFeature.java
index c8fcd3f..9371c5d 100644
--- a/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/diagram/BpmnToolBehaviourFeature.java
+++ b/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/diagram/BpmnToolBehaviourFeature.java
@@ -18,6 +18,7 @@
 import org.eclipse.bpmn2.modeler.core.Activator;
 import org.eclipse.bpmn2.modeler.core.features.IBpmn2AddFeature;
 import org.eclipse.bpmn2.modeler.core.features.IBpmn2CreateFeature;
+import org.eclipse.bpmn2.modeler.core.features.ShowPropertiesFeature;
 import org.eclipse.bpmn2.modeler.core.features.activity.ActivitySelectionBehavior;
 import org.eclipse.bpmn2.modeler.core.features.event.EventSelectionBehavior;
 import org.eclipse.bpmn2.modeler.core.runtime.CustomTaskDescriptor;
@@ -416,7 +417,8 @@
 		ICustomFeature[] cf = getFeatureProvider().getCustomFeatures(context);
 		for (int i = 0; i < cf.length; i++) {
 			ICustomFeature iCustomFeature = cf[i];
-			if (iCustomFeature.canExecute(context)) {
+			if (iCustomFeature instanceof ShowPropertiesFeature &&
+					iCustomFeature.canExecute(context)) {
 				return iCustomFeature;
 			}
 		}
diff --git a/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/editor/DesignEditor.java b/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/editor/DesignEditor.java
index 3e98992..b93be86 100644
--- a/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/editor/DesignEditor.java
+++ b/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/editor/DesignEditor.java
@@ -17,7 +17,7 @@
 import org.eclipse.bpmn2.modeler.core.di.DIUtils;
 import org.eclipse.bpmn2.modeler.core.utils.BusinessObjectUtil;
 import org.eclipse.bpmn2.modeler.core.utils.ModelUtil;
-import org.eclipse.bpmn2.modeler.ui.wizards.Bpmn2DiagramEditorInput;
+import org.eclipse.bpmn2.modeler.ui.Activator;
 import org.eclipse.emf.common.command.Command;
 import org.eclipse.emf.common.notify.Notification;
 import org.eclipse.emf.common.util.TreeIterator;
@@ -38,12 +38,10 @@
 import org.eclipse.graphiti.mm.pictograms.Diagram;
 import org.eclipse.graphiti.mm.pictograms.PictogramElement;
 import org.eclipse.graphiti.ui.editor.DiagramEditorContextMenuProvider;
-import org.eclipse.graphiti.ui.editor.DiagramEditorInput;
 import org.eclipse.jface.action.IAction;
 import org.eclipse.jface.action.IMenuManager;
 import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.custom.CTabFolder;
 import org.eclipse.swt.custom.CTabItem;
@@ -63,7 +61,6 @@
 	
 	protected ResourceSetListener resourceSetListener = null;
 	private BPMNDiagram bpmnDiagramDeleted = null;
-	protected boolean debug;
 	// the container that holds the tabFolder
 	protected Composite container;
 	protected CTabFolder tabFolder;
@@ -455,6 +452,8 @@
 
 		@Override
 		public void resourceSetChanged(ResourceSetChangeEvent event) {
+			boolean debug = Activator.getDefault().isDebugging();
+			
 			for (Notification n : event.getNotifications()) {
 				int et = n.getEventType();
 				Object notifier = n.getNotifier();
diff --git a/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/features/activity/subprocess/CallActivityFeatureContainer.java b/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/features/activity/subprocess/CallActivityFeatureContainer.java
index 285e51d..48bd405 100644
--- a/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/features/activity/subprocess/CallActivityFeatureContainer.java
+++ b/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/features/activity/subprocess/CallActivityFeatureContainer.java
@@ -24,6 +24,7 @@
 import org.eclipse.bpmn2.Process;
 import org.eclipse.bpmn2.modeler.core.features.DefaultResizeBPMNShapeFeature;
 import org.eclipse.bpmn2.modeler.core.features.MultiUpdateFeature;
+import org.eclipse.bpmn2.modeler.core.features.ShowPropertiesFeature;
 import org.eclipse.bpmn2.modeler.core.features.activity.AbstractCreateExpandableFlowNodeFeature;
 import org.eclipse.bpmn2.modeler.core.features.activity.LayoutActivityFeature;
 import org.eclipse.bpmn2.modeler.core.model.Bpmn2ModelerFactory;
@@ -42,6 +43,7 @@
 import org.eclipse.graphiti.features.context.IAddContext;
 import org.eclipse.graphiti.features.context.ICreateContext;
 import org.eclipse.graphiti.features.context.IUpdateContext;
+import org.eclipse.graphiti.features.custom.ICustomFeature;
 import org.eclipse.graphiti.features.impl.AbstractUpdateFeature;
 import org.eclipse.graphiti.features.impl.Reason;
 import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm;
@@ -133,6 +135,23 @@
 	public IResizeShapeFeature getResizeFeature(IFeatureProvider fp) {
 		return new DefaultResizeBPMNShapeFeature(fp);
 	}
+	
+	@Override
+	public ICustomFeature[] getCustomFeatures(IFeatureProvider fp) {
+		ICustomFeature[] superFeatures = super.getCustomFeatures(fp);
+		ICustomFeature[] thisFeatures = new ICustomFeature[superFeatures.length];
+		int index = 1;
+		for (int i = 0; i < superFeatures.length; ++i) {
+			if (superFeatures[i] instanceof ShowPropertiesFeature) {
+				thisFeatures[0] = superFeatures[i];
+				index = 0;
+			}
+			else {
+				thisFeatures[index + i] = superFeatures[i];
+			}
+		}
+		return thisFeatures;
+	}
 
 	public static class CreateCallActivityFeature extends AbstractCreateExpandableFlowNodeFeature<CallActivity> {
 
diff --git a/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/preferences/Bpmn2EditorPreferencePage.java b/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/preferences/Bpmn2EditorPreferencePage.java
index 673d0e6..8123efc 100644
--- a/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/preferences/Bpmn2EditorPreferencePage.java
+++ b/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/preferences/Bpmn2EditorPreferencePage.java
@@ -74,7 +74,6 @@
 	Button defaultSize;
 	FontControl textFont;
 	ColorControl textColor;
-	boolean debug;
 
 	public Bpmn2EditorPreferencePage() {
 		setPreferenceStore(Activator.getDefault().getPreferenceStore());
@@ -184,7 +183,7 @@
 			for (Class c : allElements) {
 				ShapeStyle ss = preferences.getShapeStyle(c);
 				shapeStyles.put(c, ss);
-			if (debug) {
+			if (Activator.getDefault().isDebugging()) {
 				IColorConstant foreground = ss.getShapeForeground();
 				IColorConstant background = ss.getShapeBackground();
 				IColorConstant textColor = ss.getTextColor();
diff --git a/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/preferences/Bpmn2HomePreferencePage.java b/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/preferences/Bpmn2HomePreferencePage.java
index 16fc0df..e249c52 100644
--- a/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/preferences/Bpmn2HomePreferencePage.java
+++ b/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/preferences/Bpmn2HomePreferencePage.java
@@ -142,8 +142,8 @@
 		comp.setLayoutData(gd);
 
 		TristateCheckboxFieldEditor popupConfigDialogForTasks = new TristateCheckboxFieldEditor(
-				Bpmn2Preferences.PREF_POPUP_CONFIG_DIALOG_FOR_TASKS,
-				Bpmn2Preferences.PREF_POPUP_CONFIG_DIALOG_FOR_TASKS_LABEL,
+				Bpmn2Preferences.PREF_POPUP_CONFIG_DIALOG_FOR_ACTIVITIES,
+				Bpmn2Preferences.PREF_POPUP_CONFIG_DIALOG_FOR_ACTIVITIES_LABEL,
 				comp);
 		addField(popupConfigDialogForTasks);
 		popupConfigDialog.addField(popupConfigDialogForTasks);