refactoring, so buildpathsblock & SecondPage could be used without inheritance
diff --git a/plugins/org.eclipse.dltk.javascript.ui/src/org/eclipse/dltk/javascript/internal/ui/preferences/JavaScriptBuildPathPropertyPage.java b/plugins/org.eclipse.dltk.javascript.ui/src/org/eclipse/dltk/javascript/internal/ui/preferences/JavaScriptBuildPathPropertyPage.java
index 9c4cf12..a7c7fed 100644
--- a/plugins/org.eclipse.dltk.javascript.ui/src/org/eclipse/dltk/javascript/internal/ui/preferences/JavaScriptBuildPathPropertyPage.java
+++ b/plugins/org.eclipse.dltk.javascript.ui/src/org/eclipse/dltk/javascript/internal/ui/preferences/JavaScriptBuildPathPropertyPage.java
@@ -9,18 +9,28 @@
  *******************************************************************************/
 package org.eclipse.dltk.javascript.internal.ui.preferences;
 
+import org.eclipse.dltk.core.IDLTKLanguageToolkit;
+import org.eclipse.dltk.javascript.core.JavaScriptLanguageToolkit;
 import org.eclipse.dltk.ui.preferences.BuildPathsPropertyPage;
 import org.eclipse.dltk.ui.util.BusyIndicatorRunnableContext;
 import org.eclipse.dltk.ui.wizards.BuildpathsBlock;
 import org.eclipse.ui.IWorkbenchPropertyPage;
 import org.eclipse.ui.preferences.IWorkbenchPreferenceContainer;
 
-public class JavaScriptBuildPathPropertyPage extends BuildPathsPropertyPage implements IWorkbenchPropertyPage {
+public class JavaScriptBuildPathPropertyPage extends BuildPathsPropertyPage
+		implements IWorkbenchPropertyPage {
 	public JavaScriptBuildPathPropertyPage() {
 	}
 
-	protected BuildpathsBlock createBuildPathBlock(IWorkbenchPreferenceContainer pageContainer) {
-		return new JavascriptBuildPathsBlock(new BusyIndicatorRunnableContext(), 
-				this, getSettings().getInt(INDEX), false, pageContainer);
+	@Override
+	protected BuildpathsBlock createBuildPathBlock(
+			IWorkbenchPreferenceContainer pageContainer) {
+		return new JavascriptBuildPathsBlock(
+				new BusyIndicatorRunnableContext(), this, getSettings().getInt(
+						INDEX), false, pageContainer);
+	}
+
+	public IDLTKLanguageToolkit getLanguageToolkit() {
+		return JavaScriptLanguageToolkit.getDefault();
 	}
 }
diff --git a/plugins/org.eclipse.dltk.javascript.ui/src/org/eclipse/dltk/javascript/internal/ui/preferences/JavascriptBuildPathsBlock.java b/plugins/org.eclipse.dltk.javascript.ui/src/org/eclipse/dltk/javascript/internal/ui/preferences/JavascriptBuildPathsBlock.java
index 687a598..9b2f545 100644
--- a/plugins/org.eclipse.dltk.javascript.ui/src/org/eclipse/dltk/javascript/internal/ui/preferences/JavascriptBuildPathsBlock.java
+++ b/plugins/org.eclipse.dltk.javascript.ui/src/org/eclipse/dltk/javascript/internal/ui/preferences/JavascriptBuildPathsBlock.java
@@ -9,22 +9,19 @@
  *******************************************************************************/
 package org.eclipse.dltk.javascript.internal.ui.preferences;
 
-import org.eclipse.dltk.javascript.internal.ui.JavaScriptUI;
 import org.eclipse.dltk.ui.util.IStatusChangeListener;
 import org.eclipse.dltk.ui.wizards.BuildpathsBlock;
 import org.eclipse.jface.operation.IRunnableContext;
-import org.eclipse.jface.preference.IPreferenceStore;
 import org.eclipse.ui.preferences.IWorkbenchPreferenceContainer;
 
 public class JavascriptBuildPathsBlock extends BuildpathsBlock {
-	public JavascriptBuildPathsBlock(IRunnableContext runnableContext, IStatusChangeListener context, int pageToShow, boolean useNewPage, IWorkbenchPreferenceContainer pageContainer) {
+	public JavascriptBuildPathsBlock(IRunnableContext runnableContext,
+			IStatusChangeListener context, int pageToShow, boolean useNewPage,
+			IWorkbenchPreferenceContainer pageContainer) {
 		super(runnableContext, context, pageToShow, useNewPage, pageContainer);
 	}
 
-	protected IPreferenceStore getPreferenceStore() {
-		return JavaScriptUI.getDefault().getPreferenceStore();
-	}
-
+	@Override
 	protected boolean supportZips() {
 		return true;
 	}
diff --git a/plugins/org.eclipse.dltk.javascript.ui/src/org/eclipse/dltk/javascript/internal/ui/wizards/JavascriptProjectCreationWizard.java b/plugins/org.eclipse.dltk.javascript.ui/src/org/eclipse/dltk/javascript/internal/ui/wizards/JavascriptProjectCreationWizard.java
index c995a7c..558b3a8 100644
--- a/plugins/org.eclipse.dltk.javascript.ui/src/org/eclipse/dltk/javascript/internal/ui/wizards/JavascriptProjectCreationWizard.java
+++ b/plugins/org.eclipse.dltk.javascript.ui/src/org/eclipse/dltk/javascript/internal/ui/wizards/JavascriptProjectCreationWizard.java
@@ -16,7 +16,6 @@
 import org.eclipse.dltk.core.DLTKCore;
 import org.eclipse.dltk.core.IModelElement;
 import org.eclipse.dltk.javascript.core.JavaScriptNature;
-import org.eclipse.dltk.javascript.internal.ui.JavaScriptUI;
 import org.eclipse.dltk.javascript.internal.ui.preferences.JavascriptBuildPathsBlock;
 import org.eclipse.dltk.javascript.ui.JavaScriptImages;
 import org.eclipse.dltk.ui.DLTKUIPlugin;
@@ -26,7 +25,6 @@
 import org.eclipse.dltk.ui.wizards.NewElementWizard;
 import org.eclipse.dltk.ui.wizards.ProjectWizardFirstPage;
 import org.eclipse.dltk.ui.wizards.ProjectWizardSecondPage;
-import org.eclipse.jface.preference.IPreferenceStore;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.ui.INewWizard;
 import org.eclipse.ui.wizards.newresource.BasicNewProjectResourceWizard;
@@ -73,10 +71,6 @@
 						new BusyIndicatorRunnableContext(), listener, 0,
 						useNewSourcePage(), null);
 			}
-
-			protected IPreferenceStore getPreferenceStore() {
-				return JavaScriptUI.getDefault().getPreferenceStore();
-			}
 		};
 		addPage(fSecondPage);
 	}