diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/IActivity.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/IActivity.java
index f8b172f..3917f0e 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/IActivity.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/IActivity.java
@@ -181,6 +181,14 @@
 	 * @return <code>true</code>, iff this activity is enabled.
 	 */
 	boolean isEnabled();
+	
+	/**
+	 * This method is only included to prevent compile errors in I20031125.
+	 * @param string
+	 * @return
+	 * @deprecated
+	 */
+	boolean isMatch(String string);
 
 	/**
 	 * TODO javadoc
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/IActivityManager.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/IActivityManager.java
index 29bce283..637d84d 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/IActivityManager.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/IActivityManager.java
@@ -123,6 +123,15 @@
 	IIdentifier getIdentifier(String identifierId);	
 	
 	/**
+	 * This method is only included to fix compile errors in I20031125
+	 * @param string
+	 * @param activityIds
+	 * @return
+	 * @deprecated
+	 */
+	boolean isMatch(String string, Set activityIds);
+	
+	/**
 	 * TODO javadoc
 	 * 
 	 * @deprecated
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/activities/Activity.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/activities/Activity.java
index ca4086e..7269263 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/activities/Activity.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/activities/Activity.java
@@ -203,6 +203,10 @@
 	public boolean isEnabled() {
 		return enabled;
 	}
+	
+	public boolean isMatch(String string) {
+		return match(string);
+	}
 
 	public boolean match(String string) {
 		if (isDefined())
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/activities/MutableActivityManager.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/activities/MutableActivityManager.java
index ab6fa67..f03ac09 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/activities/MutableActivityManager.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/activities/MutableActivityManager.java
@@ -175,6 +175,10 @@
 			getRequiredActivityIds(childActivityIds, requiredActivityIds);
 		}
 	}
+	
+	public boolean isMatch(String string, Set activityIds) {
+		return isMatch(string, activityIds);
+	}
 
 	public boolean match(String string, Set activityIds) {
 		activityIds = Util.safeCopy(activityIds, String.class);
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/activities/ProxyActivityManager.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/activities/ProxyActivityManager.java
index 5e240ad..909607a 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/activities/ProxyActivityManager.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/activities/ProxyActivityManager.java
@@ -68,6 +68,10 @@
 		return activityManager.getIdentifier(identifierId);
 	}
 	
+	public boolean isMatch(String string, Set activityIds) {
+		return match(string, activityIds);
+	}
+	
 	public boolean match(String string, Set activityIds) {
 		return activityManager.match(string, activityIds);
 	}	
