start to formalize inference provider extension
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.compiler/src/org/eclipse/wst/jsdt/core/tests/compiler/regression/AbstractRegressionTest.java b/tests/org.eclipse.wst.jsdt.core.tests.compiler/src/org/eclipse/wst/jsdt/core/tests/compiler/regression/AbstractRegressionTest.java
index 8b166dc..bff9b2d 100644
--- a/tests/org.eclipse.wst.jsdt.core.tests.compiler/src/org/eclipse/wst/jsdt/core/tests/compiler/regression/AbstractRegressionTest.java
+++ b/tests/org.eclipse.wst.jsdt.core.tests.compiler/src/org/eclipse/wst/jsdt/core/tests/compiler/regression/AbstractRegressionTest.java
@@ -29,8 +29,10 @@
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.core.runtime.Path;
 import org.eclipse.wst.jsdt.core.compiler.CategorizedProblem;
+import org.eclipse.wst.jsdt.core.infer.DefaultInferrenceProvider;
 import org.eclipse.wst.jsdt.core.infer.InferEngine;
 import org.eclipse.wst.jsdt.core.infer.InferOptions;
+import org.eclipse.wst.jsdt.core.infer.InferrenceProvider;
 import org.eclipse.wst.jsdt.core.search.SearchDocument;
 import org.eclipse.wst.jsdt.core.search.SearchParticipant;
 import org.eclipse.wst.jsdt.core.tests.junit.extension.StopableTestCase;
@@ -1513,11 +1515,24 @@
 			}
 		}
 
+
+
 	protected CompilationUnitDeclaration runInferTest(
 			String s, 
 			String testName,String expected,
 			InferOptions inferOptions
 			) {
+
+		return runInferTest(s, testName, expected, inferOptions,new DefaultInferrenceProvider());
+	}
+	
+	
+	protected CompilationUnitDeclaration runInferTest(
+			String s, 
+			String testName,String expected,
+			InferOptions inferOptions,
+			InferrenceProvider inferrenceProvider
+			) {
 			// Non-javac part
 			try {
 		
@@ -1537,7 +1552,8 @@
 
 				CompilationUnitDeclaration compUnit= parser.parseCompilationUnit(sourceUnit, true);
 				
-				InferEngine inferEngine=inferOptions.createEngine();
+				InferEngine inferEngine=inferrenceProvider.getInferEngine();
+				
 				inferEngine.setCompilationUnit(compUnit);
 				inferEngine.doInfer();
 				if (expected!=null)