This commit was manufactured by cvs2svn to create tag 'v200809021603'.
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/.classpath b/plugins/org.eclipse.jst.common.project.facet.ui/.classpath
deleted file mode 100644
index 64c5e31..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/.project b/plugins/org.eclipse.jst.common.project.facet.ui/.project
deleted file mode 100644
index 96fd01c..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jst.common.project.facet.ui</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.jst.common.project.facet.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index bcc26d6..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Wed Jan 31 15:32:12 PST 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=error
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.jst.common.project.facet.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index 3e1f4b8..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,14 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Vendor: %providerName
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.jst.common.project.facet.ui;singleton:=true
-Bundle-Version: 1.3.1.qualifier
-Bundle-ClassPath: .
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.core.resources;bundle-version="[3.2.0,4.0)",
- org.eclipse.wst.common.project.facet.ui;bundle-version="[1.3.0,2.0.0)",
- org.eclipse.jst.common.project.facet.core;bundle-version="[1.3.0,2.0.0)",
- org.eclipse.ui.ide;bundle-version="[3.4.0,4.0.0)"
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/about.html b/plugins/org.eclipse.jst.common.project.facet.ui/about.html
deleted file mode 100644
index 73db36e..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>June 06, 2007</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor’s license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/build.properties b/plugins/org.eclipse.jst.common.project.facet.ui/build.properties
deleted file mode 100644
index c4aeebe..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/build.properties
+++ /dev/null
@@ -1,9 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = .,\
-               plugin.xml,\
-               META-INF/,\
-               plugin.properties,\
-               component.xml,\
-               about.html,\
-               images/
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/component.xml b/plugins/org.eclipse.jst.common.project.facet.ui/component.xml
deleted file mode 100644
index c5f9bc9..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/component.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component xmlns="http://eclipse.org/wtp/releng/tools/component-model" name="org.eclipse.jst.common.project.facet">
-  <description url=""></description>
-  <component-depends unrestricted="true"></component-depends>
-  <plugin id="org.eclipse.jst.common.project.facet.ui" fragment="false"/>
-</component>
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/images/java-facet.gif b/plugins/org.eclipse.jst.common.project.facet.ui/images/java-facet.gif
deleted file mode 100644
index 37cb4e7..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/images/java-facet.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/images/standard-jre-component.gif b/plugins/org.eclipse.jst.common.project.facet.ui/images/standard-jre-component.gif
deleted file mode 100644
index cb55e33..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/images/standard-jre-component.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/plugin.properties b/plugins/org.eclipse.jst.common.project.facet.ui/plugin.properties
deleted file mode 100644
index 7b14710..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/plugin.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-pluginName = Project Facet UI (Java Support)
-providerName = Eclipse.org
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/plugin.xml b/plugins/org.eclipse.jst.common.project.facet.ui/plugin.xml
deleted file mode 100644
index 786daa1..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/plugin.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-
-<plugin>
-
-  <extension point="org.eclipse.wst.common.project.facet.ui.images">
-    <image 
-      runtime-component-type="standard.jre"
-      path="images/standard-jre-component.gif"/>
-    <image 
-      facet="jst.java" 
-      path="images/java-facet.gif"/>
-  </extension>
-  
-  <extension
-    point="org.eclipse.ui.ide.markerResolution">
-	<markerResolutionGenerator
-      markerType="org.eclipse.jst.common.project.facet.core.javaVersionMismatch"
-      class="org.eclipse.jst.common.project.facet.ui.internal.JavaVersionMismatchMarkerResolutions">
-    </markerResolutionGenerator>
-  </extension>
-
-  <extension point="org.eclipse.wst.common.project.facet.core.runtimes">
-    <adapter>
-      <runtime-component id="standard.jre"/>
-      <factory class="org.eclipse.jst.common.project.facet.ui.internal.StandardJreComponentLabelProvider$Factory"/>
-      <type class="org.eclipse.wst.common.project.facet.ui.IRuntimeComponentLabelProvider"/>
-    </adapter>
-  </extension>
-  
-</plugin>
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/internal/JavaVersionMismatchMarkerResolutions.java b/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/internal/JavaVersionMismatchMarkerResolutions.java
deleted file mode 100644
index d6254ba..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/internal/JavaVersionMismatchMarkerResolutions.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2008 BEA Systems, Inc.
- * 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:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.ui.internal;
-
-import java.util.Collections;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jst.common.project.facet.core.JavaFacet;
-import org.eclipse.jst.common.project.facet.core.internal.JavaFacetUtil;
-import org.eclipse.jst.common.project.facet.core.internal.JavaFacetValidator;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.ui.IMarkerResolution;
-import org.eclipse.ui.IMarkerResolutionGenerator;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject.Action;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public final class JavaVersionMismatchMarkerResolutions
-
-    implements IMarkerResolutionGenerator
-    
-{
-    public IMarkerResolution[] getResolutions( final IMarker marker )
-    {
-        return new IMarkerResolution[] 
-        { 
-            new Resolution1( marker ), 
-            new Resolution2( marker ) 
-        };
-    }
-    
-    private static final class Resolution1
-    
-        implements IMarkerResolution
-        
-    {
-        private final IMarker marker;
-        
-        public Resolution1( final IMarker marker )
-        {
-            this.marker = marker;
-        }
-        
-        public String getLabel()
-        {
-            final IProjectFacetVersion fv = getProjectFacetVersion();
-            return NLS.bind( Resources.changeFacetVersion, fv );
-        }
-
-        public void run( final IMarker marker )
-        {
-            final Action action
-                = new Action( Action.Type.VERSION_CHANGE, 
-                              getProjectFacetVersion(), null );
-
-            final IProject proj = this.marker.getResource().getProject();
-            
-            try
-            {
-                final IFacetedProject fproj 
-                    = ProjectFacetsManager.create( proj );
-                
-                fproj.modify( Collections.singleton( action ), null );
-            }
-            catch( CoreException e )
-            {
-                ErrorDialog.openError( null, Resources.errorDialogTitle,
-                                       Resources.errorDialogMessage,
-                                       e.getStatus() );
-            }
-        }
-        
-        private IProjectFacetVersion getProjectFacetVersion()
-        {
-            final String level 
-                = this.marker.getAttribute( JavaFacetValidator.ATTR_COMPILER_LEVEL, null );
-            
-            return JavaFacetUtil.compilerLevelToFacet( level );
-        }
-    }
-
-    private static final class Resolution2
-    
-        implements IMarkerResolution
-        
-    {
-        private final IMarker marker;
-        
-        public Resolution2( final IMarker marker )
-        {
-            this.marker = marker;
-        }
-        
-        public String getLabel()
-        {
-            final String level = getCompilerLevel();
-            return NLS.bind( Resources.changeCompilerLevel, level );
-        }
-    
-        public void run( final IMarker marker )
-        {
-            final IProject project = this.marker.getResource().getProject();
-            final String level = getCompilerLevel();
-            
-            try
-            {
-                JavaFacetUtil.setCompilerLevel( project, level );
-                JavaFacetUtil.scheduleFullBuild( project );
-            }
-            catch( CoreException e )
-            {
-                ErrorDialog.openError( null, Resources.errorDialogTitle,
-                                       Resources.errorDialogMessage,
-                                       e.getStatus() );
-            }
-        }
-        
-        private String getCompilerLevel()
-        {
-            final String fvstr
-                = this.marker.getAttribute( JavaFacetValidator.ATTR_FACET_VERSION, null);
-            
-            final IProjectFacetVersion fv = JavaFacet.FACET.getVersion( fvstr );
-            
-            return JavaFacetUtil.facetToCompilerLevel( fv );
-        }
-    }
-    
-    private static final class Resources
-    
-        extends NLS
-        
-    {
-        public static String changeFacetVersion;
-        public static String changeCompilerLevel;
-        public static String errorDialogTitle;
-        public static String errorDialogMessage;
-        
-        static
-        {
-            initializeMessages( JavaVersionMismatchMarkerResolutions.class.getName(), 
-                                Resources.class );
-        }
-    }
-    
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/internal/JavaVersionMismatchMarkerResolutions.properties b/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/internal/JavaVersionMismatchMarkerResolutions.properties
deleted file mode 100644
index 227ca0a..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/internal/JavaVersionMismatchMarkerResolutions.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-changeFacetVersion = Change Java project facet version to {0}
-changeCompilerLevel =Change Java compiler level to {0}
-errorDialogTitle = Error
-errorDialogMessage = Failed while applying the quick fix.
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/internal/StandardJreComponentLabelProvider.java b/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/internal/StandardJreComponentLabelProvider.java
deleted file mode 100644
index 81971c0..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/internal/StandardJreComponentLabelProvider.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2008 BEA Systems, Inc.
- * 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:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.ui.internal;
-
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponent;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponentVersion;
-import org.eclipse.wst.common.project.facet.ui.IRuntimeComponentLabelProvider;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public final class StandardJreComponentLabelProvider 
-
-    implements IRuntimeComponentLabelProvider 
-    
-{
-    private final IRuntimeComponent rc;
-
-    public StandardJreComponentLabelProvider( final IRuntimeComponent rc ) 
-    {
-        this.rc = rc;
-    }
-
-    public String getLabel() 
-    {
-        final IRuntimeComponentVersion rcv = this.rc.getRuntimeComponentVersion();
-        return Resources.bind( Resources.label, rcv.getVersionString() );
-    }
-    
-    public static final class Factory
-    
-        implements IAdapterFactory
-        
-    {
-        private static final Class[] ADAPTER_TYPES = { IRuntimeComponentLabelProvider.class };
-
-        public Class[] getAdapterList()
-        {
-            return ADAPTER_TYPES;
-        }
-
-        public Object getAdapter( final Object adaptableObject, 
-                                  final Class adapterType )
-        {
-            return new StandardJreComponentLabelProvider( (IRuntimeComponent) adaptableObject );
-        }
-    }
-    
-    private static final class Resources
-    
-        extends NLS
-        
-    {
-        public static String label;
-        
-        static
-        {
-            initializeMessages( StandardJreComponentLabelProvider.class.getName(), 
-                                Resources.class );
-        }
-    }
-    
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/internal/StandardJreComponentLabelProvider.properties b/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/internal/StandardJreComponentLabelProvider.properties
deleted file mode 100644
index 4049ef4..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/internal/StandardJreComponentLabelProvider.properties
+++ /dev/null
@@ -1 +0,0 @@
-label = Java Runtime Environment v{0}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/.classpath b/plugins/org.eclipse.wst.common.project.facet.ui/.classpath
deleted file mode 100644
index 304e861..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/.cvsignore b/plugins/org.eclipse.wst.common.project.facet.ui/.cvsignore
deleted file mode 100644
index 0d662e0..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/.cvsignore
+++ /dev/null
@@ -1,7 +0,0 @@
-bin
-build.xml
-facet-ui.jar
-temp.folder
-@dot
-src.zip
-javaCompiler...args
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/.options b/plugins/org.eclipse.wst.common.project.facet.ui/.options
deleted file mode 100644
index a190b2b..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/.options
+++ /dev/null
@@ -1 +0,0 @@
-org.eclipse.wst.common.project.facet.ui/propPage/actionConfigValidation = false
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/.project b/plugins/org.eclipse.wst.common.project.facet.ui/.project
deleted file mode 100644
index df18711..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.common.project.facet.ui</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.wst.common.project.facet.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index bcc26d6..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Wed Jan 31 15:32:12 PST 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=error
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.common.project.facet.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index 10f9919..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,19 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Vendor: %providerName
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.wst.common.project.facet.ui; singleton:=true
-Bundle-Version: 1.3.1.qualifier
-Bundle-ClassPath: .
-Bundle-Activator: org.eclipse.wst.common.project.facet.ui.internal.FacetUiPlugin
-Bundle-Localization: plugin
-Export-Package: org.eclipse.wst.common.project.facet.ui,
- org.eclipse.wst.common.project.facet.ui.internal;x-internal:=true
-Require-Bundle: org.eclipse.ui;bundle-version="[3.4.0,4.0.0)";visibility:=reexport,
- org.eclipse.ui.forms;bundle-version="[3.3.100,4.0.0)",
- org.eclipse.ui.ide;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)";visibility:=reexport,
- org.eclipse.core.resources;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.wst.common.project.facet.core;bundle-version="[1.3.0,2.0.0)";visibility:=reexport
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/about.html b/plugins/org.eclipse.wst.common.project.facet.ui/about.html
deleted file mode 100644
index 2199df3..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>June, 2008</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor’s license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/build.properties b/plugins/org.eclipse.wst.common.project.facet.ui/build.properties
deleted file mode 100644
index 93e80e5..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/build.properties
+++ /dev/null
@@ -1,10 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = .,\
-               plugin.xml,\
-               plugin.properties,\
-               images/,\
-               schemas/,\
-               META-INF/,\
-               about.html,\
-               .options
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/images/down-arrow.gif b/plugins/org.eclipse.wst.common.project.facet.ui/images/down-arrow.gif
deleted file mode 100644
index ec79346..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/images/down-arrow.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/images/error-overlay.gif b/plugins/org.eclipse.wst.common.project.facet.ui/images/error-overlay.gif
deleted file mode 100644
index 119dccc..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/images/error-overlay.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/images/facets-page-wizban.png b/plugins/org.eclipse.wst.common.project.facet.ui/images/facets-page-wizban.png
deleted file mode 100644
index b91c116..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/images/facets-page-wizban.png
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/images/lock.gif b/plugins/org.eclipse.wst.common.project.facet.ui/images/lock.gif
deleted file mode 100644
index be6a9ad..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/images/lock.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/images/newprj_wiz.gif b/plugins/org.eclipse.wst.common.project.facet.ui/images/newprj_wiz.gif
deleted file mode 100644
index fbbac0f..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/images/newprj_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/images/primary-runtime-overlay.gif b/plugins/org.eclipse.wst.common.project.facet.ui/images/primary-runtime-overlay.gif
deleted file mode 100644
index 7ec574b..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/images/primary-runtime-overlay.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/images/unknown.gif b/plugins/org.eclipse.wst.common.project.facet.ui/images/unknown.gif
deleted file mode 100644
index 7ccc6a7..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/images/unknown.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/images/warning-overlay.gif b/plugins/org.eclipse.wst.common.project.facet.ui/images/warning-overlay.gif
deleted file mode 100644
index ee2dac4..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/images/warning-overlay.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/plugin.properties b/plugins/org.eclipse.wst.common.project.facet.ui/plugin.properties
deleted file mode 100644
index 90fb364..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/plugin.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-pluginName = Faceted Project Framework UI
-providerName = Eclipse.org
-project.facets = Project Facets
-runtimesPropertyPageLabel = Targeted Runtimes
-basicFacetedProjectWizardName = Faceted Project
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/plugin.xml b/plugins/org.eclipse.wst.common.project.facet.ui/plugin.xml
deleted file mode 100644
index 4516580..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/plugin.xml
+++ /dev/null
@@ -1,91 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-
-<plugin>
-
-  <extension-point 
-    id="wizard"
-    name="Project Facet Wizard Pages Extension Point (Deprecated)"
-    schema="schemas/wizard-pages-old.exsd"/>
-
-  <extension-point 
-    id="wizardPages"
-    name="Project Facet Wizard Pages Extension Point"
-    schema="schemas/wizard-pages.exsd"/>
-
-  <extension-point 
-    id="images"
-    name="Project Facet Images Extension Point"
-    schema="schemas/images.exsd"/>
-
-  <extension point="org.eclipse.core.runtime.adapters">
-    <factory 
-      class="org.eclipse.wst.common.project.facet.ui.internal.DecorationsProvider$Factory" 
-      adaptableType="org.eclipse.wst.common.project.facet.core.IProjectFacet">
-      <adapter type="org.eclipse.wst.common.project.facet.ui.IDecorationsProvider"/>
-    </factory>
-  </extension>
-
-  <extension point="org.eclipse.core.runtime.adapters">
-    <factory 
-      class="org.eclipse.wst.common.project.facet.ui.internal.DecorationsProvider$Factory" 
-      adaptableType="org.eclipse.wst.common.project.facet.core.ICategory">
-      <adapter type="org.eclipse.wst.common.project.facet.ui.IDecorationsProvider"/>
-    </factory>
-  </extension>
-
-  <extension point="org.eclipse.core.runtime.adapters">
-    <factory 
-      class="org.eclipse.wst.common.project.facet.ui.internal.DecorationsProvider$Factory" 
-      adaptableType="org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponentVersion">
-      <adapter type="org.eclipse.wst.common.project.facet.ui.IDecorationsProvider"/>
-    </factory>
-  </extension>
-  
-  <extension point="org.eclipse.core.runtime.adapters">
-    <factory 
-      class="org.eclipse.wst.common.project.facet.ui.internal.FacetedProjectActionFilter$Factory" 
-      adaptableType="org.eclipse.wst.common.project.facet.core.IFacetedProject">
-      <adapter type="org.eclipse.ui.IActionFilter"/>
-    </factory>
-  </extension>
-    
-  <extension point="org.eclipse.ui.propertyPages">
-    <page
-      adaptable="true"
-      class="org.eclipse.wst.common.project.facet.ui.internal.FacetsPropertyPage"
-      id="org.eclipse.wst.common.project.facet.ui.internal.FacetsPropertyPage"
-      name="%project.facets"
-      objectClass="org.eclipse.core.resources.IProject">
-      <filter
-        name="nature"
-        value="org.eclipse.wst.common.project.facet.core.nature">
-      </filter>
-    </page>
-    <page
-      adaptable="true"
-      class="org.eclipse.wst.common.project.facet.ui.internal.RuntimesPropertyPage"
-      id="org.eclipse.wst.common.project.facet.ui.internal.RuntimesPropertyPage"
-      name="%runtimesPropertyPageLabel"
-      objectClass="org.eclipse.core.resources.IProject">
-      <filter
-        name="nature"
-        value="org.eclipse.wst.common.project.facet.core.nature">
-      </filter>
-    </page>
-  </extension>
-  
-  <extension point="org.eclipse.ui.newWizards">
-    <wizard
-      canFinishEarly="false"
-      class="org.eclipse.wst.common.project.facet.ui.BasicFacetedProjectWizard"
-      hasPages="true"
-      icon="images/newprj_wiz.gif"
-      id="org.eclipse.wst.common.project.facet.examples.standalone.FacetedJavaProjectWizard"
-      name="%basicFacetedProjectWizardName"
-      project="true"
-      category="org.eclipse.ui.Basic">
-    </wizard>
-  </extension>
-
-</plugin>
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/schemas/images.exsd b/plugins/org.eclipse.wst.common.project.facet.ui/schemas/images.exsd
deleted file mode 100644
index 0016eb2..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/schemas/images.exsd
+++ /dev/null
@@ -1,134 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.common.project.facet.ui" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
-      <appinfo>
-         <meta.schema plugin="org.eclipse.wst.common.project.facet.ui" id="images" name="Project Facet Images Extension Point"/>
-      </appinfo>
-      <documentation>
-         Used for specifying the image that should be used with a facet, a category, or a runtime component type.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <annotation>
-         <appinfo>
-            <meta.element />
-         </appinfo>
-         <documentation>
-            (no description available)
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="image" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  A fully qualified identifier of the target extension point.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  An optional identifier of the extension instance.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  An optional name of the extension instance.
-               </documentation>
-               <appinfo>
-                  <meta.attribute translatable="true"/>
-               </appinfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="image">
-      <annotation>
-         <documentation>
-            Specifies the image that should be used with the specified facet, category, or runtime component type. Only one of the &lt;i&gt;facet&lt;/i&gt;, &lt;i&gt;category&lt;/i&gt;, and &lt;i&gt;runtime-component-type&lt;/i&gt; attributes should be used.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="facet" type="string">
-            <annotation>
-               <documentation>
-                  The project facet id.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="category" type="string">
-            <annotation>
-               <documentation>
-                  The category id.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="runtime-component-type" type="string">
-            <annotation>
-               <documentation>
-                  The runtime component type.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="path" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The relative path to the image within this plugin.
-               </documentation>
-               <appinfo>
-                  <meta.attribute kind="resource"/>
-               </appinfo>
-            </annotation>
-         </attribute>
-         <attribute name="version" type="string">
-            <annotation>
-               <documentation>
-                  This attribute is only applicable when specifying an image for a runtime component type. It specifies the version of the runtime component type that this image applies to. Multiple versions can be specified using version expression syntax. The version expression should be of the form &quot;2.2,2.5,[3.0-5.3],(7.3&quot;, where the comas function as an OR. Brackets and parenthesis are used as part of the range notation. A bracket means inclusive while a parenthesis means exclusive. If omitted, the image applies to all versions of the runtime component type.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-
-   <annotation>
-      <appinfo>
-         <meta.section type="examples"/>
-      </appinfo>
-      <documentation>
-         &lt;p&gt;The following example associates images with two facets and a category.&lt;/p&gt;
-
-&lt;pre&gt;
-&lt;extension point=&quot;org.eclipse.wst.common.project.facet.ui.images&quot;&gt;
-  &lt;image facet=&quot;facet1&quot; path=&quot;icons/facet1.gif&quot;/&gt;
-  &lt;image facet=&quot;facet2&quot; path=&quot;icons/facet2.gif&quot;/&gt;
-  &lt;image category=&quot;category1&quot; path=&quot;icons/category1.gif&quot;/&gt;
-&lt;/extension&gt;
-&lt;/pre&gt;
-      </documentation>
-   </annotation>
-
-
-
-   <annotation>
-      <appinfo>
-         <meta.section type="copyright"/>
-      </appinfo>
-      <documentation>
-         Copyright (c) 2005 BEA Systems, Inc. and others.&lt;br&gt;
-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 &lt;a
-href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/schemas/wizard-pages-old.exsd b/plugins/org.eclipse.wst.common.project.facet.ui/schemas/wizard-pages-old.exsd
deleted file mode 100644
index ed88971..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/schemas/wizard-pages-old.exsd
+++ /dev/null
@@ -1,200 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.common.project.facet.ui">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.wst.common.project.facet.ui" id="wizard" name="Project Facet Wizard Pages Extension Point"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <annotation>
-         <appInfo>
-            <meta.element deprecated="true"/>
-         </appInfo>
-         <documentation>
-            (no description available)
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="wizard-pages" minOccurs="1" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-               <appInfo>
-                  <meta.attribute deprecated="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-               <appInfo>
-                  <meta.attribute deprecated="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true" deprecated="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="wizard-pages">
-      <annotation>
-         <appInfo>
-            <meta.element deprecated="true"/>
-         </appInfo>
-         <documentation>
-            (no description available)
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="install" minOccurs="0" maxOccurs="1"/>
-            <element ref="uninstall" minOccurs="0" maxOccurs="1"/>
-         </sequence>
-         <attribute name="facet" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute deprecated="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="version" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute deprecated="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="install">
-      <annotation>
-         <appInfo>
-            <meta.element deprecated="true"/>
-         </appInfo>
-         <documentation>
-            (no description available)
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="page" minOccurs="1" maxOccurs="unbounded"/>
-         </sequence>
-      </complexType>
-   </element>
-
-   <element name="uninstall">
-      <annotation>
-         <appInfo>
-            <meta.element deprecated="true"/>
-         </appInfo>
-         <documentation>
-            (no description available)
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="page" minOccurs="1" maxOccurs="unbounded"/>
-         </sequence>
-      </complexType>
-   </element>
-
-   <element name="page">
-      <annotation>
-         <appInfo>
-            <meta.element deprecated="true"/>
-         </appInfo>
-         <documentation>
-            (no description available)
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.wst.common.project.facet.ui.IFacetWizardPage"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2005 BEA Systems, Inc. and others.&lt;br&gt;
-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 &lt;a
-href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/schemas/wizard-pages.exsd b/plugins/org.eclipse.wst.common.project.facet.ui/schemas/wizard-pages.exsd
deleted file mode 100644
index 7527de1..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/schemas/wizard-pages.exsd
+++ /dev/null
@@ -1,151 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.common.project.facet.ui">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.wst.common.project.facet.ui" id="wizardPages" name="Project Facet Wizard Pages Extension Point"/>
-      </appInfo>
-      <documentation>
-         Used for associating wizard pages with a project facet action. For instance, wizard pages can be associated with the action of installing facet Abc or uninstalling facet FooBar.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <annotation>
-         <documentation>
-            (no description available)
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="wizard-pages" minOccurs="1" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  A fully qualified identifier of the target extension point.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  An optional identifier of the extension instance.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  An optional name of the extension instance.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="wizard-pages">
-      <annotation>
-         <documentation>
-            Used for associating wizard pages with a project facet action. For instance, wizard pages can be associated with the action of installing facet Abc or uninstalling facet FooBar.
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="page" minOccurs="1" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="action" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The action id. If the action does not specify an explicit id, the default id is created using the following format: &quot;[facet-id]#[version-expression]#[action-type]&quot;.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="page">
-      <annotation>
-         <documentation>
-            Specifies one page in a sequence of wizard pages being associated with a project facet action.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The wizard page class name. Has to implement org.eclipse.wst.common.project.facet.ui.IFacetWizardPage interface.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.wst.common.project.facet.ui.IFacetWizardPage"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;The following example associates wizard pages with install and uninstall actions of facet1.&lt;/p&gt;
-
-&lt;pre&gt;
-&lt;extension point=&quot;org.eclipse.wst.common.project.facet.ui.wizardPages&quot;&gt;
-  &lt;wizard-pages action=&quot;facet1.install&quot;&gt;
-    &lt;page class=&quot;com.mycorp.Facet1InstallPage1&quot;/&gt;
-    &lt;page class=&quot;com.mycorp.Facet1InstallPage2&quot;/&gt;
-  &lt;/wizard-pages&gt;
-  &lt;wizard-pages action=&quot;facet1.uninstall&quot;&gt;
-    &lt;page class=&quot;com.mycorp.Facet1UninstallPage&quot;/&gt;
-  &lt;/wizard-pages&gt;
-&lt;/extension&gt;
-&lt;/pre&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2005 BEA Systems, Inc. and others.&lt;br&gt;
-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 &lt;a
-href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/AbstractFacetWizardPage.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/AbstractFacetWizardPage.java
deleted file mode 100644
index 7f64c2d..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/AbstractFacetWizardPage.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2008 BEA Systems, Inc.
- * 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:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui;
-
-import org.eclipse.jface.wizard.WizardPage;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public abstract class AbstractFacetWizardPage
-
-    extends WizardPage
-    implements IFacetWizardPage
-    
-{
-    protected IWizardContext context;
-    
-    public AbstractFacetWizardPage( final String name )
-    {
-        super( name );
-    }
-    
-    public final void setWizardContext( final IWizardContext context )
-    {
-        this.context = context;
-    }
-    
-    public void transferStateToConfig()
-    {
-        
-    }
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/AddRemoveFacetsWizard.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/AddRemoveFacetsWizard.java
deleted file mode 100644
index 39e39e8..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/AddRemoveFacetsWizard.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2008 BEA Systems, Inc.
- * 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:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui;
-
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- * @deprecated use ModifyFacetedProjectWizard class instead
- */
-
-public class AddRemoveFacetsWizard 
-
-    extends ModifyFacetedProjectWizard 
-    
-{
-    public AddRemoveFacetsWizard( final IFacetedProject fproj )
-    {
-        super( fproj );
-    }
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/BasicFacetedProjectWizard.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/BasicFacetedProjectWizard.java
deleted file mode 100644
index 523dcd0..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/BasicFacetedProjectWizard.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2008 BEA Systems, Inc.
- * 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:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui;
-
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.dialogs.WizardNewProjectCreationPage;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectWorkingCopy;
-
-/**
- * A basic wizard for creating faceted projects. This wizard is available directly
- * to the users as "Basic/Faceted Project" in the new project dialog, but can also
- * be subclassed.
- * 
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public class BasicFacetedProjectWizard 
-
-    extends ModifyFacetedProjectWizard 
-    implements INewWizard
-    
-{
-    private IWizardPage firstPage;
-    
-    public BasicFacetedProjectWizard()
-    {
-        this.setWindowTitle( Resources.wizardTitle );
-    }
-    
-    /**
-     * Returns the wizard's first page.
-     *  
-     * @return the wizard's first page
-     */
-    
-    public IWizardPage getFirstPage()
-    {
-    	return this.firstPage;
-    }
-    
-    /**
-     * Creates the first wizard page. Typically, this is where the user specifies the
-     * project name and location. The default implementation users a basic first page
-     * provided by the Eclipse Platform. Extenders can override this method in order 
-     * to supply a custom page. Anyone overriding this page will probably also need to
-     * override the {@link #getProjectName()} method.
-     * 
-     * @return the first page that will be used by this wizard
-     */
-    
-    protected IWizardPage createFirstPage()
-    {
-        final IWizardPage firstPage = new WizardNewProjectCreationPage( "first.page" ); //$NON-NLS-1$
-        firstPage.setTitle( Resources.wizardTitle );
-        firstPage.setDescription( Resources.firstPageDescription );
-        
-        return firstPage;
-    }
-    
-    /**
-     * Used by the wizard to retrieve the project name that the user specifies on the
-     * first page of the wizard. The default implementation works with any subclass of
-     * the {@link WizardNewProjectCreationPage} class. Extenders who override the
-     * {@link #createFirstPage()} method will probably also need to override this method.
-     * 
-     * @return the project name specified by the user
-     */
-    
-    protected String getProjectName()
-    {
-    	return ( (WizardNewProjectCreationPage) getFirstPage() ).getProjectName();
-    }
-    
-    public void addPages()
-    {
-        this.firstPage = createFirstPage();
-        addPage( this.firstPage );
-        super.addPages();
-    }
-    
-    public IWizardPage[] getPages()
-    {
-        final IWizardPage[] base = super.getPages();
-        final IWizardPage[] pages = new IWizardPage[ base.length + 1 ];
-        
-        pages[ 0 ] = this.firstPage;
-        System.arraycopy( base, 0, pages, 1, base.length );
-        
-        return pages;
-    }
-    
-    @Override
-    public IWizardPage getNextPage( final IWizardPage page )
-    {
-        if( page == this.firstPage )
-        {
-        	final IFacetedProjectWorkingCopy fpjwc = getFacetedProjectWorkingCopy();
-            fpjwc.setProjectName( getProjectName() );
-        }
-        
-        return super.getNextPage( page );
-    }
-
-    public boolean canFinish()
-    {
-        return this.firstPage.isPageComplete() && super.canFinish();
-    }
-    
-    public void init( final IWorkbench workbench, 
-                      final IStructuredSelection selection )
-    {
-        
-    }
-    
-    private static final class Resources
-    
-        extends NLS
-        
-    {
-        public static String wizardTitle;
-        public static String firstPageDescription;
-        
-        static
-        {
-            initializeMessages( BasicFacetedProjectWizard.class.getName(), 
-                                Resources.class );
-        }
-    }
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/BasicFacetedProjectWizard.properties b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/BasicFacetedProjectWizard.properties
deleted file mode 100644
index 1abde67..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/BasicFacetedProjectWizard.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-wizardTitle = Faceted Project
-firstPageDescription = Create a new faceted project resource.
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/FacetUiHelpContextIds.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/FacetUiHelpContextIds.java
deleted file mode 100644
index 611fa6c..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/FacetUiHelpContextIds.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2008 BEA Systems, Inc.
- * 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:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui;
-
-import org.eclipse.wst.common.project.facet.ui.internal.FacetUiPlugin;
-
-/**
- * Contains the help context ids defined in the facet UI plugin.
- * 
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public final class FacetUiHelpContextIds
-{
-    /**
-     * The help context id for the overall facets selection page:  
-     * "org.eclipse.wst.common.project.facet.ui.facetsSelectionPage".
-     */
-    
-    public static final String FACETS_SELECTION_PAGE
-        = FacetUiPlugin.PLUGIN_ID + ".facetsSelectionPage"; //$NON-NLS-1$
-    
-    private FacetUiHelpContextIds() {}
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/FacetedProjectWizard.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/FacetedProjectWizard.java
deleted file mode 100644
index 64bd769..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/FacetedProjectWizard.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2008 BEA Systems, Inc.
- * 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:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.dialogs.WizardNewProjectCreationPage;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectTemplate;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectWorkingCopy;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public abstract class FacetedProjectWizard 
-
-    extends ModifyFacetedProjectWizard 
-    implements INewWizard
-    
-{
-    private final IFacetedProjectTemplate template;
-    private WizardNewProjectCreationPage firstPage;
-    
-    public FacetedProjectWizard()
-    {
-        this.template = getTemplate();
-        
-        final IFacetedProjectWorkingCopy fpjwc = getFacetedProjectWorkingCopy();
-        fpjwc.setSelectedPreset( this.template.getInitialPreset().getId() );
-        fpjwc.setFixedProjectFacets( this.template.getFixedProjectFacets() );
-        
-        this.setWindowTitle( Resources.newPrefix + this.template.getLabel() );
-        
-        final ImageDescriptor defImageDescriptor = getDefaultPageImageDescriptor();
-        
-        if( defImageDescriptor != null )
-        {
-            this.setDefaultPageImageDescriptor( defImageDescriptor );
-        }
-    }
-    
-    public void init( final IWorkbench workbench, 
-                      final IStructuredSelection selection )
-    {
-        
-    }
-    
-    public void addPages()
-    {
-        this.firstPage = new WizardNewProjectCreationPage( "first.page" ); //$NON-NLS-1$
-        this.firstPage.setTitle( this.template.getLabel() );
-        this.firstPage.setDescription( getPageDescription() );
-    
-        addPage( this.firstPage );
-        
-        super.addPages();
-    }
-    
-    public boolean canFinish()
-    {
-        return this.firstPage.isPageComplete() && super.canFinish();
-    }
-    
-    public IWizardPage[] getPages()
-    {
-        final IWizardPage[] base = super.getPages();
-        final IWizardPage[] pages = new IWizardPage[ base.length + 1 ];
-        
-        pages[ 0 ] = this.firstPage;
-        System.arraycopy( base, 0, pages, 1, base.length );
-        
-        return pages;
-    }
-    
-    @Override
-    public IWizardPage getNextPage( final IWizardPage page )
-    {
-        if( page == this.firstPage )
-        {
-            final IFacetedProjectWorkingCopy fpjwc = getFacetedProjectWorkingCopy();
-            fpjwc.setProjectName( this.firstPage.getProjectName() );
-            fpjwc.setProjectLocation( this.firstPage.getLocationPath() );
-        }
-        
-        return super.getNextPage( page );
-    }
-
-    protected abstract IFacetedProjectTemplate getTemplate();
-    protected abstract String getPageDescription();
-    protected abstract ImageDescriptor getDefaultPageImageDescriptor();
-
-    private static final class Resources
-    
-        extends NLS
-        
-    {
-        public static String newPrefix;
-        
-        static
-        {
-            initializeMessages( FacetedProjectWizard.class.getName(), 
-                                Resources.class );
-        }
-    }
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/FacetedProjectWizard.properties b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/FacetedProjectWizard.properties
deleted file mode 100644
index 260c699..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/FacetedProjectWizard.properties
+++ /dev/null
@@ -1 +0,0 @@
-newPrefix = New\ 
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/IDecorationsProvider.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/IDecorationsProvider.java
deleted file mode 100644
index bc7a847..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/IDecorationsProvider.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2008 BEA Systems, Inc.
- * 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:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public interface IDecorationsProvider
-{
-    ImageDescriptor getIcon();
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/IFacetWizardPage.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/IFacetWizardPage.java
deleted file mode 100644
index 25aa25b..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/IFacetWizardPage.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2008 BEA Systems, Inc.
- * 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:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui;
-
-import org.eclipse.jface.wizard.IWizardPage;
-
-/**
- * This interface is implemented by the wizard pages associated with project
- * facet actions.
- * 
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public interface IFacetWizardPage
-
-    extends IWizardPage
-    
-{
-    /**
-     * The framework will call this method in order to provide the wizard
-     * context to the wizard page. The wizard context can be used to find out
-     * about other actions being configured by the wizard.
-     * 
-     * @param context the wizard context
-     */
-    
-    void setWizardContext( IWizardContext context );
-    
-    /**
-     * The framework will call this method in order to provide the action config
-     * object that the wizard page should save user selection into. The
-     * populated config object will then be passed to the action delegate.
-     * 
-     * @param config the action config object
-     */
-    
-    void setConfig( Object config );
-    
-    /**
-     * This method is called after the user has pressed the <code>Finish</code>
-     * button. It allows the wizard page to transfer user selection into the
-     * config object. Alternative, instead of using this method, the wizard
-     * page could update the model on the fly as the user is making changes.
-     */
-
-    void transferStateToConfig();
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/IRuntimeComponentLabelProvider.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/IRuntimeComponentLabelProvider.java
deleted file mode 100644
index 0c18f70..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/IRuntimeComponentLabelProvider.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2008 BEA Systems, Inc.
- * 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:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public interface IRuntimeComponentLabelProvider
-{
-    String getLabel();
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/IWizardContext.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/IWizardContext.java
deleted file mode 100644
index 0936d2c..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/IWizardContext.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2008 BEA Systems, Inc.
- * 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:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui;
-
-import java.util.Set;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject.Action;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject.Action.Type;
-
-/**
- * The interface exposed to the facet action wizard pages that allows them
- * to gather information about the wizard state.
- * 
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public interface IWizardContext 
-{
-    /**
-     * Returns the name of the project that the wizard is operating on. If the
-     * wizard is in the project creation mode, the project will not yet exist
-     * in the workspace.
-     * 
-     * @return the name of the project that the wizard is operating on
-     */
-    
-    String getProjectName();
-    
-    /**
-     * Returns the set of facets currently selected in the wizard. If the wizard
-     * is in the add/remove facets mode (vs. project creation), this method will 
-     * return the set of facets currently installed in a project after being 
-     * modified by the current set of actions. 
-     * 
-     * @return the set of facets currently selected in the wizard (element type:
-     *   {@link IProjectFacetVersion})
-     */
-    
-    Set getSelectedProjectFacets();
-    
-    /**
-     * Determines whether the specified facet is currently selected in the
-     * wizard. See {@link #getSelectedProjectFacets()} for more information.
-     * 
-     * @param fv the project facet version object
-     * @return <code>true</code> if an only if the provided project facet is
-     *   currently selected in the wizard
-     */
-    
-    boolean isProjectFacetSelected( IProjectFacetVersion fv );
-    
-    /**
-     * Returns the set of actions currently specified by the user.
-     * 
-     * @return the set of actions currently specified by the user
-     */
-    
-    Set getActions();
-    
-    /**
-     * Finds the action of specified type that applies to the specified facet,
-     * if such action exists. If the wizard is in the add/remove facets mode
-     * (vs. project creation), you cannot depend on finding the install action
-     * for a required facet as that facet may have already been installed.
-     * 
-     * @param type the action type
-     * @param fv the project facet version object
-     * @return the action object or <code>null</code>
-     */
-    
-    Action getAction( Action.Type type,
-                      IProjectFacetVersion fv );
-    
-    /**
-     * Do not use! This method is internal and will be removed.
-     */
-    
-	Object getConfig(IProjectFacetVersion fv, Type type, String pjname) throws CoreException;
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/ModifyFacetedProjectWizard.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/ModifyFacetedProjectWizard.java
deleted file mode 100644
index 53e9857..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/ModifyFacetedProjectWizard.java
+++ /dev/null
@@ -1,870 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2008 BEA Systems, Inc.
- * 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:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.wizard.IWizardContainer;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.wst.common.project.facet.core.FacetedProjectFramework;
-import org.eclipse.wst.common.project.facet.core.IActionDefinition;
-import org.eclipse.wst.common.project.facet.core.ICategory;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectWorkingCopy;
-import org.eclipse.wst.common.project.facet.core.IPreset;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject.Action;
-import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectEvent;
-import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectListener;
-import org.eclipse.wst.common.project.facet.core.util.IFilter;
-import org.eclipse.wst.common.project.facet.core.util.IFilter.IFilterEvent;
-import org.eclipse.wst.common.project.facet.core.util.IFilter.IFilterListener;
-import org.eclipse.wst.common.project.facet.ui.internal.FacetUiPlugin;
-import org.eclipse.wst.common.project.facet.ui.internal.FacetsSelectionPage;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public class ModifyFacetedProjectWizard 
-
-    extends Wizard 
-    
-{
-    private IFacetedProjectWorkingCopy fpjwc;
-    private final WizardContext context = new WizardContext(); 
-    private boolean showFacetsSelectionPage;
-    private FacetsSelectionPage facetsSelectionPage;
-    private FacetPages[] facetPages = new FacetPages[ 0 ];
-    private Composite pageContainer;
-    private final List<IWizardPage> pagesToDispose = new ArrayList<IWizardPage>();
-    private final List<Runnable> delayedActions;
-    private final List<Runnable> onDisposeActions;
-    private final boolean disposeWorkingCopy;
-    
-    public ModifyFacetedProjectWizard()
-    {
-        this( (IFacetedProject) null );
-    }
-    
-    public ModifyFacetedProjectWizard( final IFacetedProject fproj )
-    {
-        this( fproj == null
-              ? FacetedProjectFramework.createNewProject() 
-              : fproj.createWorkingCopy(), true );
-    }
-
-    public ModifyFacetedProjectWizard( final IFacetedProjectWorkingCopy fpjwc )
-    {
-    	this( fpjwc, false );
-    }
-
-    private ModifyFacetedProjectWizard( final IFacetedProjectWorkingCopy fpjwc,
-    		                            final boolean disposeWorkingCopy )
-    {
-        try
-        {
-            this.fpjwc = fpjwc;
-            this.delayedActions = new ArrayList<Runnable>();
-            this.onDisposeActions = new ArrayList<Runnable>();
-            this.disposeWorkingCopy = disposeWorkingCopy;
-            this.facetsSelectionPage = null;
-            this.showFacetsSelectionPage = true;
-            
-            setNeedsProgressMonitor( true );
-            setForcePreviousAndNextButtons( true );
-            setWindowTitle( Resources.wizardTitle );
-        }
-        catch( RuntimeException e )
-        {
-            FacetUiPlugin.log( e );
-            throw e;
-        }
-    }
-    
-    public final IFacetedProjectWorkingCopy getFacetedProjectWorkingCopy()
-    {
-        return this.fpjwc;
-    }
-    
-    public void setFacetedProjectWorkingCopy( final IFacetedProjectWorkingCopy fpjwc )
-    {
-        this.fpjwc = fpjwc;
-    }
-    
-    public final IFacetedProject getFacetedProject()
-    {
-        IFacetedProject fproj = this.fpjwc.getFacetedProject();
-        
-        if( fproj == null )
-        {
-            final String projectName = this.fpjwc.getProjectName();
-            
-            if( projectName != null )
-            {
-                final IProject proj 
-                    = ResourcesPlugin.getWorkspace().getRoot().getProject( projectName );
-                
-                try
-                {
-                    fproj = ProjectFacetsManager.create( proj );
-                }
-                catch( CoreException e )
-                {
-                    FacetUiPlugin.log( e );
-                }
-            }
-        }
-        
-        return fproj;
-    }
-    
-    public void addPages()
-    {
-        final IFacetedProjectListener listener = new IFacetedProjectListener()
-        {
-            public void handleEvent( final IFacetedProjectEvent event ) 
-            {
-                final Runnable runnable = new Runnable()
-                {
-                    public void run()
-                    {
-                        handleSelectedFacetsChangedEvent();
-                    }
-                };
-                
-                Display.getDefault().asyncExec( runnable );
-            }
-        };
-
-    	this.fpjwc.addListener( listener, IFacetedProjectEvent.Type.PROJECT_FACETS_CHANGED );
-    	
-    	this.onDisposeActions.add
-    	(
-    		new Runnable()
-    		{
-    			public void run()
-    			{
-    				ModifyFacetedProjectWizard.this.fpjwc.removeListener( listener );
-    			}
-    		}
-        );
-        
-        if( getShowFacetsSelectionPage() )
-        {
-            this.facetsSelectionPage = new FacetsSelectionPage( getBaseFacets(), this.fpjwc );
-            addPage( this.facetsSelectionPage );
-        }
-    }
-    
-    public int getPageCount()
-    {
-        return getPages().length;
-    }
-
-    public IWizardPage[] getPages()
-    {
-        final List<IWizardPage> list = new ArrayList<IWizardPage>();
-        
-        if( this.facetsSelectionPage != null )
-        {
-            list.add( this.facetsSelectionPage );
-        }
-        
-        for( int i = 0; i < this.facetPages.length; i++ )
-        {
-            list.addAll( this.facetPages[ i ].pages );
-        }
-        
-        return list.toArray( new IWizardPage[ list.size() ] );
-    }
-    
-    public IWizardPage getPage( final String pageName )
-    {
-        final IWizardPage[] pages = getPages();
-        
-        for( int i = 0; i < pages.length; i++ )
-        {
-            final IWizardPage page = pages[ i ];
-            
-            if( page.getName().equals( pageName ) )
-            {
-                return page;
-            }
-        }
-        
-        return null;
-    }
-    
-    public IWizardPage getStartingPage()
-    {
-        return getPages()[ 0 ];
-    }
-    
-    public IWizardPage getNextPage( final IWizardPage page )
-    {
-        final IWizardPage[] pages = getPages();
-        
-        int pos = -1;
-        
-        for( int i = 0; i < pages.length; i++ )
-        {
-            if( pages[ i ] == page )
-            {
-                pos = i;
-            }
-        }
-        
-        if( pos == pages.length - 1 )
-        {
-            return null;
-        }
-        else
-        {
-            return pages[ pos + 1 ];
-        }
-    }
-
-    public IWizardPage getPreviousPage( final IWizardPage page )
-    {
-        final IWizardPage[] pages = getPages();
-        
-        int pos = -1;
-        
-        for( int i = 0; i < pages.length; i++ )
-        {
-            if( pages[ i ] == page )
-            {
-                pos = i;
-            }
-        }
-        
-        if( pos == 0 )
-        {
-            return null;
-        }
-        else
-        {
-            return pages[ pos - 1 ];
-        }
-    }
-    
-    public boolean canFinish()
-    {
-        if( this.facetsSelectionPage != null && ! this.facetsSelectionPage.isPageComplete() )
-        {
-            return false;
-        }
-        
-        final IWizardPage[] pages = getPages();
-        
-        for( int i = 0; i < pages.length; i++ )
-        {
-            if( ! pages[ i ].isPageComplete() )
-            {
-                return false;
-            }
-        }
-        
-        return true;
-    }
-    
-    public void createPageControls( final Composite container )
-    {
-        super.createPageControls( container );
-        this.pageContainer = container;
-        handleSelectedFacetsChangedEvent();
-        executeDelayedActions();
-    }
-    
-    public boolean performFinish() 
-    {
-        for( int i = 0; i < this.facetPages.length; i++ )
-        {
-            for( IFacetWizardPage fp : this.facetPages[ i ].pages )
-            {
-                fp.transferStateToConfig();
-            }
-        }
-        
-        final IWorkspaceRunnable wr = new IWorkspaceRunnable()
-        {
-            public void run( final IProgressMonitor monitor ) 
-            
-                throws CoreException
-                
-            {
-                performFinish( monitor );
-            }
-        };
-        
-        final IRunnableWithProgress op = new IRunnableWithProgress()
-        {
-            public void run( final IProgressMonitor monitor ) 
-            
-                throws InvocationTargetException, InterruptedException
-                
-            {
-                try
-                {
-                    final IWorkspace ws = ResourcesPlugin.getWorkspace();
-                    ws.run( wr, ws.getRoot(), IWorkspace.AVOID_UPDATE, monitor );
-                }
-                catch( CoreException e )
-                {
-                    throw new InvocationTargetException( e );
-                }
-            }
-        };
-
-        try 
-        {
-            getContainer().run( true, false, op );
-        }
-        catch( InterruptedException e ) 
-        {
-            return false;
-        } 
-        catch( InvocationTargetException e ) 
-        {
-            final Throwable te = e.getTargetException();
-            
-            if( te instanceof CoreException )
-            {
-                final IStatus st = ( (CoreException) te ).getStatus();
-                
-                ErrorDialog.openError( getShell(), Resources.errDlgTitle,
-                                       st.getMessage(), st );
-                
-                FacetUiPlugin.log( st );
-            }
-            else
-            {
-                throw new RuntimeException( e.getTargetException() );
-            }
-        }
-        
-        return true;
-    }
-
-    protected void performFinish( final IProgressMonitor monitor )
-    
-        throws CoreException
-        
-    {
-        this.fpjwc.commitChanges( monitor );
-    }
-    
-    public void syncWithPresetsModel( final Combo combo )
-    {
-        syncWithPresetsModel( this.fpjwc, combo );
-    }
-	
-    public static void syncWithPresetsModel( final IFacetedProjectWorkingCopy fpjwc,
-                                             final Combo combo )
-    {
-        syncWithPresetsModel( fpjwc, combo, null );
-    }
-    
-	public static void syncWithPresetsModel( final IFacetedProjectWorkingCopy fpjwc,
-	                                         final Combo combo,
-                                             final IFilter<IPreset> filter )
-	{
-        final List<IPreset> sortedPresets = new ArrayList<IPreset>();
-        
-        // Contents : model -> view
-
-        final IFacetedProjectListener availablePresetsChangedListener = new IFacetedProjectListener()
-        {
-            public void handleEvent( final IFacetedProjectEvent event )
-            {
-                final Runnable runnable = new Runnable()
-                {
-                    public void run()
-                    {
-                        synchronized( sortedPresets )
-                        {
-                            sortedPresets.clear();
-                            
-                            if( filter != null )
-                            {
-                                for( IPreset preset : fpjwc.getAvailablePresets() )
-                                {
-                                    if( filter.check( preset ) )
-                                    {
-                                        sortedPresets.add( preset );
-                                    }
-                                }
-                            }
-                            else
-                            {
-                                sortedPresets.addAll( fpjwc.getAvailablePresets() );
-                            }
-                            
-                            Collections.sort
-                            (
-                                sortedPresets,
-                                new Comparator<IPreset>()
-                                {
-                                    public int compare( final IPreset p1, 
-                                                        final IPreset p2 ) 
-                                    {
-                                        if( p1 == p2 )
-                                        {
-                                            return 0;
-                                        }
-                                        else
-                                        {
-                                            return p1.getLabel().compareTo( p2.getLabel() );
-                                        }
-                                    }
-                                }
-                            );
-                            
-                            final IPreset selectedPreset = fpjwc.getSelectedPreset();
-                            
-                            combo.removeAll();
-                            combo.add( Resources.customPreset );
-                            
-                            if( selectedPreset == null )
-                            {
-                                combo.select( 0 );
-                            }
-                            
-                            for( IPreset preset : sortedPresets )
-                            {
-                                combo.add( preset.getLabel() );
-                                
-                                if( selectedPreset != null && 
-                                    preset.getId().equals( selectedPreset.getId() ) )
-                                {
-                                    combo.select( combo.getItemCount() - 1 );
-                                }
-                            }
-                        }
-                    }
-                };
-                
-                Display.getDefault().asyncExec( runnable );
-            }
-        };
-        
-        fpjwc.addListener( availablePresetsChangedListener, 
-                           IFacetedProjectEvent.Type.AVAILABLE_PRESETS_CHANGED );
-        
-        if( filter != null )
-        {
-            filter.addListener
-            (
-                new IFilterListener<IPreset>()
-                {
-                    public void handleEvent( final IFilterEvent<IPreset> event )
-                    {
-                        availablePresetsChangedListener.handleEvent( null );
-                    }
-                },
-                IFilterEvent.Type.FILTER_CHANGED 
-            );
-        }
-        
-        final IFacetedProjectListener selectedPresetChangedListener = new IFacetedProjectListener()
-        {
-            public void handleEvent( final IFacetedProjectEvent event )
-            {
-                final Runnable runnable = new Runnable()
-                {
-                    public void run()
-                    {
-                        synchronized( sortedPresets )
-                        {
-                            final IPreset preset = fpjwc.getSelectedPreset();
-                            final int index;
-                            
-                            if( preset == null )
-                            {
-                                index = -1;
-                            }
-                            else
-                            {
-                                index = sortedPresets.indexOf( preset );
-                            }
-                            
-                            combo.select( index + 1 );
-                        }
-                    }
-                };
-                
-                Display.getDefault().asyncExec( runnable );
-            }
-        };
-        
-        fpjwc.addListener( selectedPresetChangedListener,
-                           IFacetedProjectEvent.Type.SELECTED_PRESET_CHANGED );
-        
-        // Selection : view -> model
-        
-        combo.addSelectionListener
-        (
-            new SelectionAdapter()
-            {
-                public void widgetSelected( final SelectionEvent e )
-                {
-                    synchronized( sortedPresets )
-                    {
-                        final int selection = combo.getSelectionIndex();
-                        final String presetId;
-                        
-                        if( selection == 0 )
-                        {
-                            presetId = null;
-                        }
-                        else
-                        {
-                            presetId = sortedPresets.get( selection - 1 ).getId();
-                        }
-                        
-                        fpjwc.setSelectedPreset( presetId );
-                    }
-                }
-            }
-        );
-        
-        // Trigger initial UI population.
-        
-        availablePresetsChangedListener.handleEvent( null );
-        
-        // Make sure to remove working copy listeners when the widget is disposed.
-        
-        combo.addDisposeListener
-        (
-            new DisposeListener()
-            {
-                public void widgetDisposed( final DisposeEvent event )
-                {
-                    fpjwc.removeListener( availablePresetsChangedListener );
-                    fpjwc.removeListener( selectedPresetChangedListener );
-                }
-            }
-        );
-    }
-    
-    public void setCategoryExpandedState( final ICategory category,
-                                          final boolean expanded )
-    {
-        if( this.facetsSelectionPage != null && this.facetsSelectionPage.panel != null )
-        {
-            this.facetsSelectionPage.panel.setCategoryExpandedState( category, true );
-        }
-        else
-        {
-            final Runnable action = new Runnable()
-            {
-                public void run()
-                {
-                    setCategoryExpandedState( category, expanded );
-                }
-            };
-            
-            this.delayedActions.add( action );
-        }
-    }
-    
-    public boolean getShowFacetsSelectionPage()
-    {
-        return this.showFacetsSelectionPage;
-    }
-    
-    public void setShowFacetsSelectionPage( final boolean showFacetsSelectionPage )
-    {
-        this.showFacetsSelectionPage = showFacetsSelectionPage;
-    }
-    
-    public void dispose()
-    {
-        super.dispose();
-        
-        for( int i = 0; i < this.facetPages.length; i++ )
-        {
-            this.pagesToDispose.addAll( this.facetPages[ i ].pages );
-        }
-        
-        for( IWizardPage page : this.pagesToDispose )
-        {
-            page.dispose();
-        }
-        
-        for( Runnable onDisposeAction : this.onDisposeActions )
-        {
-        	try
-        	{
-        		onDisposeAction.run();
-        	}
-        	catch( Exception e )
-        	{
-        		FacetUiPlugin.log( e );
-        	}
-        }
-        
-        if( this.disposeWorkingCopy )
-        {
-        	this.fpjwc.dispose();
-        }
-    }
-    
-    private static final class FacetPages
-    {
-        public Action action;
-        public List<IFacetWizardPage> pages;
-    }
-    
-    private void handleSelectedFacetsChangedEvent()
-    {
-        // Don't do anything until there are no more validation errors.
-        
-        if( this.fpjwc.validate().getSeverity() == IStatus.ERROR)
-        {
-            return;
-        }
-        
-        // Get the set of actions and sort them.
-        
-        final Set<IProjectFacetVersion> base = getBaseFacets();
-        final Set<Action> actions = getFacetedProjectWorkingCopy().getProjectFacetActions();
-        final List<Action> sortedActions = new ArrayList<Action>( actions );
-        ProjectFacetsManager.sort( base, sortedActions );
-        
-        // Recalculate the sequence of wizard pages.
-        
-        final List<FacetPages> newFacetPages = new ArrayList<FacetPages>();
-        final boolean[] markers = new boolean[ this.facetPages.length ];
-        boolean changed = false;
-        
-        for( Action action : sortedActions )
-        {
-            final IProjectFacetVersion fv = action.getProjectFacetVersion();
-            FacetPages fp = findFacetPages( action, markers );
-            
-            if( fp == null )
-            {
-                final IActionDefinition actiondef;
-                
-                try
-                {
-                    actiondef = fv.getActionDefinition( base, action.getType() );
-                }
-                catch( CoreException e )
-                {
-                    FacetUiPlugin.log( e );
-                    continue;
-                }
-                
-                final List<IFacetWizardPage> pages
-                    = ProjectFacetsUiManager.getWizardPages( actiondef.getId() );
-                
-                if( ! pages.isEmpty() )
-                {
-                    fp = new FacetPages();
-                    fp.action = action;
-                    fp.pages = pages;
-                    
-                    for( IFacetWizardPage page : fp.pages )
-                    {
-                        page.setWizard( this );
-                        page.setWizardContext( this.context );
-                        page.setConfig( action.getConfig() );
-                        
-                        if( page.getControl() == null ) 
-                        {
-                            page.createControl( this.pageContainer );
-                            page.getControl().setVisible( false );
-                        }
-                    }
-                    
-                    changed = true;
-                }
-            }
-            
-            if( fp != null )
-            {
-                newFacetPages.add( fp );
-            }
-        }
-        
-        for( int i = 0; i < this.facetPages.length; i++ )
-        {
-            if( ! markers[ i ] )
-            {
-                for( IFacetWizardPage page : this.facetPages[ i ].pages )
-                {
-                    page.setWizard( null );
-                    this.pagesToDispose.add( page );
-                }
-                
-                changed = true;
-            }
-        }
-        
-        if( changed )
-        {
-            this.facetPages = new FacetPages[ newFacetPages.size() ];
-            newFacetPages.toArray( this.facetPages );
-            
-            this.pageContainer.layout( true, true );
-            
-            final IWizardContainer wizardContainer = getContainer();
-            
-            if( wizardContainer.getCurrentPage() != null )
-            {
-                wizardContainer.updateButtons();
-            }
-        }
-    }
-    
-    private FacetPages findFacetPages( final Action action,
-                                       final boolean[] markers )
-    {
-        for( int i = 0; i < this.facetPages.length; i++ )
-        {
-            final FacetPages fp = this.facetPages[ i ];
-            
-            if( fp.action == action )
-            {
-                markers[ i ] = true;
-                return fp;
-            }
-        }
-        
-        return null;
-    }
-    
-    private Set<IProjectFacetVersion> getBaseFacets()
-    {
-        final IFacetedProject fproj = this.fpjwc.getFacetedProject();
-        
-        if( fproj == null )
-        {
-            return Collections.emptySet();
-        }
-        else
-        {
-            return fproj.getProjectFacets();
-        }
-    }
-    
-    private void executeDelayedActions()
-    {
-        for( Runnable r : this.delayedActions )
-        {
-            try
-            {
-                r.run();
-            }
-            catch( Exception e )
-            {
-                FacetUiPlugin.log( e );
-            }
-        }
-    }
-
-    /**
-     * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
-     */
-
-    private final class WizardContext
-
-        implements IWizardContext
-        
-    {
-        public String getProjectName()
-        {
-            return getFacetedProjectWorkingCopy().getProjectName();
-        }
-
-        public Set<IProjectFacetVersion> getSelectedProjectFacets()
-        {
-            return getFacetedProjectWorkingCopy().getProjectFacets();
-        }
-
-        public boolean isProjectFacetSelected( final IProjectFacetVersion fv )
-        {
-            return getSelectedProjectFacets().contains( fv );
-        }
-
-        public Set<Action> getActions()
-        {
-            return getFacetedProjectWorkingCopy().getProjectFacetActions();
-        }
-
-        public Action getAction( final Action.Type type,
-                                 final IProjectFacetVersion f )
-        {
-            for( Action action : getActions() )
-            {
-                if( action.getType() == type && action.getProjectFacetVersion() == f )
-                {
-                    return action;
-                }
-            }
-            
-            return null;
-        }
-        
-        public Object getConfig( final IProjectFacetVersion fv, 
-                                 final Action.Type type, 
-                                 final String pjname )
-        {
-            final Action action = getAction( type, fv );
-            return action != null ? action.getConfig() : null;
-        }
-    }
-    
-    private static final class Resources
-    
-        extends NLS
-        
-    {
-        public static String wizardTitle;
-        public static String errDlgTitle;
-        public static String customPreset;
-        
-        static
-        {
-            initializeMessages( ModifyFacetedProjectWizard.class.getName(), 
-                                Resources.class );
-        }
-    }
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/ModifyFacetedProjectWizard.properties b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/ModifyFacetedProjectWizard.properties
deleted file mode 100644
index 9de1171..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/ModifyFacetedProjectWizard.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-wizardTitle = Modify Faceted Project
-errDlgTitle = Error
-customPreset = <custom>
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/PresetSelectionPanel.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/PresetSelectionPanel.java
deleted file mode 100644
index 2c41ece..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/PresetSelectionPanel.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2008 BEA Systems, Inc.
- * 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:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui;
-
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdhfill;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdhspan;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectWorkingCopy;
-import org.eclipse.wst.common.project.facet.core.IPreset;
-import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectEvent;
-import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectListener;
-import org.eclipse.wst.common.project.facet.core.util.IFilter;
-import org.eclipse.wst.common.project.facet.ui.internal.FacetsSelectionDialog;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public final class PresetSelectionPanel
-
-    extends Composite
-    
-{
-    private final Group group;
-    private final Combo presetsCombo;
-    private final Button modifyButton;
-    private final Text descTextField;
-    private final IFacetedProjectWorkingCopy fpjwc;
-    
-    public PresetSelectionPanel( final Composite parent,
-                                 final IFacetedProjectWorkingCopy fpjwc )
-    {
-        this( parent, fpjwc, null );
-    }
-
-    public PresetSelectionPanel( final Composite parent,
-                                 final IFacetedProjectWorkingCopy fpjwc,
-                                 final IFilter<IPreset> filter )
-    {
-        super( parent, SWT.NONE );
-        
-        Dialog.applyDialogFont( parent );
-        
-        this.fpjwc = fpjwc;
-        
-        GridLayout layout = new GridLayout( 1, false );
-        layout.marginHeight = 0;
-        layout.marginWidth = 0;
-        
-        setLayout( layout );
-        
-        this.group = new Group( this, SWT.NONE );
-        this.group.setLayout( new GridLayout( 2, false ) );
-        this.group.setLayoutData( gdhfill() );
-        this.group.setText( Resources.groupTitle );
-        
-        this.presetsCombo = new Combo( this.group, SWT.BORDER | SWT.READ_ONLY );
-        this.presetsCombo.setLayoutData( gdhfill() );
-        
-        this.modifyButton = new Button( this.group, SWT.PUSH );
-        this.modifyButton.setText( Resources.modifyButtonLabel );
-        
-        this.modifyButton.addSelectionListener
-        (
-            new SelectionAdapter()
-            {
-                @Override
-                public void widgetSelected( final SelectionEvent event )
-                {
-                    handleModifyButtonPressed();
-                }
-            }
-        );
-        
-        this.descTextField = new Text( this.group, SWT.READ_ONLY | SWT.WRAP );
-   
-        final GridData gd = gdhspan( gdhfill(), 2 );
-        gd.widthHint = 400;
-        gd.minimumHeight = 30;
-        gd.grabExcessVerticalSpace = true;
-        
-        this.descTextField.setLayoutData( gd );
-        
-        refreshDescription();
-        
-        this.fpjwc.addListener
-        ( 
-            new IFacetedProjectListener()
-            {
-                public void handleEvent( final IFacetedProjectEvent event )
-                {
-                    final Runnable runnable = new Runnable()
-                    {
-                        public void run()
-                        {
-                            refreshDescription();
-                        }
-                    };
-                    
-                    Display.getDefault().asyncExec( runnable );
-                }
-            },
-            IFacetedProjectEvent.Type.SELECTED_PRESET_CHANGED
-        );
-        
-        ModifyFacetedProjectWizard.syncWithPresetsModel( this.fpjwc, this.presetsCombo, filter );
-    }
-    
-    private void refreshDescription()
-    {
-        final IPreset preset = this.fpjwc.getSelectedPreset();
-        
-        final String desc;
-        
-        if( preset == null )
-        {
-            desc = Resources.hint;
-        }
-        else
-        {
-            desc = preset.getDescription();
-        }
-        
-        this.descTextField.setText( desc );
-        
-        final int currentHeight = this.descTextField.getSize().y;;
-        ( (GridData) this.descTextField.getLayoutData() ).minimumHeight = currentHeight;
-
-        final Shell shell = getShell();
-        shell.layout( true, true );
-        final Point currentSize = shell.getSize();
-        final Point preferredSize = shell.computeSize( currentSize.x - 30, SWT.DEFAULT );
-        
-        if( preferredSize.y > currentSize.y )
-        {
-            shell.setSize( currentSize.x, preferredSize.y );
-        }
-    }
-    
-    private void handleModifyButtonPressed()
-    {
-        FacetsSelectionDialog.openDialog( getShell(), this.fpjwc );
-    }
-    
-    private static final class Resources
-    
-        extends NLS
-        
-    {
-        public static String groupTitle;
-        public static String hint;
-        public static String modifyButtonLabel;
-        
-        static
-        {
-            initializeMessages( PresetSelectionPanel.class.getName(), 
-                                Resources.class );
-        }
-    }
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/PresetSelectionPanel.properties b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/PresetSelectionPanel.properties
deleted file mode 100644
index 6f3ed35..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/PresetSelectionPanel.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-groupTitle = Configuration
-hint = Hint: Get started quickly by selecting one of the pre-defined project configurations.
-modifyButtonLabel = Modify...
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/ProjectFacetsUiManager.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/ProjectFacetsUiManager.java
deleted file mode 100644
index ab6eede..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/ProjectFacetsUiManager.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2008 BEA Systems, Inc.
- * 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:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui;
-
-import java.util.List;
-
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject.Action;
-import org.eclipse.wst.common.project.facet.ui.internal.ProjectFacetsUiManagerImpl;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public final class ProjectFacetsUiManager 
-{
-    private ProjectFacetsUiManager() {}
-    
-    public static List<IFacetWizardPage> getWizardPages( final String actionId )
-    {
-        return ProjectFacetsUiManagerImpl.getWizardPages( actionId );
-    }
-
-    /**
-     * @return (element type: {@link IFacetWizardPage})
-     * @deprecated
-     */
-    
-    public static List getWizardPages( final Action.Type actionType,
-                                       final IProjectFacetVersion f )
-    {
-        return ProjectFacetsUiManagerImpl.getWizardPages( actionType, f );
-    }
-
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/CategoryDetailsPanel.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/CategoryDetailsPanel.java
deleted file mode 100644
index 413270f..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/CategoryDetailsPanel.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2008 BEA Systems, Inc.
- * 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:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal;
-
-import static org.eclipse.jface.resource.JFaceResources.getFontRegistry;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdhfill;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gl;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.glmargins;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.common.project.facet.core.ICategory;
-import org.eclipse.wst.common.project.facet.ui.internal.util.ImageWithTextComposite;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public final class CategoryDetailsPanel
-
-    extends Composite
-
-{
-    public CategoryDetailsPanel( final Composite parent,
-                                 final FacetsSelectionPanel facetsSelectionPanel,
-                                 final ICategory category )
-    {
-        super( parent, SWT.NONE );
-        
-        setLayout( glmargins( gl( 1 ), 0, 0 ) );
-
-        final ImageWithTextComposite header = new ImageWithTextComposite( this );
-        header.setLayoutData( gdhfill() );
-        header.setImage( facetsSelectionPanel.getImage( category ) );
-        header.setFont( getFontRegistry().get( DetailsPanel.HEADER_FONT ) );
-        header.setText( category.toString() );
-        
-        final Label separator = new Label( this, SWT.SEPARATOR | SWT.HORIZONTAL );
-        separator.setLayoutData( gdhfill() );
-
-        final Text descTextField = new Text( this, SWT.WRAP | SWT.READ_ONLY );
-        descTextField.setLayoutData( gdhfill() );
-        descTextField.setText( category.getDescription() );
-        //descTextField.setBackground( getDisplay().getSystemColor( SWT.COLOR_WIDGET_BACKGROUND ) );
-    }
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/ChangeFacetVersionDialog.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/ChangeFacetVersionDialog.java
deleted file mode 100644
index 929188a..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/ChangeFacetVersionDialog.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2008 BEA Systems, Inc.
- * 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:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal;
-
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gd;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdfill;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdhfill;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdhspan;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdvindent;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdwhint;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gl;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.glmargins;
-
-import java.util.SortedSet;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public final class ChangeFacetVersionDialog
-
-    extends Dialog
-    
-{
-	private final IProjectFacet facet;
-	private final IProjectFacetVersion oldVersion;
-	private IProjectFacetVersion newVersion;
-	private final SortedSet<IProjectFacetVersion> availableVersions;
-	private Combo versionCombo;
-    
-    private ChangeFacetVersionDialog( final Shell shell,
-                                      final IProjectFacet facet,
-                                      final IProjectFacetVersion currentVersion,
-                                      final SortedSet<IProjectFacetVersion> availableVersions )
-    {
-        super( shell );
-        
-        this.facet = facet;
-        this.oldVersion = currentVersion;
-        this.newVersion = currentVersion;
-        this.availableVersions = availableVersions;
-    }
-    
-    public static IProjectFacetVersion showDialog( final Shell shell,
-    		                                       final IProjectFacet facet,
-    		                                       final IProjectFacetVersion currentVersion,
-    		                                       final SortedSet<IProjectFacetVersion> availableVersions )
-    {
-        final ChangeFacetVersionDialog dialog 
-        	= new ChangeFacetVersionDialog( shell, facet, currentVersion, availableVersions );
-        
-        IProjectFacetVersion selectedVersion = null;
-
-        if( dialog.open() == IDialogConstants.OK_ID )
-        {
-        	selectedVersion = dialog.newVersion;
-        }
-        
-        return selectedVersion;
-    }
-
-    protected void configureShell( final Shell shell )
-    {
-        super.configureShell( shell );
-        shell.setText( Resources.dialogTitle );
-    }
-
-    protected Control createDialogArea( final Composite parent ) 
-    {
-        final Composite composite = new Composite( parent, SWT.NONE );
-        composite.setLayout( glmargins( gl( 2 ), 5, 5, 5, 10 ) );
-        composite.setLayoutData( gdwhint( gdfill(), 300 ) );
-        
-        final Label promptLabel = new Label( composite, SWT.WRAP );
-        promptLabel.setLayoutData( gdhspan( gdhfill(), 2 ) );
-        promptLabel.setText( Resources.bind( Resources.dialogPrompt, this.facet.getLabel() ) );
-        
-        final Label versionFieldLabel = new Label( composite, SWT.NONE );
-        versionFieldLabel.setLayoutData( gdvindent( gd(), 8 ) );
-        versionFieldLabel.setText( Resources.versionFieldLabel );
-
-        this.versionCombo = new Combo( composite, SWT.DROP_DOWN | SWT.READ_ONLY );
-        this.versionCombo.setLayoutData( gdvindent( gd(), 8 ) );
-        
-        for( IProjectFacetVersion fv : this.availableVersions )
-        {
-        	this.versionCombo.add( fv.getVersionString() );
-        	
-        	if( fv == this.oldVersion )
-        	{
-        		this.versionCombo.select( this.versionCombo.getItemCount() - 1 );
-        	}
-        }
-        
-        this.versionCombo.addSelectionListener
-        (
-        	new SelectionAdapter()
-        	{
-        		public void widgetSelected( final SelectionEvent event ) 
-        		{
-        			handleVersionSelected();
-        		}
-        	}
-        );
-        
-        return composite;
-    }
-    
-    private void handleVersionSelected()
-    {
-    	final int index = this.versionCombo.getSelectionIndex();
-    	
-    	int i = 0;
-    	
-    	for( IProjectFacetVersion fv : this.availableVersions )
-    	{
-    		if( i == index )
-    		{
-    			this.newVersion = fv;
-    		}
-    		
-    		i++;
-    	}
-    }
-    
-    private static final class Resources
-    
-        extends NLS
-        
-    {
-        public static String dialogTitle;
-        public static String dialogPrompt;
-        public static String versionFieldLabel;
-        
-        static
-        {
-            initializeMessages( ChangeFacetVersionDialog.class.getName(), 
-                                Resources.class );
-        }
-    }
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/ChangeFacetVersionDialog.properties b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/ChangeFacetVersionDialog.properties
deleted file mode 100644
index 63c4414..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/ChangeFacetVersionDialog.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-dialogTitle = Change Version
-dialogPrompt = Select new version for the {0} facet.
-versionFieldLabel = Version:
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/ConstraintDisplayDialog.properties b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/ConstraintDisplayDialog.properties
deleted file mode 100644
index 2b5148a..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/ConstraintDisplayDialog.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-pressEscToClose = Press 'Esc' to close.
-andOperator = AND
-orOperator = OR
-requiresFacetOperator = \ requires facet\ 
-requiresGroupMemberOperator = \ requires group member\ 
-conflictsWithGroupOperator = \ conflicts with group\ 
-conflictsWithFacetOperator = \ conflicts with facet\ 
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/DecorationsProvider.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/DecorationsProvider.java
deleted file mode 100644
index 2ef13c1..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/DecorationsProvider.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2008 BEA Systems, Inc.
- * 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:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal;
-
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.wst.common.project.facet.ui.IDecorationsProvider;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public final class DecorationsProvider
-
-    implements IDecorationsProvider
-    
-{
-    private final Object adaptable;
-    
-    public DecorationsProvider( final Object adaptable )
-    {
-        this.adaptable = adaptable;
-    }
-    
-    public ImageDescriptor getIcon()
-    {
-        return ProjectFacetsUiManagerImpl.getIcon( this.adaptable ); 
-    }
-    
-    public static final class Factory
-    
-        implements IAdapterFactory
-        
-    {
-        private static final Class[] ADAPTER_TYPES = { IDecorationsProvider.class };
-        
-        public Object getAdapter( final Object adaptable, 
-                                  final Class adapterType )
-        {
-            if( adapterType == IDecorationsProvider.class )
-            {
-                return new DecorationsProvider( adaptable );
-            }
-            else
-            {
-                return null;
-            }
-        }
-    
-        public Class[] getAdapterList()
-        {
-            return ADAPTER_TYPES;
-        }
-    }
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/DetailsPanel.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/DetailsPanel.java
deleted file mode 100644
index 8c2c367..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/DetailsPanel.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2008 BEA Systems, Inc.
- * 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:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal;
-
-import static org.eclipse.jface.resource.JFaceResources.getDefaultFont;
-import static org.eclipse.jface.resource.JFaceResources.getFontRegistry;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdfill;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdhfill;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gl;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.glmargins;
-
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.common.project.facet.core.ICategory;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectEvent;
-import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectListener;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public final class DetailsPanel
-
-    extends Composite
-
-{
-    public static final String HEADER_FONT 
-        = DetailsPanel.class.getName() + ".HEADER_FONT"; //$NON-NLS-1$
-    
-    static
-    {
-        final String defaultFontName = getDefaultFont().getFontData()[ 0 ].getName();
-        final FontData[] fontData = getFontRegistry().getBold( defaultFontName ).getFontData();
-        
-        getFontRegistry().put( HEADER_FONT, fontData );
-    }
-
-    private final FacetsSelectionPanel facetsSelectionPanel;
-    private Composite content = null;
-    
-    public DetailsPanel( final Composite parent,
-                         final FacetsSelectionPanel facetsSelectionPanel )
-    {
-        super( parent, SWT.NONE );
-        
-        setLayout( glmargins( gl( 1 ), 5, 8 ) );
-        
-        this.facetsSelectionPanel = facetsSelectionPanel;
-        
-        this.facetsSelectionPanel.addSelectionChangedListener
-        (
-            new ISelectionChangedListener()
-            {
-                public void selectionChanged( final SelectionChangedEvent event )
-                {
-                    refresh();
-                }
-            }
-        );
-        
-        this.facetsSelectionPanel.getFacetedProjectWorkingCopy().addListener
-        (
-            new IFacetedProjectListener()
-            {
-                public void handleEvent( final IFacetedProjectEvent event ) 
-                {
-                    refresh();
-                }
-            }, 
-            IFacetedProjectEvent.Type.FIXED_FACETS_CHANGED
-        );
-        
-        refresh();
-    }
-    
-    private void refresh()
-    {
-        if( this.content != null )
-        {
-            this.content.dispose();
-        }
-        
-        final IStructuredSelection sel = (IStructuredSelection) this.facetsSelectionPanel.getSelection();
-        
-        if( sel == null || sel.isEmpty() )
-        {
-            this.content = new Composite( this, SWT.NONE );
-            this.content.setLayout( glmargins( gl( 1 ), 0, 0 ) );
-            
-            final Text noSelectionTextField = new Text( this.content, SWT.WRAP | SWT.READ_ONLY );
-            noSelectionTextField.setLayoutData( gdhfill() );
-            noSelectionTextField.setText( Resources.noSelectionLabel );
-        }
-        else
-        {
-            final Object selection = sel.getFirstElement();
-
-            if( selection instanceof IProjectFacetVersion )
-            {
-                final IProjectFacetVersion fv = (IProjectFacetVersion) selection;
-                this.content = new FacetDetailsPanel( this, this.facetsSelectionPanel, fv );
-            }
-            else if( selection instanceof ICategory )
-            {
-                final ICategory cat = (ICategory) selection;
-                this.content = new CategoryDetailsPanel( this, this.facetsSelectionPanel, cat );
-            }
-        }
-
-        this.content.setLayoutData( gdfill() );
-        
-        layout();
-    }
-    
-    private static final class Resources
-    
-        extends NLS
-        
-    {
-        public static String noSelectionLabel;
-        
-        static
-        {
-            initializeMessages( DetailsPanel.class.getName(), 
-                                Resources.class );
-        }
-    }
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/DetailsPanel.properties b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/DetailsPanel.properties
deleted file mode 100644
index 432709a..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/DetailsPanel.properties
+++ /dev/null
@@ -1 +0,0 @@
-noSelectionLabel = Select a project facet on the left to view information about it.
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetDetailsPanel.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetDetailsPanel.java
deleted file mode 100644
index e2c2c3d..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetDetailsPanel.java
+++ /dev/null
@@ -1,234 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2008 BEA Systems, Inc.
- * 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:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal;
-
-import static org.eclipse.jface.resource.JFaceResources.getFontRegistry;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdfill;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdhfill;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdhindent;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdvindent;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gl;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.glmargins;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.glspacing;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.List;
-
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.ScrolledComposite;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.common.project.facet.core.IConstraint;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectWorkingCopy;
-import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.IVersionExpr;
-import org.eclipse.wst.common.project.facet.core.internal.Constraint;
-import org.eclipse.wst.common.project.facet.core.internal.ProjectFacet;
-import org.eclipse.wst.common.project.facet.core.internal.ProjectFacetRef;
-import org.eclipse.wst.common.project.facet.ui.internal.constraints.ConstraintOperator;
-import org.eclipse.wst.common.project.facet.ui.internal.constraints.ConstraintUtil;
-import org.eclipse.wst.common.project.facet.ui.internal.constraints.GroupingConstraintOperator;
-import org.eclipse.wst.common.project.facet.ui.internal.constraints.MultiFacetConstraintOperator;
-import org.eclipse.wst.common.project.facet.ui.internal.util.ImageWithTextComposite;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public final class FacetDetailsPanel
-
-    extends Composite
-
-{
-    private static final Comparator<ProjectFacetRef> FACET_REF_COMPARATOR 
-        = new Comparator<ProjectFacetRef>()
-    {
-        public int compare( final ProjectFacetRef x,
-                            final ProjectFacetRef y )
-        {
-            final String xLabel = x.getProjectFacet().getLabel();
-            final String yLabel = y.getProjectFacet().getLabel();
-            
-            return xLabel.compareTo( yLabel );
-        }
-    };
-
-    private final FacetsSelectionPanel facetsSelectionPanel;
-    
-    public FacetDetailsPanel( final Composite parent,
-                              final FacetsSelectionPanel facetsSelectionPanel,
-                              final IProjectFacetVersion facet )
-    {
-        super( parent, SWT.NONE );
-        
-        this.facetsSelectionPanel = facetsSelectionPanel;
-        
-        setLayout( glmargins( gl( 1 ), 0, 0 ) );
-        
-        final IFacetedProjectWorkingCopy fpjwc 
-            = facetsSelectionPanel.getFacetedProjectWorkingCopy();
-        
-        final ImageWithTextComposite header = new ImageWithTextComposite( this );
-        header.setLayoutData( gdhfill() );
-        header.setImage( facetsSelectionPanel.getImage( facet.getProjectFacet(), false ) );
-        header.setFont( getFontRegistry().get( DetailsPanel.HEADER_FONT ) );
-        header.setText( facet.toString() );
-        
-        final Label separator = new Label( this, SWT.SEPARATOR | SWT.HORIZONTAL );
-        separator.setLayoutData( gdhfill() );
-        
-        final ScrolledComposite details = new ScrolledComposite( this, SWT.V_SCROLL | SWT.H_SCROLL );
-        details.setLayoutData( gdfill() );
-        details.setMinWidth( 300 );
-        details.setExpandHorizontal( true );
-        details.setExpandVertical( true );
-        
-        final Composite nestedDetailsComposite = new Composite( details, SWT.NONE );
-        nestedDetailsComposite.setLayout( glmargins( gl( 1 ), 0, 10, 0, 0 ) );
-        details.setContent( nestedDetailsComposite );
-
-        final Text descTextField = new Text( nestedDetailsComposite, SWT.WRAP | SWT.READ_ONLY );
-        descTextField.setLayoutData( gdhfill() );
-        descTextField.setText( facet.getProjectFacet().getDescription() );
-        //descTextField.setBackground( getDisplay().getSystemColor( SWT.COLOR_WIDGET_BACKGROUND ) );
-        
-        final IConstraint prunedConstraint 
-            = Constraint.pruneConstraint( facet, fpjwc.getFixedProjectFacets() );
-        
-        if( prunedConstraint != null )
-        {
-            final ConstraintOperator normalizedConstraint
-                = ConstraintUtil.normalize( ConstraintUtil.convert( prunedConstraint ) );
-            
-            final List<ConstraintOperator> topLevelOperators;
-            
-            if( normalizedConstraint.getType() == ConstraintOperator.Type.AND )
-            {
-                topLevelOperators = ( (GroupingConstraintOperator) normalizedConstraint ).getChildren();
-            }
-            else
-            {
-                topLevelOperators = Collections.singletonList( normalizedConstraint );
-            }
-
-            renderConstraints( nestedDetailsComposite, topLevelOperators );
-        }
-        
-        details.setMinHeight( nestedDetailsComposite.computeSize( 300, SWT.DEFAULT ).y );
-    }
-    
-    private void renderConstraints( final Composite parent,
-                                    final List<ConstraintOperator> constraints )
-    {
-        for( ConstraintOperator op : constraints )
-        {
-            final ConstraintOperator.Type type = op.getType();
-            
-            if( op instanceof MultiFacetConstraintOperator )
-            {
-                final MultiFacetConstraintOperator mfop = (MultiFacetConstraintOperator) op;
-                final String labelText;
-                
-                if( type == ConstraintOperator.Type.REQUIRES_ALL )
-                {
-                    labelText = Resources.requiresAllFacetsLabel;
-                }
-                else if( type == ConstraintOperator.Type.REQUIRES_ONE )
-                {
-                    if( mfop.getProjectFacetRefs().size() == 1 )
-                    {
-                        labelText = Resources.requiresFacetLabel;
-                    }
-                    else
-                    {
-                        labelText = Resources.requiresOneOfFacetsLabel;
-                    }
-                }
-                else
-                {
-                    labelText = Resources.conflictingFacetsLabel;
-                }
-
-                final Text label = new Text( parent, SWT.READ_ONLY );
-                label.setLayoutData( gdvindent( gdhfill(), 5 ) );
-                label.setText( labelText );
-                //label.setBackground( getDisplay().getSystemColor( SWT.COLOR_WIDGET_BACKGROUND ) );
-                
-                final Composite facetsComposite = new Composite( parent, SWT.NONE );
-                facetsComposite.setLayoutData( gdhindent( gdvindent( gdhfill(), 5 ), 5 ) );
-                facetsComposite.setLayout( glspacing( glmargins( gl( 1 ), 0, 0 ), 0, 3 ) );
-                
-                final List<ProjectFacetRef> sortedProjectFacetRefs 
-                    = new ArrayList<ProjectFacetRef>( mfop.getProjectFacetRefs() );
-                
-                Collections.sort( sortedProjectFacetRefs, FACET_REF_COMPARATOR );
-                
-                for( ProjectFacetRef requirement : sortedProjectFacetRefs )
-                {
-                    final IProjectFacet f = requirement.getProjectFacet();
-                    final IVersionExpr vexpr = requirement.getVersionExpr();
-                    
-                    final StringBuilder text = new StringBuilder();
-                    
-                    text.append( f.getLabel() );
-                    
-                    if( ! vexpr.toString().equals( IVersionExpr.WILDCARD_SYMBOL ) &&
-                        ! ( (ProjectFacet) f ).isVersionHidden() )
-                    {
-                        text.append( ' ' );
-                        text.append( vexpr.toDisplayString() );
-                    }
-                    
-                    final ImageWithTextComposite fLabel = new ImageWithTextComposite( facetsComposite );
-                    fLabel.setLayoutData( gdhfill() );
-                    fLabel.setImage( this.facetsSelectionPanel.getImage( f, false ) );
-                    fLabel.setText( text.toString() );
-                }
-            }
-            else
-            {
-                final Label requiredFacetsLabel = new Label( parent, SWT.NONE );
-                requiredFacetsLabel.setLayoutData( gdhfill() );
-                requiredFacetsLabel.setText( op.getType().name() );
-                
-                final Composite composite = new Composite( parent, SWT.NONE );
-                composite.setLayoutData( gdhindent( gdhfill(), 5 ) );
-                composite.setLayout( glspacing( glmargins( gl( 1 ), 0, 0 ), 0, 3 ) );
-                
-                renderConstraints( composite, ( (GroupingConstraintOperator) op ).getChildren() );
-            }
-        }
-    }
-    
-    private static final class Resources
-    
-        extends NLS
-        
-    {
-        public static String requiresFacetLabel;
-        public static String requiresAllFacetsLabel;
-        public static String requiresOneOfFacetsLabel;
-        public static String conflictingFacetsLabel;
-        
-        static
-        {
-            initializeMessages( FacetDetailsPanel.class.getName(), 
-                                Resources.class );
-        }
-    }
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetDetailsPanel.properties b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetDetailsPanel.properties
deleted file mode 100644
index 2b6ec73..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetDetailsPanel.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-requiresFacetLabel = Requires the following facet\:
-requiresAllFacetsLabel = Requires all of the following facets\:
-requiresOneOfFacetsLabel = Requires one of the following facets\:
-conflictingFacetsLabel = Conflicts with the following facets\:
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetUiPlugin.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetUiPlugin.java
deleted file mode 100644
index 1279353..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetUiPlugin.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2008 BEA Systems, Inc.
- * 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:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public final class FacetUiPlugin 
-
-    extends AbstractUIPlugin 
-    
-{
-    public static final String PLUGIN_ID 
-        = "org.eclipse.wst.common.project.facet.ui"; //$NON-NLS-1$
-    
-    private static final String TRACING_PROP_PAGE_ACTION_CONFIG_VALIDATION
-        = PLUGIN_ID + "/propPage/actionConfigValidation"; //$NON-NLS-1$
-    
-    private static FacetUiPlugin plugin;
-    private static final Set<String> messagesLogged = new HashSet<String>();
-    
-    public FacetUiPlugin() 
-    {
-        super();
-        plugin = this;
-    }
-    
-    public static FacetUiPlugin getInstance()
-    {
-        return plugin;
-    }
-    
-    public static ImageDescriptor getImageDescriptor( final String path )
-    {
-        return imageDescriptorFromPlugin( PLUGIN_ID, path );
-    }
-    
-    public static void log( final Exception e )
-    {
-        final String msg = e.getMessage() + ""; //$NON-NLS-1$
-        log( new Status( IStatus.ERROR, PLUGIN_ID, IStatus.OK, msg, e ) );
-    }
-
-    public static void log( final IStatus status )
-    {
-        getInstance().getLog().log( status );
-    }
-    
-    public static void log( final String msg )
-    {
-        log( new Status( IStatus.ERROR, PLUGIN_ID, IStatus.OK, msg, null ) );
-    }
-    
-    public static void logError( final String msg )
-    {
-        logError( msg, false );
-    }
-    
-    public static void logError( final String msg,
-                                 final boolean suppressDuplicates )
-    {
-        if( suppressDuplicates && messagesLogged.contains( msg ) )
-        {
-            return;
-        }
-        
-        messagesLogged.add( msg );
-        
-        log( new Status( IStatus.ERROR, PLUGIN_ID, IStatus.OK, msg, null ) );
-    }
-
-    public static void logWarning( final String msg )
-    {
-        logWarning( msg, false );
-    }
-    
-    public static void logWarning( final String msg,
-                                   final boolean suppressDuplicates )
-    {
-        if( suppressDuplicates && messagesLogged.contains( msg ) )
-        {
-            return;
-        }
-        
-        messagesLogged.add( msg );
-        
-        log( new Status( IStatus.WARNING, PLUGIN_ID, IStatus.OK, msg, null ) );
-    }
-    
-    public static IStatus createErrorStatus( final String msg,
-                                             final Exception e )
-    {
-        return new Status( IStatus.ERROR, FacetUiPlugin.PLUGIN_ID, 0, msg, e );
-    }
-    
-    public static boolean isTracingPropPageActionConfigValidation()
-    {
-        return checkDebugOption( TRACING_PROP_PAGE_ACTION_CONFIG_VALIDATION );
-    }
-    
-    private static boolean checkDebugOption( final String debugOption )
-    {
-        final String optionValue = Platform.getDebugOption( debugOption );
-        
-        return optionValue == null 
-               ? false : Boolean.valueOf( optionValue ).equals( Boolean.TRUE );
-    }
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetedProjectActionFilter.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetedProjectActionFilter.java
deleted file mode 100644
index a1c5e0f..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetedProjectActionFilter.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2008 BEA Systems, Inc.
- * 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:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.ui.IActionFilter;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public final class FacetedProjectActionFilter
-
-    implements IActionFilter
-    
-{
-    public boolean testAttribute( final Object target, 
-                                  final String name, 
-                                  final String value )
-    {
-        if( name.equals( "facet" ) ) //$NON-NLS-1$
-        {
-            final IFacetedProject fproj = (IFacetedProject) target;
-            
-            final int colon = value.indexOf( ':' );
-            final String fid;
-            final String vexprstr;
-            
-            if( colon == -1 || colon == value.length() - 1 )
-            {
-                fid = value;
-                vexprstr = null;
-            }
-            else
-            {
-                fid = value.substring( 0, colon );
-                vexprstr = value.substring( colon + 1 );
-            }
-            
-            if( ! ProjectFacetsManager.isProjectFacetDefined( fid ) )
-            {
-                return false;
-            }
-            
-            final IProjectFacet f = ProjectFacetsManager.getProjectFacet( fid );
-            
-            if( ! fproj.hasProjectFacet( f ) )
-            {
-                return false;
-            }
-            
-            if( vexprstr == null )
-            {
-                return true;
-            }
-            else
-            {
-                final IProjectFacetVersion fv = fproj.getInstalledVersion( f );
-                
-                try
-                {
-                    if( f.getVersions( vexprstr ).contains( fv ) )
-                    {
-                        return true;
-                    }
-                }
-                catch( CoreException e )
-                {
-                    FacetUiPlugin.log( e.getStatus() );
-                }
-            }
-            
-            return false;
-        }
-        else
-        {
-            return false;
-        }
-    }
-    
-    public static final class Factory
-    
-        implements IAdapterFactory
-        
-    {
-        private static final Class[] ADAPTER_TYPES = { IActionFilter.class };
-        
-        public Object getAdapter( final Object adaptable, 
-                                  final Class adapterType )
-        {
-            if( adapterType == IActionFilter.class )
-            {
-                return new FacetedProjectActionFilter();
-            }
-            else
-            {
-                return null;
-            }
-        }
-    
-        public Class[] getAdapterList()
-        {
-            return ADAPTER_TYPES;
-        }
-    }
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetedProjectFrameworkImages.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetedProjectFrameworkImages.java
deleted file mode 100644
index 3d99d61..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetedProjectFrameworkImages.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2008 BEA Systems, Inc.
- * 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:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public enum FacetedProjectFrameworkImages
-{
-    BANNER_IMAGE( "facets-page-wizban.png" ); //$NON-NLS-1$
-    
-    private static final String BASE_PATH = "images/"; //$NON-NLS-1$
-    
-    private final ImageDescriptor imageDescriptor;
-    private Image image;
-    
-    private FacetedProjectFrameworkImages( final String location )
-    {
-        this.imageDescriptor = FacetUiPlugin.getImageDescriptor( BASE_PATH + location );
-        this.image = null;
-    }
-    
-    public ImageDescriptor getImageDescriptor()
-    {
-        return this.imageDescriptor;
-    }
-    
-    public synchronized Image getImage()
-    {
-        if( this.image == null || this.image.isDisposed() )
-        {
-            this.image = this.imageDescriptor.createImage();
-        }
-        
-        return this.image;
-    }
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetsSelectionDialog.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetsSelectionDialog.java
deleted file mode 100644
index c8a7aa9..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetsSelectionDialog.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2008 BEA Systems, Inc.
- * 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:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal;
-
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdfill;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gl;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.glmargins;
-
-import org.eclipse.jface.dialogs.TitleAreaDialog;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectWorkingCopy;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public final class FacetsSelectionDialog
-
-    extends TitleAreaDialog
-    
-{
-    private final IFacetedProjectWorkingCopy fpjwcOriginal;
-    private final IFacetedProjectWorkingCopy fpjwcLocal;
-    private FacetsSelectionPanel panel;
-
-    public FacetsSelectionDialog( final Shell parentShell,
-                                  final IFacetedProjectWorkingCopy fpjwc )
-    {
-        super( parentShell );
-        
-        setShellStyle( getShellStyle() | SWT.RESIZE );
-
-        this.fpjwcOriginal = fpjwc;
-        this.fpjwcLocal = fpjwc.clone();
-        this.panel = null;
-    }
-    
-    @Override
-    protected Control createDialogArea( final Composite parent ) 
-    {
-        parent.getShell().setText( Resources.dialogTitle );
-        setTitle( Resources.dialogTitle );
-        setMessage( Resources.dialogDescription );
-        setTitleImage( FacetedProjectFrameworkImages.BANNER_IMAGE.getImage() );
-
-        final Composite dialogComposite = (Composite) super.createDialogArea( parent );
-        
-        final Composite composite = new Composite( dialogComposite, SWT.NONE );
-        composite.setLayoutData( gdfill() );
-        composite.setLayout( glmargins( gl( 1 ), 5, 5 ) );
-        
-        this.panel = new FacetsSelectionPanel( composite, this.fpjwcLocal );
-        this.panel.setLayoutData( gdfill() );
-        this.panel.setFocus();
-
-        return composite;
-    }
-    
-    @Override
-    protected void okPressed()
-    {
-        this.fpjwcOriginal.mergeChanges( this.fpjwcLocal );
-        super.okPressed();
-    }
-
-    
-    public static final void openDialog( final Shell parentShell,
-                                         final IFacetedProjectWorkingCopy fpjwc )
-    {
-         ( new FacetsSelectionDialog( parentShell, fpjwc ) ).open();
-    }
-    
-    private static final class Resources
-    
-        extends NLS
-        
-    {
-        public static String dialogTitle;
-        public static String dialogDescription;
-        
-        static
-        {
-            initializeMessages( FacetsSelectionDialog.class.getName(), 
-                                Resources.class );
-        }
-    }
-
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetsSelectionDialog.properties b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetsSelectionDialog.properties
deleted file mode 100644
index a092178..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetsSelectionDialog.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-dialogTitle = Project Facets
-dialogDescription = Select the facets that should be enabled for this project.
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetsSelectionPage.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetsSelectionPage.java
deleted file mode 100644
index eb86e04..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetsSelectionPage.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2008 BEA Systems, Inc.
- * 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:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal;
-
-import java.util.Set;
-
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.help.IWorkbenchHelpSystem;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectWorkingCopy;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectEvent;
-import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectListener;
-import org.eclipse.wst.common.project.facet.core.runtime.RuntimeManager;
-import org.eclipse.wst.common.project.facet.core.runtime.events.IRuntimeLifecycleEvent;
-import org.eclipse.wst.common.project.facet.core.runtime.events.IRuntimeLifecycleListener;
-import org.eclipse.wst.common.project.facet.ui.FacetUiHelpContextIds;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public final class FacetsSelectionPage
-
-    extends WizardPage
-
-{
-    public FacetsSelectionPanel panel;
-    private IFacetedProjectWorkingCopy fpjwc;
-
-    public FacetsSelectionPage( final Set<IProjectFacetVersion> base,
-                                final IFacetedProjectWorkingCopy fpjwc )
-    {
-        super( "facets.selection.page" ); //$NON-NLS-1$
-
-        setTitle( Resources.pageTitle );
-        setDescription( Resources.pageDescription );
-        setImageDescriptor( FacetedProjectFrameworkImages.BANNER_IMAGE.getImageDescriptor() );
-
-        this.fpjwc = fpjwc;
-    }
-    
-    public void createControl( final Composite parent )
-    {
-        this.panel = new FacetsSelectionPanel( parent, this.fpjwc );
-        
-        updatePageState();
-
-        this.fpjwc.addListener
-        (
-            new IFacetedProjectListener()
-            {
-                public void handleEvent( final IFacetedProjectEvent event )
-                {
-                    updatePageState();
-                }
-            },
-            IFacetedProjectEvent.Type.PROJECT_MODIFIED
-        );
-        
-        final IRuntimeLifecycleListener runtimeLifecycleListener = new IRuntimeLifecycleListener()
-        {
-            public void handleEvent( final IRuntimeLifecycleEvent event )
-            {
-                updatePageState();
-            }
-        };
-        
-        RuntimeManager.addListener( runtimeLifecycleListener, 
-                                    IRuntimeLifecycleEvent.Type.VALIDATION_STATUS_CHANGED );
-        
-        this.panel.addDisposeListener
-        (
-            new DisposeListener()
-            {
-                public void widgetDisposed( final DisposeEvent e )
-                {
-                    RuntimeManager.removeListener( runtimeLifecycleListener );
-                }
-            }
-        );
-
-        final IWorkbenchHelpSystem h = PlatformUI.getWorkbench().getHelpSystem();
-        h.setHelp( this.panel, FacetUiHelpContextIds.FACETS_SELECTION_PAGE );
-        
-        setControl( this.panel );
-    }
-
-    private void updatePageState()
-    {
-        if( ! Thread.currentThread().equals( this.panel.getDisplay().getThread() ) )
-        {
-            final Runnable uiRunnable = new Runnable()
-            {
-                public void run()
-                {
-                    updatePageState();
-                }
-            };
-            
-            this.panel.getDisplay().asyncExec( uiRunnable );
-            return;
-        }
-
-        setPageComplete( this.panel.isSelectionValid() );
-
-        if( getContainer().getCurrentPage() != null )
-        {
-            getContainer().updateButtons();
-        }
-    }
-
-    public void setVisible( final boolean visible )
-    {
-        super.setVisible( visible );
-        
-        if( visible )
-        {
-            this.panel.setFocus();
-        }
-    }
-
-    private static final class Resources
-    
-        extends NLS
-        
-    {
-        public static String pageTitle;
-        public static String pageDescription;
-        
-        static
-        {
-            initializeMessages( FacetsSelectionPage.class.getName(), 
-                                Resources.class );
-        }
-    }
-
-}
-
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetsSelectionPage.properties b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetsSelectionPage.properties
deleted file mode 100644
index a91b135..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetsSelectionPage.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-pageTitle = Project Facets
-pageDescription = Select the facets that should be enabled for this project.
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetsSelectionPanel.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetsSelectionPanel.java
deleted file mode 100644
index 1187563..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetsSelectionPanel.java
+++ /dev/null
@@ -1,1882 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2008 BEA Systems, Inc.
- * 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:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal;
-
-import static java.lang.Math.max;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gd;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdfill;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdhfill;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdhhint;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdhspan;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdwhint;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gl;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.glmargins;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.SwtUtil.*;
-
-import java.lang.reflect.Method;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.SortedSet;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.resource.CompositeImageDescriptor;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTreeViewer;
-import org.eclipse.jface.viewers.ColumnLabelProvider;
-import org.eclipse.jface.viewers.EditingSupport;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.TreeViewerColumn;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.jface.window.ToolTip;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.SashForm;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.ImageData;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.swt.widgets.TabFolder;
-import org.eclipse.swt.widgets.TabItem;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.common.project.facet.core.ICategory;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectWorkingCopy;
-import org.eclipse.wst.common.project.facet.core.IPreset;
-import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectEvent;
-import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectListener;
-import org.eclipse.wst.common.project.facet.core.events.IProjectFacetsChangedEvent;
-import org.eclipse.wst.common.project.facet.core.internal.ProjectFacet;
-import org.eclipse.wst.common.project.facet.core.runtime.RuntimeManager;
-import org.eclipse.wst.common.project.facet.core.runtime.events.IRuntimeLifecycleEvent;
-import org.eclipse.wst.common.project.facet.core.runtime.events.IRuntimeLifecycleListener;
-import org.eclipse.wst.common.project.facet.ui.IDecorationsProvider;
-import org.eclipse.wst.common.project.facet.ui.ModifyFacetedProjectWizard;
-import org.eclipse.wst.common.project.facet.ui.internal.util.BasicToolTip;
-import org.eclipse.wst.common.project.facet.ui.internal.util.HeaderToolTip;
-import org.eclipse.wst.common.project.facet.ui.internal.util.ReadOnlyComboBoxCellEditor;
-import org.osgi.framework.Bundle;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public final class FacetsSelectionPanel
-
-    extends Composite
-    implements ISelectionProvider
-
-{
-    private static final String CW_FACET = "cw.facet"; //$NON-NLS-1$
-    private static final String CW_VERSION = "cw.version"; //$NON-NLS-1$
-    private static final String SASH1W1 = "sash.1.weight.1"; //$NON-NLS-1$
-    private static final String SASH1W2 = "sash.1.weight.2"; //$NON-NLS-1$
-    private static final String SASH2W1 = "sash.2.weight.1"; //$NON-NLS-1$
-    private static final String SASH2W2 = "sash.2.weight.2"; //$NON-NLS-1$
-    
-    private static final String IMG_DOWN_ARROW = "##down-arrow##"; //$NON-NLS-1$
-    
-    private final Composite topComposite;
-    private final SashForm sform1;
-    private final SashForm sform2;
-    private final Label presetsLabel;
-    private final Combo presetsCombo;
-    private final Button savePresetButton;
-    private final Button deletePresetButton;
-    private final CheckboxTreeViewer treeViewer;
-    private final Tree tree;
-    private final TreeViewerColumn colFacet;
-    private final TreeViewerColumn colVersion;
-    private final FixedFacetToolTip fixedFacetToolTip;
-    private final Menu popupMenu;
-    private final MenuItem popupMenuLockUnlock;
-    private final MenuItem popupMenuChangeVersion;
-    private final TableViewer problemsView;
-    private final TabItem detailsTabItem;
-    private final DetailsPanel detailsPanel;
-    private final TabItem runtimesTabItem;
-    private final RuntimesPanel runtimesPanel;
-    
-    private final IDialogSettings settings;
-    private boolean showToolTips;
-    
-    
-    private final IFacetedProjectWorkingCopy fpjwc;
-    private final List<IFacetedProjectListener> registeredWorkingCopyListeners;
-    private final Map<IProjectFacet,IProjectFacetVersion> selectedVersions;
-    private final List<ISelectionChangedListener> selectionListeners;
-    private Object selection;
-    
-    /**
-     * Holds images used throughout the panel.
-     */
-    
-    private final ImageRegistry imageRegistry;
-    
-    private final IRuntimeLifecycleListener runtimeLifecycleListener;
-    
-    public interface IFilter 
-    {
-        boolean check( IProjectFacetVersion fv );
-    }
-
-    public FacetsSelectionPanel( final Composite parent,
-                                 final IFacetedProjectWorkingCopy fpjwc )
-    {
-        super( parent, SWT.NONE );
-
-        this.fpjwc = fpjwc;
-        this.registeredWorkingCopyListeners = new ArrayList<IFacetedProjectListener>(); 
-        this.selectedVersions = new HashMap<IProjectFacet,IProjectFacetVersion>();
-        this.selection = null;
-        this.selectionListeners = new ArrayList<ISelectionChangedListener>();
-        this.showToolTips = false;
-        
-        // Initialize the image registry.
-        
-        this.imageRegistry = new ImageRegistry();
-        final Bundle bundle = Platform.getBundle( FacetUiPlugin.PLUGIN_ID );
-        
-        URL url = bundle.getEntry( "images/down-arrow.gif" ); //$NON-NLS-1$
-        this.imageRegistry.put( IMG_DOWN_ARROW, ImageDescriptor.createFromURL( url ) );
-
-        // Read the dialog settings.
-
-        final IDialogSettings root
-            = FacetUiPlugin.getInstance().getDialogSettings();
-
-        IDialogSettings temp = root.getSection( getClass().getName() );
-
-        if( temp == null )
-        {
-            temp = root.addNewSection( getClass().getName() );
-        }
-        
-        this.settings = temp;
-
-        // Layout the panel.
-
-        setLayout( glmargins( gl( 1 ), 0, 0 ) );
-        
-        this.topComposite = new Composite( this, SWT.NONE );
-        this.topComposite.setLayout( glmargins( gl( 4 ), 0, 0 ) );
-        this.topComposite.setLayoutData( gdfill() );
-        
-        this.presetsLabel = new Label( this.topComposite, SWT.NONE );
-        this.presetsLabel.setText( Resources.presetsLabel );
-        
-        this.presetsCombo = new Combo( this.topComposite, SWT.READ_ONLY );
-        this.presetsCombo.setLayoutData( gdhfill() );
-        
-        this.savePresetButton = new Button( this.topComposite, SWT.PUSH );
-        this.savePresetButton.setText( Resources.saveButtonLabel );
-        
-        this.savePresetButton.addSelectionListener
-        (
-            new SelectionAdapter()
-            {
-                public void widgetSelected( final SelectionEvent e )
-                {
-                    handleSavePreset();
-                }
-            }
-        );
-
-        this.deletePresetButton = new Button( this.topComposite, SWT.PUSH );
-        this.deletePresetButton.setText( Resources.deleteButtonLabel );
-        
-        this.deletePresetButton.addSelectionListener
-        (
-            new SelectionAdapter()
-            {
-                public void widgetSelected( final SelectionEvent e )
-                {
-                    handleDeletePreset();
-                }
-            }
-        );
-        
-        final int width 
-            = Math.max( getPreferredWidth( this.savePresetButton ), 
-                        getPreferredWidth( this.deletePresetButton ) ) + 15;
-                        
-        this.savePresetButton.setLayoutData( gdwhint( gd(), width ) );
-        this.deletePresetButton.setLayoutData( gdwhint( gd(), width ) );
-        
-        this.sform1 = new SashForm( this.topComposite, SWT.VERTICAL | SWT.SMOOTH );
-        this.sform1.setLayoutData( gdhspan( gdfill(), 4 ) );
-        
-        this.sform2 = new SashForm( this.sform1, SWT.HORIZONTAL | SWT.SMOOTH );
-        this.sform2.setLayoutData( gdhspan( gdfill(), 4 ) );
-        
-        this.treeViewer = new CheckboxTreeViewer( this.sform2, SWT.BORDER );
-        this.tree = this.treeViewer.getTree();
-        
-        this.tree.setHeaderVisible( true );
-        
-        this.treeViewer.setContentProvider( new ContentProvider() );
-        this.treeViewer.setSorter( new Sorter() );
-        
-        this.colFacet = new TreeViewerColumn( this.treeViewer, SWT.NONE );
-        this.colFacet.getColumn().setText( Resources.facetColumnLabel );
-        this.colFacet.getColumn().setResizable( true );
-        this.colFacet.setLabelProvider( new FacetColumnLabelProvider() );
-        
-        if( this.settings.get( CW_FACET ) == null )
-        {
-            this.settings.put( CW_FACET, computeDefaultFacetColumnWidth() );
-        }
-        
-        this.colFacet.getColumn().setWidth( this.settings.getInt( CW_FACET ) );
-        
-        this.colFacet.getColumn().addListener
-        (
-            SWT.Resize,
-            new Listener()
-            {
-                public void handleEvent( final Event event )
-                {
-                    FacetsSelectionPanel.this.settings.put( CW_FACET, FacetsSelectionPanel.this.colFacet.getColumn().getWidth() );
-                }
-            }
-        );
-
-        this.colVersion = new TreeViewerColumn( this.treeViewer, SWT.NONE );
-        this.colVersion.getColumn().setText( Resources.versionColumnLabel );
-        this.colVersion.getColumn().setResizable( true );
-        this.colVersion.setLabelProvider( new FacetVersionColumnLabelProvider() );
-        this.colVersion.setEditingSupport( new FacetVersionColumnEditingSupport( this.treeViewer ) );
-        
-        if( this.settings.get( CW_VERSION ) == null )
-        {
-            this.settings.put( CW_VERSION, computeDefaultVersionColumnWidth() );
-        }
-
-        this.colVersion.getColumn().setWidth( this.settings.getInt( CW_VERSION ) );
-        
-        this.colVersion.getColumn().addListener
-        (
-            SWT.Resize,
-            new Listener()
-            {
-                public void handleEvent( final Event event )
-                {
-                    FacetsSelectionPanel.this.settings.put( CW_VERSION, FacetsSelectionPanel.this.colVersion.getColumn().getWidth() );
-                }
-            }
-        );
-        
-        this.popupMenu = new Menu( getShell(), SWT.POP_UP );
-        
-        this.popupMenuChangeVersion = new MenuItem( this.popupMenu, SWT.PUSH );
-        this.popupMenuChangeVersion.setText( Resources.changeVersionMenuItem );
-
-        this.popupMenuChangeVersion.addSelectionListener
-        (
-            new SelectionAdapter()
-            {
-                public void widgetSelected( final SelectionEvent e )
-                {
-                    handleChangeVersionMenuSelected();
-                }
-            }
-        );
-        
-        this.popupMenuLockUnlock = new MenuItem( this.popupMenu, SWT.PUSH );
-        
-        this.popupMenuLockUnlock.addSelectionListener
-        (
-            new SelectionAdapter()
-            {
-                public void widgetSelected( final SelectionEvent e )
-                {
-                    handleFacetLockUnlock();
-                }
-            }
-        );
-
-        new FacetToolTip( this.tree );
-        new CategoryToolTip( this.tree );
-        this.fixedFacetToolTip = new FixedFacetToolTip( this.tree );
-        
-        this.treeViewer.setInput( new Object() );
-
-        this.treeViewer.addSelectionChangedListener
-        (
-            new ISelectionChangedListener()
-            {
-                public void selectionChanged( final SelectionChangedEvent e )
-                {
-                    FacetsSelectionPanel.this.handleSelectionChangedEvent();
-                }
-            }
-        );
-        
-        this.treeViewer.addCheckStateListener
-        (
-            new ICheckStateListener()
-            {
-                public void checkStateChanged( final CheckStateChangedEvent e )
-                {
-                    FacetsSelectionPanel.this.handleCheckStateChanged( e );
-                }
-            }
-        );
-
-        this.tree.addListener
-        (
-            SWT.PaintItem,
-            new Listener()
-            {
-                public void handleEvent( final Event event )
-                {
-                    handlePaintItemEvent( event );
-                }
-            }
-        );
-        
-        this.tree.addListener
-        (
-            SWT.MouseDown,
-            new Listener()
-            {
-                public void handleEvent( final Event event )
-                {
-                    handleMouseDownEvent( event );
-                }
-            }
-        );
-        
-        final TabFolder tabFolder = new TabFolder( this.sform2, SWT.NONE );
-        tabFolder.setLayoutData( gdhhint( gdhfill(), 80 ) );
-
-        this.detailsPanel = new DetailsPanel( tabFolder, this );
-        this.detailsTabItem = new TabItem( tabFolder, SWT.NULL );
-        this.detailsTabItem.setControl( this.detailsPanel );
-        this.detailsTabItem.setText( Resources.detailsTabLabel );
-
-        this.runtimesPanel = new RuntimesPanel( tabFolder, this.fpjwc );
-        this.runtimesTabItem = new TabItem( tabFolder, SWT.NULL );
-        this.runtimesTabItem.setControl( this.runtimesPanel );
-        this.runtimesTabItem.setText( Resources.runtimesTabLabel );
-        
-        this.runtimesPanel.addListener
-        (
-            SWT.Resize,
-            new Listener()
-            {
-                public void handleEvent( final Event event )
-                {
-                    final int[] weights = FacetsSelectionPanel.this.sform1.getWeights();
-                    FacetsSelectionPanel.this.settings.put( SASH1W1, weights[ 0 ] );
-                    FacetsSelectionPanel.this.settings.put( SASH1W2, weights[ 1 ] );
-                }
-            }
-        );
-
-        this.problemsView = new TableViewer( this.sform1, SWT.BORDER );
-        this.problemsView.setContentProvider( new ProblemsContentProvider() );
-        this.problemsView.setLabelProvider( new ProblemsLabelProvider() );
-        this.problemsView.setInput( new Object() );
-
-        this.problemsView.getTable().addListener
-        (
-            SWT.Resize,
-            new Listener()
-            {
-                public void handleEvent( final Event event )
-                {
-                    final int[] weights = FacetsSelectionPanel.this.sform2.getWeights();
-                    FacetsSelectionPanel.this.settings.put( SASH2W1, weights[ 0 ] );
-                    FacetsSelectionPanel.this.settings.put( SASH2W2, weights[ 1 ] );
-                }
-            }
-        );
-        
-        if( this.settings.get( SASH1W1 ) == null ) this.settings.put( SASH1W1, 70 );
-        if( this.settings.get( SASH1W2 ) == null ) this.settings.put( SASH1W2, 30 );
-        if( this.settings.get( SASH2W1 ) == null ) this.settings.put( SASH2W1, 60 );
-        if( this.settings.get( SASH2W2 ) == null ) this.settings.put( SASH2W2, 40 );
-        
-        final int[] weights1
-            = new int[] { this.settings.getInt( SASH1W1 ),
-                          this.settings.getInt( SASH1W2 ) };
-
-        this.sform1.setWeights( weights1 );
-
-        final int[] weights2
-            = new int[] { this.settings.getInt( SASH2W1 ),
-                          this.settings.getInt( SASH2W2 ) };
-
-        this.sform2.setWeights( weights2 );
-        
-        this.addDisposeListener
-        (
-            new DisposeListener()
-            {
-                public void widgetDisposed( final DisposeEvent e )
-                {
-                    handleDisposeEvent();
-                }
-            }
-        );
-        
-        Dialog.applyDialogFont( parent );
-        
-        // Setup runtime lifecycle listener.
-        
-        this.runtimeLifecycleListener = new IRuntimeLifecycleListener()
-        {
-            public void handleEvent( final IRuntimeLifecycleEvent event )
-            {
-                handleValidationProblemsChangedEvent();
-            }
-        };
-        
-        RuntimeManager.addListener( this.runtimeLifecycleListener, 
-                                    IRuntimeLifecycleEvent.Type.VALIDATION_STATUS_CHANGED );
-        
-        // Bind to the model.
-        
-        addWorkingCopyListener
-        (
-            new IFacetedProjectListener()
-            {
-                public void handleEvent( final IFacetedProjectEvent event )
-                {
-                    handleProjectFacetsChangedEvent( event );
-                }
-            },
-            IFacetedProjectEvent.Type.PROJECT_FACETS_CHANGED
-        );
-        
-        handleProjectFacetsChangedEvent( null );
-        
-        addWorkingCopyListener
-        (
-            new IFacetedProjectListener()
-            {
-                public void handleEvent( final IFacetedProjectEvent event )
-                {
-                    handleValidationProblemsChangedEvent();
-                }
-            },
-            IFacetedProjectEvent.Type.VALIDATION_PROBLEMS_CHANGED,
-            IFacetedProjectEvent.Type.PROJECT_MODIFIED
-        );
-        
-        handleValidationProblemsChangedEvent();
-        
-        addWorkingCopyListener
-        ( 
-            new IFacetedProjectListener()
-            {
-                public void handleEvent( final IFacetedProjectEvent event )
-                {
-                    handleSelectedPresetChangedEvent();
-                }
-            },
-            IFacetedProjectEvent.Type.SELECTED_PRESET_CHANGED
-        );
-
-        ModifyFacetedProjectWizard.syncWithPresetsModel( this.fpjwc, this.presetsCombo );
-        
-        addWorkingCopyListener
-        ( 
-            new IFacetedProjectListener()
-            {
-                public void handleEvent( final IFacetedProjectEvent event )
-                {
-                    handleModelChangedEvent( event );
-                }
-            },
-            IFacetedProjectEvent.Type.FIXED_FACETS_CHANGED, 
-            IFacetedProjectEvent.Type.SELECTED_PRESET_CHANGED,
-            IFacetedProjectEvent.Type.TARGETED_RUNTIMES_CHANGED
-        );
-        
-        // Select the first item in the table.
-        
-        if( this.tree.getItemCount() > 0 )
-        {
-            final TreeItem firstItem = this.tree.getItem( 0 );
-            this.treeViewer.setSelection( new StructuredSelection( firstItem.getData() ) );
-        }
-        
-        handleSelectionChangedEvent();
-    }
-    
-    public IFacetedProjectWorkingCopy getFacetedProjectWorkingCopy()
-    {
-        return this.fpjwc;
-    }
-    
-    public boolean isSelectionValid()
-    {
-        return ( this.fpjwc.validate().getSeverity() != IStatus.ERROR );
-    }
-    
-    public boolean setFocus()
-    {
-        return this.tree.setFocus();
-    }
-    
-    public void addSelectionChangedListener( final ISelectionChangedListener listener )
-    {
-        this.selectionListeners.add( listener );
-    }
-
-    public void removeSelectionChangedListener( final ISelectionChangedListener listener )
-    {
-        this.selectionListeners.remove( listener );
-    }
-
-    public ISelection getSelection()
-    {
-        if( this.selection != null )
-        {
-            return new StructuredSelection( this.selection );
-        }
-        else
-        {
-            return new StructuredSelection( new Object[ 0 ] );
-        }
-    }
-
-    public void setSelection( final ISelection selection )
-    {
-        throw new UnsupportedOperationException();
-    }
-
-    private void notifySelectionChangedListeners()
-    {
-        final SelectionChangedEvent event = new SelectionChangedEvent( this, getSelection() );
-
-        for( ISelectionChangedListener listener : this.selectionListeners )
-        {
-            listener.selectionChanged( event );
-        }
-    }
-    
-    private ImageRegistry getImageRegistry()
-    {
-        return this.imageRegistry;
-    }
-    
-    public Image getImage( final IProjectFacet facet,
-                           final boolean showDecorations )
-    {
-        final boolean isFixed = getFacetedProjectWorkingCopy().isFixedProjectFacet( facet );
-        final String id = ( isFixed && showDecorations ? "F:" : "f:" ) + facet.getId(); //$NON-NLS-1$ //$NON-NLS-2$
-        
-        Image image = getImageRegistry().get( id );
-        
-        if( image == null )
-        {
-            final IDecorationsProvider decprov
-                = (IDecorationsProvider) facet.getAdapter( IDecorationsProvider.class );
-            
-            ImageDescriptor imgdesc = decprov.getIcon();
-            
-            if( isFixed && showDecorations )
-            {
-                imgdesc = new FixedFacetImageDescriptor( imgdesc );
-            }
-            
-            getImageRegistry().put( id, imgdesc );
-            image = getImageRegistry().get( id );
-        }
-
-        return image;
-    }
-    
-    public Image getImage( final ICategory category )
-    {
-        final String id = "c:" + category.getId(); //$NON-NLS-1$
-        
-        Image image = getImageRegistry().get( id );
-        
-        if( image == null )
-        {
-            final IDecorationsProvider decprov
-                = (IDecorationsProvider) category.getAdapter( IDecorationsProvider.class );
-            
-            final ImageDescriptor imgdesc = decprov.getIcon();
-            
-            getImageRegistry().put( id, imgdesc );
-            image = getImageRegistry().get( id );
-        }
-
-        return image;
-        
-    }
-
-    private void refresh()
-    {
-        // Somehow the checked state of nested items gets lost when a refresh
-        // is performed, so we have to do this workaround.
-        
-        final Object[] checked = this.treeViewer.getCheckedElements();
-        this.treeViewer.refresh();
-        this.treeViewer.setCheckedElements( checked );
-    }
-    
-    public void setCategoryExpandedState( final ICategory category,
-                                          final boolean expanded )
-    {
-        this.treeViewer.setExpandedState( category, expanded );
-    }
-    
-    public boolean getShowToolTips()
-    {
-        return this.showToolTips;
-    }
-    
-    public void setShowToolTips( final boolean showToolTips )
-    {
-        this.showToolTips = showToolTips;
-    }
-    
-    private void refreshCategoryState( final ICategory category )
-    {
-        if( category == null )
-        {
-            return;
-        }
-        
-        int available = 0;
-        int selected = 0;
-
-        for( IProjectFacet f : category.getProjectFacets() )
-        {
-            if( this.fpjwc.isFacetAvailable( f ) )
-            {
-                available++;
-            }
-            
-            if( this.fpjwc.hasProjectFacet( f ) )
-            {
-                selected++;
-            }
-        }
-
-        if( selected == 0 )
-        {
-            this.treeViewer.setChecked( category, false );
-            this.treeViewer.setGrayed( category, false );
-        }
-        else if( selected == available )
-        {
-            this.treeViewer.setChecked( category, true );
-            this.treeViewer.setGrayed( category, false );
-        }
-        else
-        {
-            this.treeViewer.setGrayChecked( category, true );
-        }
-    }
-    
-    private void addWorkingCopyListener( final IFacetedProjectListener listener,
-                                         final IFacetedProjectEvent.Type... types )
-    {
-        this.fpjwc.addListener( listener, types );
-        this.registeredWorkingCopyListeners.add( listener );
-    }
-
-    public IProjectFacet getSelectedProjectFacet()
-    {
-        final IProjectFacetVersion fv = getSelectedProjectFacetVersion();
-        
-        if( fv != null )
-        {
-            return fv.getProjectFacet();
-        }
-        
-        return null;
-    }
-    
-    public IProjectFacetVersion getSelectedProjectFacetVersion()
-    {
-        if( this.selection != null && this.selection instanceof IProjectFacetVersion )
-        {
-            return (IProjectFacetVersion) this.selection;
-        }
-        
-        return null;
-    }
-    
-    private IProjectFacetVersion getSelectedVersion( final IProjectFacet f )
-    {
-        final Set<IProjectFacetVersion> availableVersions = this.fpjwc.getAvailableVersions( f );
-        
-        if( availableVersions.isEmpty() )
-        {
-            throw new IllegalStateException();
-        }
-        
-        IProjectFacetVersion selectedVersion = this.fpjwc.getProjectFacetVersion( f );
-        
-        if( selectedVersion == null )
-        {
-            selectedVersion = this.selectedVersions.get( f );
-
-            if( selectedVersion == null )
-            {
-                selectedVersion = f.getDefaultVersion();
-            }
-            
-            if( ! availableVersions.contains( selectedVersion ) )
-            {
-                selectedVersion = this.fpjwc.getHighestAvailableVersion( f );
-            }
-        }
-        
-        this.selectedVersions.put( f, selectedVersion );
-        
-        return selectedVersion;
-    }
-    
-    private void setSelectedVersion( final IProjectFacet f,
-                                     final IProjectFacetVersion fv )
-    {
-        if( this.fpjwc.getProjectFacetVersion( f ) != null )
-        {
-            this.fpjwc.changeProjectFacetVersion( fv );
-        }
-        
-        this.selectedVersions.put( f, fv );
-        
-        if( f == this.getSelectedProjectFacet() )
-        {
-            this.selection = fv;
-            notifySelectionChangedListeners();
-        }
-    }
-    
-    private void handleSelectionChangedEvent()
-    {
-        Object selection = ( (IStructuredSelection) this.treeViewer.getSelection() ).getFirstElement();
-
-        if( selection != null && selection instanceof IProjectFacet )
-        {
-            selection = getSelectedVersion( (IProjectFacet ) selection );
-        }
-        
-        if( selection != this.selection )
-        {
-            this.selection = selection;
-
-            notifySelectionChangedListeners();
-            updatePopupMenu();
-        }
-    }
-    
-    private void handleCheckStateChanged( final CheckStateChangedEvent event )
-    {
-        final Object el = event.getElement();
-        final boolean checked = event.getChecked();
-        
-        if( el instanceof IProjectFacet )
-        {
-            final IProjectFacet f = (IProjectFacet) el;
-            
-            if( this.fpjwc.getFixedProjectFacets().contains( f ) )
-            {
-                if( ! checked )
-                {
-                    this.treeViewer.setChecked( el, true );
-                    
-                    final String msg 
-                        = NLS.bind( Resources.couldNotDeselectFixedFacetMessage, f.getLabel() );                    
-
-                    this.fixedFacetToolTip.setMessage( msg );
-                    
-                    final Point cursorLocation = getDisplay().getCursorLocation();
-                    this.fixedFacetToolTip.show( this.tree.toControl( cursorLocation ) );
-                }
-                
-                return;
-            }
-            
-            if( checked )
-            {
-                this.fpjwc.addProjectFacet( getSelectedVersion( f ) );
-            }
-            else
-            {
-                this.fpjwc.removeProjectFacet( f );
-            }
-            
-            refreshCategoryState( f.getCategory() );
-        }
-        else
-        {
-            final ContentProvider cp
-                = (ContentProvider) this.treeViewer.getContentProvider();
-
-            final Set<IProjectFacetVersion> facets
-                = new HashSet<IProjectFacetVersion>( this.fpjwc.getProjectFacets() );
-                
-            final Object[] children = cp.getChildren( el );
-            int selected = 0;
-            
-            for( Object child : children )
-            {
-                final IProjectFacet f = (IProjectFacet) child;
-                
-                if( ! this.fpjwc.getFixedProjectFacets().contains( f ) )
-                {
-                    final IProjectFacetVersion fv = getSelectedVersion( f );
-                    
-                    if( checked )
-                    {
-                        facets.add( fv );
-                    }
-                    else
-                    {
-                        facets.remove( fv );
-                    }
-                    
-                    this.treeViewer.setChecked( f, checked );
-                }
-                
-                if( this.fpjwc.hasProjectFacet( f ) )
-                {
-                    selected++;
-                }
-            }
-            
-            if( selected == 0 || selected == children.length )
-            {
-                this.treeViewer.setGrayed( el, false );
-            }
-            else
-            {
-                this.treeViewer.setGrayChecked( el, true );
-            }
-            
-            this.fpjwc.setProjectFacets( facets );
-        }
-
-        this.fpjwc.setSelectedPreset( null );
-        
-        updatePopupMenu();
-    }
-
-    private void handleMouseDownEvent( final Event event )
-    {
-        handleMouseDownEventHelper( event, this.tree.getItems() );
-    }
-    
-    private boolean handleMouseDownEventHelper( final Event event,
-                                                final TreeItem[] items )
-    {
-        for( TreeItem item : items )
-        {
-            if( item.getBounds( 1 ).contains( event.x, event.y ) )
-            {
-                final TreeItem[] newSelection = new TreeItem[] { item };
-                
-                if( ! Arrays.equals( this.tree.getSelection(), newSelection ) )
-                {
-                    this.tree.setSelection( new TreeItem[] { item } );
-                    this.treeViewer.editElement( item.getData(), 1 );
-                }
-                
-                return true;
-            }
-            else if( handleMouseDownEventHelper( event, item.getItems() ) )
-            {
-                return true;
-            }
-        }
-        
-        return false;
-    }
-    
-    private void handlePaintItemEvent( final Event event )
-    {
-        final TreeItem item = (TreeItem) event.item;
-        final Object itemData = item.getData();
-
-        if( itemData instanceof IProjectFacet && event.index == 1 )
-        {
-            final IProjectFacet f = (IProjectFacet) itemData;
-            
-            if( this.fpjwc.getAvailableVersions( f ).size() > 1 )
-            {
-                final Image arrowImage = getImageRegistry().get( IMG_DOWN_ARROW );
-                final Rectangle arrowImageBounds = arrowImage.getBounds();
-                
-                final int columnWidth = this.colVersion.getColumn().getWidth();
-                final int itemHeight = this.tree.getItemHeight();
-                
-                int x, y;
-                
-                x = event.x + columnWidth - arrowImageBounds.width - 10;
-                y = event.y;
-                event.gc.fillRectangle( x, y, arrowImageBounds.width + 10, itemHeight );
-                
-                y = event.y + ( itemHeight - arrowImageBounds.height ) / 2;
-                event.gc.drawImage( arrowImage, x, y );
-            }
-        }
-    }
-    
-    private void handleDisposeEvent()
-    {
-        this.imageRegistry.dispose();
-        
-        for( IFacetedProjectListener listener : this.registeredWorkingCopyListeners )
-        {
-            this.fpjwc.removeListener( listener );
-        }
-        
-        RuntimeManager.removeListener( this.runtimeLifecycleListener );
-    }
-    
-    private void handleSavePreset()
-    {
-        final Set<IProjectFacetVersion> facets = this.fpjwc.getProjectFacets();
-        final IPreset preset = SavePresetDialog.showDialog( getShell(), facets );
-        
-        if( preset != null )
-        {
-            this.fpjwc.setSelectedPreset( preset.getId() );
-        }
-    }
-    
-    private void handleDeletePreset()
-    {
-        final IPreset preset = this.fpjwc.getSelectedPreset();
-        this.fpjwc.setSelectedPreset( null );
-        ProjectFacetsManager.deletePreset( preset );
-    }
-    
-    private void handleProjectFacetsChangedEvent( final IFacetedProjectEvent event )
-    {
-        final Set<ICategory> affectedCategories = new HashSet<ICategory>();
-        
-        if( event != null )
-        {
-            final IFacetedProjectWorkingCopy fpjwc = event.getWorkingCopy();
-            
-            final IProjectFacetsChangedEvent evt
-                = (IProjectFacetsChangedEvent) event;
-            
-            for( IProjectFacetVersion fv : evt.getAllAffectedFacets())
-            {
-                final IProjectFacet f = fv.getProjectFacet();
-                final boolean checked = fpjwc.hasProjectFacet( fv );
-                this.treeViewer.setChecked( f, checked );
-                this.treeViewer.update( f, null );
-                
-                final ICategory category = f.getCategory();
-                
-                if( category != null )
-                {
-                    affectedCategories.add( category );
-                }
-            }
-        }
-        else
-        {
-            final List<IProjectFacet> facets = new ArrayList<IProjectFacet>();
-            
-            for( IProjectFacetVersion fv : this.fpjwc.getProjectFacets() )
-            {
-                facets.add( fv.getProjectFacet() );
-            }
-            
-            this.treeViewer.setCheckedElements( facets.toArray() );
-            
-            for( IProjectFacet facet : this.fpjwc.getAvailableFacets().keySet() )
-            {
-                final ICategory category = facet.getCategory();
-                
-                if( category != null )
-                {
-                    affectedCategories.add( category );
-                }
-            }
-            
-            this.treeViewer.update( this.fpjwc.getAvailableFacets().keySet().toArray(), null );
-        }
-
-        for( ICategory category : affectedCategories )
-        {
-            refreshCategoryState( category );
-        }
-    }
-    
-    private void handleValidationProblemsChangedEvent()
-    {
-        if( ! Thread.currentThread().equals( getDisplay().getThread() ) )
-        {
-            final Runnable uiRunnable = new Runnable()
-            {
-                public void run()
-                {
-                    handleValidationProblemsChangedEvent();
-                }
-            };
-            
-            getDisplay().asyncExec( uiRunnable );
-            
-            return;
-        }
-        
-        this.problemsView.refresh();
-
-        if( getFilteredProblems().length == 0 )
-        {
-            if( this.sform1.getMaximizedControl() == null )
-            {
-                this.sform1.setMaximizedControl( this.sform2 );
-            }
-        }
-        else
-        {
-            if( this.sform1.getMaximizedControl() != null )
-            {
-                this.sform1.setMaximizedControl( null );
-            }
-        }
-    }
-    
-    private void handleSelectedPresetChangedEvent()
-    {
-        final IPreset preset = this.fpjwc.getSelectedPreset();
-        
-        if( preset == null )
-        {
-            this.savePresetButton.setEnabled( true );
-            this.deletePresetButton.setEnabled( false );
-        }
-        else
-        {
-            this.savePresetButton.setEnabled( false );
-            this.deletePresetButton.setEnabled( preset.getType() == IPreset.Type.USER_DEFINED );
-        }
-    }
-    
-    private void handleModelChangedEvent( final IFacetedProjectEvent event )
-    {
-        switch( event.getType() )
-        {
-            case FIXED_FACETS_CHANGED:
-            case TARGETED_RUNTIMES_CHANGED:
-            {
-                final Runnable runnable = new Runnable()
-                {
-                    public void run()
-                    {
-                        refresh();
-                    }
-                };
-                
-                runOnDisplayThread( getDisplay(), runnable );
-                
-                break;
-            }
-        }
-    }
-    
-    private void handleChangeVersionMenuSelected()
-    {
-        final IProjectFacet f = getSelectedProjectFacet();
-        final IProjectFacetVersion fv = getSelectedVersion( f );
-        final SortedSet<IProjectFacetVersion> versions = this.fpjwc.getAvailableVersions( f );
-        
-        final IProjectFacetVersion newVersion
-            = ChangeFacetVersionDialog.showDialog( getShell(), f, fv, versions );
-            
-        if( newVersion != null )
-        {
-            this.fpjwc.changeProjectFacetVersion( newVersion );
-        }
-    }
-    
-    private void handleFacetLockUnlock()
-    {
-        final IProjectFacet f = getSelectedProjectFacet();
-        
-        final Set<IProjectFacet> fixedFacets 
-            = new HashSet<IProjectFacet>( this.fpjwc.getFixedProjectFacets() );
-        
-        if( fixedFacets.contains( f ) )
-        {
-            fixedFacets.remove( f );
-        }
-        else
-        {
-            fixedFacets.add( f );
-        }
-        
-        this.fpjwc.setFixedProjectFacets( fixedFacets );
-        
-        updatePopupMenu();
-    }
-    
-    private void updatePopupMenu()
-    {
-        if( this.selection instanceof IProjectFacetVersion )
-        {
-            this.tree.setMenu( this.popupMenu );
-
-            final IProjectFacet f = ( (IProjectFacetVersion) this.selection ).getProjectFacet();
-            
-            if( this.fpjwc.isFixedProjectFacet( f ) )
-            {
-                this.popupMenuLockUnlock.setText( Resources.unlockMenuItem );
-            }
-            else
-            {
-                this.popupMenuLockUnlock.setText( Resources.lockMenuItem );
-            }
-            
-            this.popupMenuLockUnlock.setEnabled( this.fpjwc.hasProjectFacet( f ) );
-            
-            final int numAvailableVersions = this.fpjwc.getAvailableVersions( f ).size();
-            this.popupMenuChangeVersion.setEnabled( numAvailableVersions > 1 );
-        }
-        else
-        {
-            this.tree.setMenu( null );
-        }
-    }
-    
-    private TreeItem getTreeItem( final int x,
-                                  final int y )
-    {
-        return getTreeItemHelper( x, y, this.tree.getItems() );
-    }
-    
-    private static TreeItem getTreeItemHelper( final int x,
-                                               final int y,
-                                               final TreeItem[] items )
-    {
-        for( TreeItem item : items )
-        {
-            if( item.getBounds().contains( x, y ) )
-            {
-                return item;
-            }
-            
-            final TreeItem res = getTreeItemHelper( x, y, item.getItems() );
-            
-            if( res != null )
-            {
-                return res;
-            }
-        }
-        
-        return null;
-    }
-    
-    private int computeDefaultFacetColumnWidth()
-    {
-        final GC gc = new GC( this.getDisplay() );
-        int maxFacetLabelWidth = 0;
-        
-        try
-        {
-            gc.setFont( this.tree.getFont() );
-            
-            for( IProjectFacet f : ProjectFacetsManager.getProjectFacets() )
-            {
-                maxFacetLabelWidth = max( maxFacetLabelWidth, gc.textExtent( f.getLabel() ).x );
-            }
-        }
-        finally
-        {
-            gc.dispose();
-        }
-        
-        return max( maxFacetLabelWidth + 100, 200 );
-    }
-
-    private int computeDefaultVersionColumnWidth()
-    {
-        final GC gc = new GC( this.getDisplay() );
-        int maxVersionStringWidth = 0;
-        final int columnLabelWidth;
-        
-        try
-        {
-            gc.setFont( this.tree.getFont() );
-
-            for( IProjectFacet f : ProjectFacetsManager.getProjectFacets() )
-            {
-                for( IProjectFacetVersion fv : f.getVersions() )
-                {
-                    final int textExtent = gc.textExtent( fv.getVersionString() ).x;
-                    maxVersionStringWidth = max( maxVersionStringWidth, textExtent + 30 );
-                }
-            }
-
-            columnLabelWidth = gc.textExtent( Resources.versionColumnLabel ).x + 30;
-        }
-        finally
-        {
-            gc.dispose();
-        }
-        
-        return max( maxVersionStringWidth, columnLabelWidth );
-    }
-    
-    private IStatus[] getFilteredProblems()
-    {
-        final IStatus[] unfiltered = this.fpjwc.validate().getChildren();
-        boolean somethingToRemove = false;
-        
-        for( IStatus st : unfiltered )
-        {
-            if( st.getCode() == IFacetedProjectWorkingCopy.PROBLEM_PROJECT_NAME )
-            {
-                somethingToRemove = true;
-                break;
-            }
-        }
-        
-        if( ! somethingToRemove )
-        {
-            return unfiltered;
-        }
-        
-        final List<IStatus> filtered = new ArrayList<IStatus>();
-        
-        for( IStatus st : unfiltered )
-        {
-            if( st.getCode() != IFacetedProjectWorkingCopy.PROBLEM_PROJECT_NAME )
-            {
-                filtered.add( st );
-            }
-        }
-        
-        return filtered.toArray( new IStatus[ filtered.size() ] );
-    }
-
-    private final class ContentProvider
-
-        implements ITreeContentProvider
-
-    {
-        public Object[] getElements( final Object element )
-        {
-            final IFacetedProjectWorkingCopy fpjwc = getFacetedProjectWorkingCopy();
-            final List<Object> list = new ArrayList<Object>();
-            final Set<ICategory> categories = ProjectFacetsManager.getCategories();
-
-            for( ICategory cat : categories )
-            {
-                boolean visible = false;
-
-                for( IProjectFacet f : cat.getProjectFacets() )
-                {
-                    if( ! fpjwc.getAvailableVersions( f ).isEmpty() )
-                    {
-                        visible = true;
-                        break;
-                    }
-                }
-
-                if( visible )
-                {
-                    list.add( cat );
-                }
-            }
-            
-            for( Map.Entry<IProjectFacet,SortedSet<IProjectFacetVersion>> entry 
-                 : fpjwc.getAvailableFacets().entrySet() )
-            {
-                final IProjectFacet f = entry.getKey();
-                final SortedSet<IProjectFacetVersion> availableVersions = entry.getValue();
-                
-                if( f.getCategory() == null && ! availableVersions.isEmpty() )
-                {
-                    list.add( f );
-                }
-            }
-
-            return list.toArray();
-        }
-
-        public Object[] getChildren( final Object parent )
-        {
-            if( parent instanceof ICategory )
-            {
-                final IFacetedProjectWorkingCopy fpjwc = getFacetedProjectWorkingCopy();
-                final ICategory category = (ICategory) parent;
-                final List<IProjectFacet> facets = new ArrayList<IProjectFacet>();
-
-                for( IProjectFacet f : category.getProjectFacets() )
-                {
-                    if( ! fpjwc.getAvailableVersions( f ).isEmpty() )
-                    {
-                        facets.add( f );
-                    }
-                }
-
-                return facets.toArray();
-            }
-            else
-            {
-                return new Object[ 0 ];
-            }
-        }
-
-        public Object getParent( final Object element )
-        {
-            if( element instanceof IProjectFacet )
-            {
-                final IProjectFacet f = (IProjectFacet) element;
-                return f.getCategory();
-            }
-            else
-            {
-                return null;
-            }
-        }
-
-        public boolean hasChildren( final Object element )
-        {
-            return ( element instanceof ICategory ) &&
-                   ! ( (ICategory) element ).getProjectFacets().isEmpty();
-        }
-
-        public void dispose() { }
-
-        public void inputChanged( final Viewer viewer,
-                                  final Object oldObject,
-                                  final Object newObject ) {}
-    }
-
-    private final class FacetColumnLabelProvider
-
-        extends ColumnLabelProvider
-    
-    {
-        @Override
-        public String getText( final Object element )
-        {
-            if( element instanceof ICategory )
-            {
-                return ( (ICategory) element ).getLabel();
-            }
-            else
-            {
-                return ( (IProjectFacet) element ).getLabel();
-            }
-        }
-    
-        @Override
-        public Image getImage( final Object element )
-        {
-            if( element instanceof IProjectFacet )
-            {
-                return FacetsSelectionPanel.this.getImage( (IProjectFacet) element, true );
-            }
-            else
-            {
-                return FacetsSelectionPanel.this.getImage( (ICategory) element );
-            }
-        }
-    }
-
-    private final class FacetVersionColumnLabelProvider
-
-        extends ColumnLabelProvider
-
-    {
-        @Override
-        public String getText( final Object element )
-        {
-            if( element instanceof IProjectFacet )
-            {
-                final ProjectFacet f = (ProjectFacet) element;
-                
-                if( ! f.isVersionHidden() )
-                {
-                    return getSelectedVersion( f ).getVersionString();
-                }
-            }
-            
-            return null;
-        }
-    }
-
-    private final class FacetVersionColumnEditingSupport
-
-        extends EditingSupport
-    
-    {
-        private final ReadOnlyComboBoxCellEditor ceditor;
-        private final IFacetedProjectWorkingCopy fpjwc;
-        
-        public FacetVersionColumnEditingSupport( final TreeViewer treeViewer )
-        {
-            super( treeViewer );
-            this.ceditor = new ReadOnlyComboBoxCellEditor( treeViewer.getTree(), new String[ 0 ], SWT.DROP_DOWN | SWT.READ_ONLY );
-            this.fpjwc = getFacetedProjectWorkingCopy();
-        }
-        
-        @Override
-        public boolean canEdit( final Object element )
-        {
-            return element instanceof IProjectFacet &&
-                   this.fpjwc.getAvailableVersions( (IProjectFacet ) element ).size() > 1;
-        }
-        
-        @Override
-        protected CellEditor getCellEditor( final Object element )
-        {
-            final IProjectFacet f = (IProjectFacet) element;
-            
-            if( f == null )
-            {
-                throw new IllegalStateException();
-            }
-            
-            final SortedSet<IProjectFacetVersion> versions = this.fpjwc.getAvailableVersions( f );
-            final String[] verstrs = new String[ versions.size() ];
-            Integer value = null;
-            
-            int i = 0;
-            
-            for( IProjectFacetVersion fv : versions )
-            {
-                verstrs[ i ] = fv.getVersionString();
-                
-                if( fv == getSelectedVersion( f ) )
-                {
-                    value = new Integer( i );
-                }
-                
-                i++;
-            }
-            
-            this.ceditor.setItems( verstrs );
-            this.ceditor.setValue( value );
-            
-            return this.ceditor;
-        }
-    
-        @Override
-        public Object getValue( final Object element )
-        {
-            final IProjectFacet f = (IProjectFacet) element;
-            int i = 0;
-            
-            for( IProjectFacetVersion fv : this.fpjwc.getAvailableVersions( f ) )
-            {
-                if( fv == getSelectedVersion( f ) )
-                {
-                    return new Integer( i );
-                }
-                
-                i++;
-            }
-    
-            return new IllegalStateException();
-        }
-    
-        @Override
-        public void setValue( final Object element,
-                              final Object value )
-        {
-            final IProjectFacet f = (IProjectFacet) element;
-            final int index = ( (Integer) value ).intValue();
-    
-            if( index != -1 )
-            {
-                int i = 0;
-                
-                for( IProjectFacetVersion fv : this.fpjwc.getAvailableVersions( f ) )
-                {
-                    if( i == index )
-                    {
-                        setSelectedVersion( f, fv );
-                        FacetsSelectionPanel.this.treeViewer.update( f, null );
-                        
-                        break;
-                    }
-                    
-                    i++;
-                }
-            }
-        }
-    }
-    
-    private static final class FixedFacetImageDescriptor 
-    
-        extends CompositeImageDescriptor 
-        
-    {
-        private static final String OVERLAY_IMG_LOCATION
-            = "images/lock.gif"; //$NON-NLS-1$
-        
-        private static final ImageData OVERLAY
-            = FacetUiPlugin.getImageDescriptor( OVERLAY_IMG_LOCATION ).getImageData();
-        
-        private final ImageData base;
-        private final Point size;
-        
-        public FixedFacetImageDescriptor( final ImageDescriptor base ) 
-        {
-            this.base = base.getImageData();
-            this.size = new Point( this.base.width, this.base.height ); 
-        }
-
-        protected void drawCompositeImage( final int width, 
-                                           final int height ) 
-        {
-            drawImage( this.base, 0, 0 );
-            drawImage( OVERLAY, 0, height - OVERLAY.height );
-        }
-
-        protected Point getSize()
-        {
-            return this.size;
-        }
-    }
-    
-    private static final class Sorter
-
-        extends ViewerSorter
-
-    {
-        public int compare( final Viewer viewer,
-                            final Object a,
-                            final Object b )
-        {
-            return getLabel( a ).compareToIgnoreCase( getLabel( b ) );
-        }
-
-        private static String getLabel( final Object obj )
-        {
-            if( obj instanceof IProjectFacet )
-            {
-                return ( (IProjectFacet) obj ).getLabel();
-            }
-            else
-            {
-                return ( (ICategory) obj ).getLabel();
-            }
-        }
-    }
-    
-    private final class FacetToolTip
-    
-        extends HeaderToolTip
-        
-    {
-        public FacetToolTip( final Control control )
-        {
-            super( control );
-        }
-        
-        @Override
-        protected final boolean shouldCreateToolTip( final Event event ) 
-        {
-            if( getShowToolTips() == false )
-            {
-                return false;
-            }
-            
-            final TreeItem treeItem = getTreeItem( event.x, event.y );
-            String description = null;
-            
-            if( treeItem != null && treeItem.getBounds( 0 ).contains( event.x, event.y ) )
-            {
-                final Object treeItemData = treeItem.getData();
-                
-                if( treeItemData instanceof IProjectFacet )
-                {
-                    description = ( (IProjectFacet) treeItemData ).getDescription();
-                }
-            }
-            
-            return ( description != null && description.trim().length() > 0 );
-        }
-
-        @Override
-        protected String getToolTipTitle( final Event event )
-        {
-            final IProjectFacet f = (IProjectFacet) getTreeItem( event.x, event.y ).getData();
-            return getSelectedVersion( f ).toString();
-        }
-
-        @Override
-        protected Composite createContentArea( final Event event,
-                                               final Composite parent )
-        {
-            final Display display = parent.getDisplay();
-            
-            final Composite composite = new Composite( parent, SWT.NONE );
-            composite.setLayout( gl( 1 ) );
-            composite.setBackground( display.getSystemColor( SWT.COLOR_INFO_BACKGROUND ) );
-            
-            final Label label = new Label( composite, SWT.WRAP );
-            label.setLayoutData( gdfill() );
-            label.setBackground( display.getSystemColor( SWT.COLOR_INFO_BACKGROUND ) );
-
-            final IProjectFacet f = (IProjectFacet) getTreeItem( event.x, event.y ).getData();
-            label.setText( f.getDescription() );
-            
-            return composite;
-        }
-    }
-
-    private final class CategoryToolTip
-    
-        extends HeaderToolTip
-        
-    {
-        public CategoryToolTip( final Control control )
-        {
-            super( control );
-        }
-        
-        @Override
-        protected final boolean shouldCreateToolTip( final Event event ) 
-        {
-            if( getShowToolTips() == false )
-            {
-                return false;
-            }
-            
-            final TreeItem treeItem = getTreeItem( event.x, event.y );
-            String description = null;
-            
-            if( treeItem != null && treeItem.getBounds( 0 ).contains( event.x, event.y ) )
-            {
-                final Object treeItemData = treeItem.getData();
-                
-                if( treeItemData instanceof ICategory )
-                {
-                    description = ( (ICategory) treeItemData ).getDescription();
-                }
-            }
-            
-            return ( description != null && description.trim().length() > 0 );
-        }
-    
-        @Override
-        protected String getToolTipTitle( final Event event )
-        {
-            return ( (ICategory) getTreeItem( event.x, event.y ).getData() ).getLabel();
-        }
-    
-        @Override
-        protected Composite createContentArea( final Event event,
-                                               final Composite parent )
-        {
-            final Display display = parent.getDisplay();
-            
-            final Composite composite = new Composite( parent, SWT.NONE );
-            composite.setLayout( gl( 1 ) );
-            composite.setBackground( display.getSystemColor( SWT.COLOR_INFO_BACKGROUND ) );
-            
-            final Label label = new Label( composite, SWT.WRAP );
-            label.setLayoutData( gdfill() );
-            label.setBackground( display.getSystemColor( SWT.COLOR_INFO_BACKGROUND ) );
-    
-            final ICategory category = (ICategory) getTreeItem( event.x, event.y ).getData();
-            label.setText( category.getDescription() );
-            
-            return composite;
-        }
-    }
-
-    private final class FixedFacetToolTip
-    
-        extends BasicToolTip
-        
-    {
-        private static final int FAKE_EVENT_TYPE = -9999;
-        
-        public FixedFacetToolTip( final Control control )
-        {
-            super( control );
-            setPopupDelay( 0 );
-        }
-        
-        public void show( final Point location )
-        {
-            // The JFace ToolTip class does not support alternative methods of tool tip activation.
-            // An enhancement request https://bugs.eclipse.org/bugs/show_bug.cgi?id=174844 tracks
-            // this issue. When that enhancement request has been resolved, this hacky 
-            // implementation should be replaced with something more sensible.
-            
-            final Event fakeEvent = new Event();
-            fakeEvent.type = FAKE_EVENT_TYPE;
-            fakeEvent.x = location.x;
-            fakeEvent.y = location.y;
-            
-            try
-            {
-                final Method method
-                    = ToolTip.class.getDeclaredMethod( "toolTipCreate", Event.class ); //$NON-NLS-1$
-                
-                method.setAccessible( true );
-                method.invoke( this, fakeEvent );
-            }
-            catch( Exception e )
-            {
-                FacetUiPlugin.log( e );
-            }
-        }
-        
-        @Override
-        protected final boolean shouldCreateToolTip( final Event event ) 
-        {
-            return ( event.type == FAKE_EVENT_TYPE );
-        }
-    }
-    
-    private final class ProblemsContentProvider
-
-        implements IStructuredContentProvider
-
-    {
-        public Object[] getElements( final Object element )
-        {
-            return getFilteredProblems();
-        }
-
-        public void inputChanged( final Viewer viewer,
-                                  final Object oldObject,
-                                  final Object newObject ) {}
-        
-        public void dispose() {}
-    }
-
-    private final class ProblemsLabelProvider
-
-        implements ITableLabelProvider
-
-    {
-        public String getColumnText( final Object element,
-                                     final int column )
-        {
-            return ( (IStatus) element ).getMessage();
-        }
-
-        public Image getColumnImage( final Object element,
-                                     final int column )
-        {
-            final ISharedImages sharedImages = PlatformUI.getWorkbench().getSharedImages();
-            final String imageType;
-            
-            if( ( (IStatus) element ).getSeverity() == IStatus.ERROR )
-            {
-                imageType = ISharedImages.IMG_OBJS_ERROR_TSK;
-            }
-            else
-            {
-                imageType = ISharedImages.IMG_OBJS_WARN_TSK;
-            }
-            
-            return sharedImages.getImage( imageType );
-        }
-
-        public boolean isLabelProperty( final Object obj,
-                                        final String s )
-        {
-            return false;
-        }
-
-        public void dispose() {}
-        public void addListener( final ILabelProviderListener listener ) {}
-        public void removeListener( ILabelProviderListener listener ) {}
-    }
-    
-    private static final class Resources
-    
-        extends NLS
-        
-    {
-        public static String presetsLabel;
-        public static String saveButtonLabel;
-        public static String deleteButtonLabel;
-        public static String savePresetDialogTitle;
-        public static String savePresetDialogMessage;
-        public static String facetColumnLabel;
-        public static String versionColumnLabel;
-        public static String couldNotDeselectFixedFacetMessage;
-        public static String detailsTabLabel;
-        public static String runtimesTabLabel;
-        public static String lockMenuItem;
-        public static String unlockMenuItem;
-        public static String changeVersionMenuItem;
-        
-        static
-        {
-            initializeMessages( FacetsSelectionPanel.class.getName(), 
-                                Resources.class );
-        }
-        
-        public static String bind( final String msg,
-                                   final Object arg1,
-                                   final Object arg2,
-                                   final Object arg3 )
-        {
-            return NLS.bind( msg, new Object[] { arg1, arg2, arg3 } );
-        }
-    }
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetsSelectionPanel.properties b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetsSelectionPanel.properties
deleted file mode 100644
index 4508d75..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetsSelectionPanel.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-presetsLabel = Configurations:\ 
-saveButtonLabel = &Save As...
-deleteButtonLabel = &Delete
-savePresetDialogTitle = Save Configuration
-savePresetDialogMessage = Enter the name for the configuration.
-facetColumnLabel = Project Facet
-versionColumnLabel = Version
-couldNotDeselectFixedFacetMessage = Project facet {0} cannot be deselected. It is critical to the proper function of this project.
-detailsTabLabel = Details
-runtimesTabLabel = Runtimes
-lockMenuItem = Lock
-unlockMenuItem = Unlock
-changeVersionMenuItem = Change Version...
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/ProjectFacetsUiManagerImpl.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/ProjectFacetsUiManagerImpl.java
deleted file mode 100644
index 43f432f..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/ProjectFacetsUiManagerImpl.java
+++ /dev/null
@@ -1,515 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2008 BEA Systems, Inc.
- * 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:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal;
-
-import static org.eclipse.wst.common.project.facet.core.util.internal.PluginUtil.findExtensions;
-import static org.eclipse.wst.common.project.facet.core.util.internal.PluginUtil.getTopLevelElements;
-import static org.eclipse.wst.common.project.facet.ui.internal.FacetUiPlugin.PLUGIN_ID;
-
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.common.project.facet.core.IActionDefinition;
-import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject.Action;
-import org.eclipse.wst.common.project.facet.core.internal.ProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponentType;
-import org.eclipse.wst.common.project.facet.core.runtime.RuntimeManager;
-import org.eclipse.wst.common.project.facet.ui.IFacetWizardPage;
-import org.osgi.framework.Bundle;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public final class ProjectFacetsUiManagerImpl 
-{
-    private static final String WIZARD_PAGES_EXTENSION_ID = "wizardPages"; //$NON-NLS-1$
-    private static final String WIZARD_PAGES_EXTENSION_ID_OLD = "wizard"; //$NON-NLS-1$
-    private static final String IMAGES_EXTENSION_ID = "images"; //$NON-NLS-1$
-    
-    private static final String EL_WIZARD_PAGES = "wizard-pages"; //$NON-NLS-1$
-    private static final String EL_PAGE = "page"; //$NON-NLS-1$
-    private static final String EL_IMAGE = "image"; //$NON-NLS-1$
-    private static final String ATTR_PATH = "path"; //$NON-NLS-1$
-    private static final String ATTR_RUNTIME_COMPONENT_TYPE = "runtime-component-type"; //$NON-NLS-1$
-    private static final String ATTR_CATEGORY = "category"; //$NON-NLS-1$
-    private static final String ATTR_CLASS = "class"; //$NON-NLS-1$
-    private static final String ATTR_VERSION = "version"; //$NON-NLS-1$
-    private static final String ATTR_FACET = "facet"; //$NON-NLS-1$
-    private static final String ATTR_ACTION = "action"; //$NON-NLS-1$
-
-    private static final Map<String,WizardPagesInfo> wizardPages;
-    
-    /**
-     * Maps either IProjectFacet or IRuntimeComponentType to an ImageDescriptor.
-     */
-    
-    private static final Map<Object,ImageDescriptor> icons = new HashMap<Object,ImageDescriptor>();
-    private static ImageDescriptor defaultIcon;
-    
-    static
-    {
-        // Make sure that the core extensions are loaded first.
-        
-        ProjectFacetsManager.getProjectFacets();
-        RuntimeManager.getRuntimeComponentTypes();
-        
-        wizardPages = new HashMap<String,WizardPagesInfo>();
-        
-        final Bundle bundle = Platform.getBundle( FacetUiPlugin.PLUGIN_ID );
-        final URL url = bundle.getEntry( "images/unknown.gif" ); //$NON-NLS-1$
-        defaultIcon = ImageDescriptor.createFromURL( url );
-        
-        readWizardPagesExtensions();
-        readWizardPagesExtensionsOld();
-        readImagesExtensions();
-    }
-    
-    private ProjectFacetsUiManagerImpl() {}
-    
-    public static ImageDescriptor getIcon( final Object obj )
-    {
-        final ImageDescriptor imgdesc = icons.get( obj );
-        return imgdesc != null ? imgdesc : defaultIcon;
-    }
-    
-    public static List<IFacetWizardPage> getWizardPages( final String actionId )
-    {
-        final WizardPagesInfo info = wizardPages.get( actionId );
-        
-        if( info != null )
-        {
-            return getWizardPages( info.plugin, info.pages );
-        }
-        
-        return Collections.emptyList();
-    }
-
-    /**
-     * @return (element type: {@link IFacetWizardPage})
-     * @deprecated
-     */
-    
-    @SuppressWarnings( "unchecked" )
-    public static List getWizardPages( final Action.Type actionType,
-                                       final IProjectFacetVersion fv )
-    {
-        if( fv.supports( actionType ) )
-        {
-            try
-            {
-                final IActionDefinition def = ( (ProjectFacetVersion) fv ).getActionDefinition( actionType );
-                return getWizardPages( def.getId() );
-            }
-            catch( CoreException e )
-            {
-                FacetUiPlugin.log( e );
-            }
-        }
-
-        return Collections.EMPTY_LIST;
-    }
-
-    private static List<IFacetWizardPage> getWizardPages( final String plugin,
-                                                          final List<String> clnames )
-    {
-        final List<IFacetWizardPage> pages = new ArrayList<IFacetWizardPage>();
-        
-        for( String clname : clnames )
-        {
-            try
-            {
-                pages.add( (IFacetWizardPage) create( plugin, clname ) );
-            }
-            catch( CoreException e )
-            {
-                FacetUiPlugin.log( e );
-            }
-        }
-        
-        return pages;
-    }
-    
-    private static Object create( final String plugin,
-                                  final String clname )
-    
-        throws CoreException
-        
-    {
-        final Bundle bundle = Platform.getBundle( plugin );
-        
-        try
-        {
-            final Class<?> cl = bundle.loadClass( clname );
-            return cl.newInstance();
-        }
-        catch( Exception e )
-        {
-            final String msg
-                = NLS.bind( Resources.failedToCreate, clname );
-            
-            final IStatus st = FacetUiPlugin.createErrorStatus( msg, e );
-            
-            throw new CoreException( st );
-        }
-    }
-    
-    private static void readWizardPagesExtensions()
-    {
-        for( IConfigurationElement config
-             : getTopLevelElements( findExtensions( PLUGIN_ID, WIZARD_PAGES_EXTENSION_ID ) ) )
-        {
-            final String ename = config.getName();
-            
-            if( ename.equals( EL_WIZARD_PAGES ) )
-            {
-                final String action = config.getAttribute( ATTR_ACTION );
-
-                if( action == null )
-                {
-                    reportMissingAttribute( config, ATTR_ACTION );
-                    return;
-                }
-                
-                final String pluginId = config.getContributor().getName();
-                
-                if( ProjectFacetsManager.isActionDefined( action ) )
-                {
-                    final WizardPagesInfo pagesInfo = new WizardPagesInfo();
-                    
-                    pagesInfo.plugin = pluginId;
-                    pagesInfo.pages = readPageList( config );
-                    
-                    wizardPages.put( action, pagesInfo );
-                }
-                else
-                {
-                    final String msg = NLS.bind( Resources.actionNotDefined, pluginId, action );
-                    FacetUiPlugin.logError( msg );
-                }
-            }
-        }
-    }
-    
-    private static void readWizardPagesExtensionsOld()
-    {
-        for( IConfigurationElement config
-            : getTopLevelElements( findExtensions( PLUGIN_ID, WIZARD_PAGES_EXTENSION_ID_OLD ) ) )
-        {
-            final String ename = config.getName();
-            
-            if( ename.equals( EL_WIZARD_PAGES ) )
-            {
-                readWizardPagesOld( config );
-            }
-        }
-    }
-    
-    @SuppressWarnings( "deprecation" )
-    private static void readWizardPagesOld( final IConfigurationElement config )
-    {
-        final String pluginId = config.getContributor().getName();
-
-        final String depMsg 
-            = NLS.bind( Resources.wizardExtensionPointDeprecated, pluginId );
-        
-        FacetUiPlugin.logWarning( depMsg, true );
-        
-        final String id = config.getAttribute( ATTR_FACET );
-
-        if( id == null )
-        {
-            reportMissingAttribute( config, ATTR_FACET );
-            return;
-        }
-        
-        if( ! ProjectFacetsManager.isProjectFacetDefined( id ) )
-        {
-            final String msg
-                = NLS.bind( Resources.facetNotDefined, 
-                            config.getContributor().getName(), id );
-            
-            FacetUiPlugin.log( msg );
-            
-            return;
-        }
-        
-        final IProjectFacet f = ProjectFacetsManager.getProjectFacet( id );
-
-        final String version = config.getAttribute( ATTR_VERSION );
-
-        if( version == null )
-        {
-            reportMissingAttribute( config, ATTR_VERSION );
-            return;
-        }
-        
-        if( ! f.hasVersion( version ) )
-        {
-            final String[] params
-                = new String[] { config.getContributor().getName(), id, 
-                                 version };
-            
-            final String msg
-                = NLS.bind( Resources.facetVersionNotDefined, 
-                            params ); 
-            
-            FacetUiPlugin.log( msg );
-            
-            return;
-        }
-        
-        final IProjectFacetVersion fv = f.getVersion( version );
-        final IConfigurationElement[] children = config.getChildren();
-        
-        for( int i = 0; i < children.length; i++ )
-        {
-            final IConfigurationElement child = children[ i ];
-            final String childName = child.getName();
-            final Action.Type actionType = Action.Type.valueOf( childName );
-            
-            if( actionType == null )
-            {
-                final String msg
-                    = NLS.bind( Resources.invalidActionType, 
-                                config.getContributor().getName(), childName );
-                
-                FacetUiPlugin.log( msg );
-                
-                return;
-            }
-            
-            if( fv.supports( actionType ) )
-            {
-                final IActionDefinition def;
-                
-                try
-                {
-                    def = ( (ProjectFacetVersion) fv ).getActionDefinition( actionType );
-                }
-                catch( CoreException e )
-                {
-                    FacetUiPlugin.log( e );
-                    return;
-                }
-                
-                final WizardPagesInfo pagesInfo = new WizardPagesInfo();
-                
-                pagesInfo.plugin = pluginId;
-                pagesInfo.pages = readPageList( child );
-                
-                wizardPages.put( def.getId(), pagesInfo );
-            }
-        }
-    }
-
-    private static List<String> readPageList( final IConfigurationElement config )
-    {
-        final List<String> list = new ArrayList<String>();
-        final IConfigurationElement[] children = config.getChildren();
-        
-        for( int i = 0; i < children.length; i++ )
-        {
-            final IConfigurationElement child = children[ i ];
-            final String childName = child.getName();
-            
-            if( childName.equals( EL_PAGE ) )
-            {
-                final String clname = child.getAttribute( ATTR_CLASS );
-                
-                if( clname == null )
-                {
-                    reportMissingAttribute( config, ATTR_CLASS );
-                    continue;
-                }
-                
-                list.add( clname );
-            }
-        }
-        
-        return list;
-    }
-    
-    private static void readImagesExtensions()
-    {
-        for( IConfigurationElement config
-            : getTopLevelElements( findExtensions( PLUGIN_ID, IMAGES_EXTENSION_ID ) ) )
-        {
-            final String ename = config.getName();
-            
-            if( ename.equals( EL_IMAGE ) )
-            {
-                final String fid = config.getAttribute( ATTR_FACET );
-                final String cid = config.getAttribute( ATTR_CATEGORY );
-                final String rct = config.getAttribute( ATTR_RUNTIME_COMPONENT_TYPE );
-                
-                final Set<Object> targets = new HashSet<Object>();
-                
-                if( fid != null )
-                {
-                    if( ! ProjectFacetsManager.isProjectFacetDefined( fid ) )
-                    {
-                        final String msg
-                            = NLS.bind( Resources.facetNotDefined, 
-                                        config.getContributor().getName(), fid );
-                        
-                        FacetUiPlugin.log( msg );
-                        
-                        break;
-                    }
-                    
-                    targets.add( ProjectFacetsManager.getProjectFacet( fid ) );
-                }
-                else if( cid != null )
-                {
-                    if( ! ProjectFacetsManager.isCategoryDefined( cid ) )
-                    {
-                        final String msg
-                            = NLS.bind( Resources.categoryNotDefined, 
-                                        config.getContributor().getName(), fid );
-                        
-                        FacetUiPlugin.log( msg );
-                        
-                        break;
-                    }
-                    
-                    targets.add( ProjectFacetsManager.getCategory( cid ) );
-                }
-                else if( rct != null )
-                {
-                    if( ! RuntimeManager.isRuntimeComponentTypeDefined( rct ) )
-                    {
-                        final String msg
-                            = NLS.bind( Resources.runtimeComponentTypeNotDefined, 
-                                        config.getContributor().getName(), rct );
-                        
-                        FacetUiPlugin.log( msg );
-                        
-                        break;
-                    }
-                    
-                    final IRuntimeComponentType type = RuntimeManager.getRuntimeComponentType( rct );
-                    final String vexpr = config.getAttribute( ATTR_VERSION );
-                    
-                    if( vexpr == null )
-                    {
-                        targets.addAll( type.getVersions() );
-                    }
-                    else
-                    {
-                        try
-                        {
-                            targets.addAll( type.getVersions( vexpr ) );
-                        }
-                        catch( Exception e )
-                        {
-                            FacetUiPlugin.log( e );
-                        }
-                    }
-                }
-                else
-                {
-                    reportMissingAttribute( config, ATTR_FACET );
-                    break;
-                }
-                
-                final String path = config.getAttribute( ATTR_PATH );
-                
-                if( path == null )
-                {
-                    reportMissingAttribute( config, ATTR_PATH );
-                }
-                        
-                final String plugin = config.getContributor().getName();
-                final Bundle bundle = Platform.getBundle( plugin );
-                final URL url = FileLocator.find( bundle, new Path( path ), null );
-                
-                if( url == null )
-                {
-                    final String msg
-                        = NLS.bind( Resources.iconNotFound, plugin, path );
-                    
-                    FacetUiPlugin.log( msg );
-                }
-                else
-                {
-                    final ImageDescriptor imgdesc
-                        = ImageDescriptor.createFromURL( url );
-                    
-                    for( Object target : targets )
-                    {
-                        icons.put( target, imgdesc );
-                    }
-                }
-            }
-        }
-    }
-    
-    private static void reportMissingAttribute( final IConfigurationElement el,
-                                                final String attribute )
-    {
-        final String[] params 
-            = new String[] { el.getContributor().getName(), el.getName(), 
-                             attribute };
-        
-        final String msg = NLS.bind( Resources.missingAttribute, params ); 
-    
-        FacetUiPlugin.log( msg );
-    }
-    
-    private static class WizardPagesInfo
-    {
-        public String plugin;
-        public List<String> pages;
-    }
-
-    private static final class Resources
-    
-        extends NLS
-        
-    {
-        public static String missingAttribute;
-        public static String facetNotDefined;
-        public static String facetVersionNotDefined;
-        public static String categoryNotDefined;
-        public static String runtimeComponentTypeNotDefined;
-        public static String failedToCreate;
-        public static String invalidActionType;
-        public static String iconNotFound;
-        public static String wizardExtensionPointDeprecated;
-        public static String actionNotDefined;
-        
-        static
-        {
-            initializeMessages( ProjectFacetsUiManagerImpl.class.getName(), 
-                                Resources.class );
-        }
-    }
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/ProjectFacetsUiManagerImpl.properties b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/ProjectFacetsUiManagerImpl.properties
deleted file mode 100644
index 3186453..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/ProjectFacetsUiManagerImpl.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-missingAttribute = An extension element <{1}> in plugin {0} is missing a required attribute {2}.
-facetNotDefined = Project facet {1} has not been defined. It is used in plugin {0}.
-facetVersionNotDefined = Version {2} of project facet {1} has not been defined. It is used in plugin {0}.
-categoryNotDefined = Category {1} has not been defined. It is used in plugin {0}.
-runtimeComponentTypeNotDefined = Runtime component type {1} has not been defined. It is used in plugin {0}.
-failedToCreate = Failed to instantiate class {0}.
-invalidActionType = "{1}" is an invalid action type. It is used in plugin {0}.
-iconNotFound = Could not load icon "{1}" from plugin {0}.
-
-wizardExtensionPointDeprecated = \
-Extension point org.eclipse.wst.common.project.facet.ui.wizard is deprecated. \
-It is used in plugin {0}. \
-Extension point org.eclipse.wst.common.project.facet.ui.wizardPages provides \
-analogous functionality.
-
-actionNotDefined = Project facet action "{1}" has not been defined. It is used in plugin {0}.
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/RuntimesPanel.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/RuntimesPanel.java
deleted file mode 100644
index bce9b41..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/RuntimesPanel.java
+++ /dev/null
@@ -1,1095 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2008 BEA Systems, Inc.
- * 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:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal;
-
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gd;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdfill;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdhalign;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdhfill;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdhhint;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdwhint;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gl;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.glmargins;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.SwtUtil.getPreferredWidth;
-
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.resource.CompositeImageDescriptor;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.IColorProvider;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.ImageData;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectWorkingCopy;
-import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectEvent;
-import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectListener;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntime;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponent;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponentType;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponentVersion;
-import org.eclipse.wst.common.project.facet.core.runtime.RuntimeManager;
-import org.eclipse.wst.common.project.facet.core.runtime.events.IRuntimeLifecycleEvent;
-import org.eclipse.wst.common.project.facet.core.runtime.events.IRuntimeLifecycleListener;
-import org.eclipse.wst.common.project.facet.core.runtime.events.IValidationStatusChangedEvent;
-import org.eclipse.wst.common.project.facet.ui.IDecorationsProvider;
-import org.eclipse.wst.common.project.facet.ui.IRuntimeComponentLabelProvider;
-import org.eclipse.wst.common.project.facet.ui.internal.util.BasicToolTip;
-import org.osgi.framework.Bundle;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public final class RuntimesPanel
-
-    extends Composite
-
-{
-    private static final Object NO_RUNTIME_SELECTED_PLACEHOLDER = new Object();
-    
-    private final IFacetedProjectWorkingCopy fpjwc;
-    private boolean showAllRuntimesSetting;
-    private final CheckboxTableViewer runtimes;
-    private final Button showAllRuntimesCheckbox;
-    private final Button makePrimaryButton;
-    private final Button newRuntimeButton;
-    private final Label runtimeComponentsLabel;
-    private final TableViewer runtimeComponents;
-    private IRuntime currentPrimaryRuntime;
-    private final List<IFacetedProjectListener> listeners;
-    private Color colorGray;
-    private final RuntimeValidationAssistant runtimeValidationAssistant;
-    
-    public RuntimesPanel( final Composite parent,
-                          final IFacetedProjectWorkingCopy fpjwc )
-    {
-        super( parent, SWT.NONE );
-        
-        this.listeners = new ArrayList<IFacetedProjectListener>();
-        
-        addDisposeListener
-        ( 
-            new DisposeListener()
-            {
-                public void widgetDisposed( final DisposeEvent e )
-                {
-                    handleWidgetDisposed();
-                }
-            }
-        );
-        
-        // Setup runtime validation assistant.
-        
-        this.runtimeValidationAssistant = new RuntimeValidationAssistant();
-       
-        // Bind to the data model.
-        
-        this.fpjwc = fpjwc;
-        
-        addDataModelListener
-        ( 
-            new IFacetedProjectListener()
-            {
-                public void handleEvent( final IFacetedProjectEvent event )
-                {
-                    handleAvailableRuntimesChanged();
-                }
-            },
-            IFacetedProjectEvent.Type.AVAILABLE_RUNTIMES_CHANGED
-        );
-        
-        addDataModelListener
-        ( 
-            new IFacetedProjectListener()
-            {
-                public void handleEvent( final IFacetedProjectEvent event )
-                {
-                    handleTargetableRuntimesChanged();
-                }
-            },
-            IFacetedProjectEvent.Type.TARGETABLE_RUNTIMES_CHANGED
-        );
-        
-        addDataModelListener
-        ( 
-            new IFacetedProjectListener()
-            {
-                public void handleEvent( final IFacetedProjectEvent event )
-                {
-                    handleTargetedRuntimesChanged();
-                }
-            },
-            IFacetedProjectEvent.Type.TARGETED_RUNTIMES_CHANGED
-        );
-        
-        addDataModelListener
-        ( 
-            new IFacetedProjectListener()
-            {
-                public void handleEvent( final IFacetedProjectEvent event )
-                {
-                    handlePrimaryRuntimeChanged();
-                }
-            },
-            IFacetedProjectEvent.Type.PRIMARY_RUNTIME_CHANGED
-        );
-        
-        this.showAllRuntimesSetting = false;
-
-        // Initialize the colors.
-        
-        this.colorGray = new Color( null, 160, 160, 164 );
-
-        // Layout the panel.
-        
-        final GridLayout layout = new GridLayout( 1, false );
-        layout.marginHeight = 5;
-        layout.marginWidth = 5;
-
-        setLayout( layout );
-
-        this.runtimes = CheckboxTableViewer.newCheckList( this, SWT.BORDER );
-        this.runtimes.getTable().setLayoutData( gdfill() );
-        this.runtimes.setContentProvider( new ContentProvider() );
-        this.runtimes.setLabelProvider( new LabelProvider() );
-        this.runtimes.setSorter( new Sorter() );
-        this.runtimes.setInput( new Object() );
-        
-        new ValidationProblemToolTip( this.runtimes.getTable() );
-        
-        this.runtimes.addSelectionChangedListener
-        (
-            new ISelectionChangedListener()
-            {
-                public void selectionChanged( final SelectionChangedEvent e )
-                {
-                    handleRuntimeSelectionChanged();
-                }
-            }
-        );
-        
-        this.runtimes.addCheckStateListener
-        (
-            new ICheckStateListener()
-            {
-                public void checkStateChanged( final CheckStateChangedEvent e )
-                {
-                    handleCheckStateChanged( e );
-                }
-            }
-        );
-        
-        this.showAllRuntimesCheckbox = new Button( this, SWT.CHECK );
-        this.showAllRuntimesCheckbox.setText( Resources.showAllRuntimes );
-        this.showAllRuntimesCheckbox.setSelection( this.showAllRuntimesSetting );
-        
-        this.showAllRuntimesCheckbox.addSelectionListener
-        (
-            new SelectionAdapter()
-            {
-                public void widgetSelected( final SelectionEvent e )
-                {
-                    handleShowAllRuntimesSelected();
-                }
-            }
-        );
-        
-        final Composite buttons = new Composite( this, SWT.NONE );
-        buttons.setLayoutData( gdhalign( gd(), GridData.END ) );
-        buttons.setLayout( glmargins( gl( 2 ), 0, 0 ) );
-        
-        GridData gd;
-        
-        this.makePrimaryButton = new Button( buttons, SWT.PUSH );
-        this.makePrimaryButton.setText( Resources.makePrimaryLabel );
-        gd = gdwhint( gd(), getPreferredWidth( this.makePrimaryButton ) + 15 );
-        this.makePrimaryButton.setLayoutData( gd );
-        this.makePrimaryButton.setEnabled( false );
-        
-        this.makePrimaryButton.addSelectionListener
-        (
-            new SelectionAdapter()
-            {
-                public void widgetSelected( final SelectionEvent e )
-                {
-                    handleMakePrimarySelected();
-                }
-            }
-        );
-        
-        this.newRuntimeButton = new Button( buttons, SWT.PUSH );
-        this.newRuntimeButton.setText( Resources.newRuntimeButtonLabel );
-        gd = gdwhint( gd(), getPreferredWidth( this.newRuntimeButton ) + 15 );
-        this.newRuntimeButton.setLayoutData( gd );
-
-        this.newRuntimeButton.addSelectionListener
-        (
-            new SelectionAdapter()
-            {
-                public void widgetSelected( final SelectionEvent e )
-                {
-                    handleNewRuntimeButtonSelected();
-                }
-            }
-        );
-        
-        this.runtimeComponentsLabel = new Label( this, SWT.NONE );
-        this.runtimeComponentsLabel.setText( Resources.runtimeCompositionLabel );
-        this.runtimeComponentsLabel.setLayoutData( gdhfill() );
-        
-        final Color infoBackgroundColor
-            = parent.getDisplay().getSystemColor( SWT.COLOR_INFO_BACKGROUND );
-        
-        final Color infoForegroundColor
-            = parent.getDisplay().getSystemColor( SWT.COLOR_INFO_FOREGROUND );
-        
-        this.runtimeComponents = new TableViewer( this, SWT.BORDER );
-        this.runtimeComponents.getTable().setLayoutData( gdhhint( gdhfill(), 50 ) );
-        this.runtimeComponents.getTable().setBackground( infoBackgroundColor );
-        this.runtimeComponents.getTable().setForeground( infoForegroundColor );
-        this.runtimeComponents.setContentProvider( new RuntimeComponentsContentProvider() );
-        this.runtimeComponents.setLabelProvider( new RuntimeComponentsLabelProvider() );
-        
-        this.runtimeComponents.setInput( NO_RUNTIME_SELECTED_PLACEHOLDER );
-        this.runtimeComponents.getTable().setEnabled( false );
-        this.runtimeComponentsLabel.setEnabled( false );
-        
-        refresh();
-        this.currentPrimaryRuntime = this.fpjwc.getPrimaryRuntime();
-        
-	    Dialog.applyDialogFont( parent );
-    }
-    
-    public IFacetedProjectWorkingCopy getFacetedProjectWorkingCopy()
-    {
-        return this.fpjwc;
-    }
-    
-    private void handleAvailableRuntimesChanged()
-    {
-        if( ! Thread.currentThread().equals( getDisplay().getThread() ) )
-        {
-            getDisplay().asyncExec
-            ( 
-                new Runnable()
-                {
-                    public void run()
-                    {
-                        handleAvailableRuntimesChanged();
-                    }
-                }
-            );
-            
-            return;
-        }
-        
-        if( this.showAllRuntimesSetting )
-        {
-            refresh();
-        }
-    }
-    
-    private void handleTargetableRuntimesChanged()
-    {
-        if( ! Thread.currentThread().equals( getDisplay().getThread() ) )
-        {
-            getDisplay().asyncExec
-            ( 
-                new Runnable()
-                {
-                    public void run()
-                    {
-                        handleTargetableRuntimesChanged();
-                    }
-                }
-            );
-            
-            return;
-        }
-        
-        refresh();
-    }
-    
-    private void handleTargetedRuntimesChanged()
-    {
-        if( ! Thread.currentThread().equals( getDisplay().getThread() ) )
-        {
-            getDisplay().asyncExec
-            ( 
-                new Runnable()
-                {
-                    public void run()
-                    {
-                        handleTargetedRuntimesChanged();
-                    }
-                }
-            );
-            
-            return;
-        }
-        
-        final Set<IRuntime> targeted = this.fpjwc.getTargetedRuntimes();
-        
-        for( IRuntime r : this.fpjwc.getTargetableRuntimes() )
-        {
-            if( targeted.contains( r ) )
-            {
-                if( ! this.runtimes.getChecked( r ) )
-                {
-                    this.runtimes.setChecked( r, true );
-                }
-            }
-            else
-            {
-                if( this.runtimes.getChecked( r ) )
-                {
-                    this.runtimes.setChecked( r, false );
-                }
-            }
-        }
-    }
-    
-    private void handlePrimaryRuntimeChanged()
-    {
-        if( ! Thread.currentThread().equals( getDisplay().getThread() ) )
-        {
-            getDisplay().asyncExec
-            ( 
-                new Runnable()
-                {
-                    public void run()
-                    {
-                        handlePrimaryRuntimeChanged();
-                    }
-                }
-            );
-            
-            return;
-        }
-        
-        if( this.currentPrimaryRuntime != null )
-        {
-            this.runtimes.update( this.currentPrimaryRuntime, null );
-        }
-        
-        this.currentPrimaryRuntime = this.fpjwc.getPrimaryRuntime();
-        
-        if( this.currentPrimaryRuntime != null )
-        {
-            this.runtimes.update( this.currentPrimaryRuntime, null );
-        }
-    }
-    
-    private void handleCheckStateChanged( final CheckStateChangedEvent e )
-    {
-        final IRuntime runtime = (IRuntime) e.getElement();
-        
-        if( ! this.fpjwc.getTargetableRuntimes().contains( runtime ) &&
-            e.getChecked() )
-        {
-            this.runtimes.setChecked( runtime, false );
-            return;
-        }
-        
-        if( e.getChecked() )
-        {
-            this.fpjwc.addTargetedRuntime( runtime );
-        }
-        else
-        {
-            this.fpjwc.removeTargetedRuntime( runtime );
-        }
-    }
-    
-    private void handleRuntimeSelectionChanged()
-    {
-        final IRuntime r = getSelection();
-        
-        if( r == null )
-        {
-            if( this.runtimeComponents.getInput() != null )
-            {
-                this.runtimeComponentsLabel.setEnabled( false );
-                this.runtimeComponents.getTable().setEnabled( false );
-                this.runtimeComponents.setInput( NO_RUNTIME_SELECTED_PLACEHOLDER );
-            }
-        }
-        else
-        {
-            if( this.runtimeComponents.getInput() == null ||
-                ! this.runtimeComponents.getInput().equals( r ) )
-            {
-                this.runtimeComponentsLabel.setEnabled( true );
-                this.runtimeComponents.getTable().setEnabled( true );
-                this.runtimeComponents.setInput( r );
-            }
-            
-            if( this.runtimes.getChecked( r ) && 
-                this.fpjwc.getPrimaryRuntime() != null && 
-                ! this.fpjwc.getPrimaryRuntime().equals( r ) &&
-                this.fpjwc.getTargetableRuntimes().contains( r ) )
-            {
-                this.makePrimaryButton.setEnabled( true );
-            }
-            else
-            {
-                this.makePrimaryButton.setEnabled( false );
-            }
-        }
-    }
-    
-    private void handleShowAllRuntimesSelected()
-    {
-        this.showAllRuntimesSetting 
-            = this.showAllRuntimesCheckbox.getSelection();
-        
-        refresh();
-    }
-    
-    private void handleMakePrimarySelected()
-    {
-        this.fpjwc.setPrimaryRuntime( getSelection() );
-    }
-    
-    @SuppressWarnings( "unchecked" )
-    private void handleNewRuntimeButtonSelected()
-    {
-        final String SERVER_UI_PLUGIN_ID = "org.eclipse.wst.server.ui"; //$NON-NLS-1$
-        final String CLASS_NAME = "org.eclipse.wst.server.ui.internal.ServerUIPlugin"; //$NON-NLS-1$
-        final String METHOD_NAME = "showNewRuntimeWizard"; //$NON-NLS-1$
-        
-        final Bundle serverUiBundle = Platform.getBundle( SERVER_UI_PLUGIN_ID );
-        
-        if( serverUiBundle == null )
-        {
-            this.newRuntimeButton.setEnabled( false );
-            return;
-        }
-
-        try
-        {
-            final Class serverUiPluginClass = serverUiBundle.loadClass( CLASS_NAME );
-            
-            final Method method
-                = serverUiPluginClass.getMethod( METHOD_NAME, Shell.class, String.class );
-            
-            final Object result = method.invoke( null, getShell(), null );
-            
-            if( result.equals( true ) )
-            {
-                final Thread refreshThread = new Thread()
-                {
-                    public void run()
-                    {
-                        getFacetedProjectWorkingCopy().refreshTargetableRuntimes();
-                    }
-                };
-                
-                refreshThread.start();
-            }
-        }
-        catch( Exception e )
-        {
-            FacetUiPlugin.log( e );
-        }
-    }
-
-    private void handleWidgetDisposed()
-    {
-        removeDataModelListeners();
-        this.colorGray.dispose();
-        this.runtimeValidationAssistant.dispose();
-    }
-    
-    private void handleRuntimeValidationResultChanged()
-    {
-        final Runnable uiRunnable = new Runnable()
-        {
-            public void run()
-            {
-                for( TableItem item : RuntimesPanel.this.runtimes.getTable().getItems() )
-                {
-                    RuntimesPanel.this.runtimes.update( item.getData(), null );
-                }
-            }
-        };
-        
-        getDisplay().syncExec( uiRunnable );
-    }
-    
-    private void refresh()
-    {
-        this.runtimes.refresh();
-
-        final Set<IRuntime> untargetable = new HashSet<IRuntime>( RuntimeManager.getRuntimes() );
-        untargetable.removeAll( this.fpjwc.getTargetableRuntimes() );
-        
-        this.runtimes.setCheckedElements( this.fpjwc.getTargetedRuntimes().toArray() );
-    }
-    
-    private IRuntime getSelection()
-    {
-        final IStructuredSelection ssel 
-            = (IStructuredSelection) this.runtimes.getSelection();
-        
-        if( ssel.isEmpty() )
-        {
-            return null;
-        }
-        else
-        {
-            return (IRuntime) ssel.getFirstElement();
-        }
-    }
-    
-    private void addDataModelListener( final IFacetedProjectListener listener,
-                                       final IFacetedProjectEvent.Type... types )
-    {
-        this.fpjwc.addListener( listener, types );
-        this.listeners.add( listener );
-    }
-    
-    private void removeDataModelListeners()
-    {
-        for( IFacetedProjectListener listener : this.listeners )
-        {
-            this.fpjwc.removeListener( listener );
-        }
-    }
-    
-    private TableItem getTableItem( final int x,
-                                    final int y )
-    {
-        for( TableItem item : this.runtimes.getTable().getItems() )
-        {
-            if( item.getBounds().contains( x, y ) )
-            {
-                return item;
-            }
-        }
-        
-        return null;
-    }
-    
-    private RuntimeValidationAssistant getRuntimeValidationAssistant()
-    {
-        return this.runtimeValidationAssistant;
-    }
-    
-    private final class ContentProvider
-
-        implements IStructuredContentProvider
-    
-    {
-        public Object[] getElements( final Object element )
-        {
-            if( RuntimesPanel.this.showAllRuntimesSetting )
-            {
-                return RuntimeManager.getRuntimes().toArray();
-            }
-            else
-            {
-                return getFacetedProjectWorkingCopy().getTargetableRuntimes().toArray();
-            }
-        }
-    
-        public void dispose() { }
-    
-        public void inputChanged( final Viewer viewer,
-                                  final Object oldObject,
-                                  final Object newObject ) {}
-    }
-    
-    private final class LabelProvider
-
-        implements ILabelProvider, IColorProvider
-    
-    {
-        private final ImageRegistry imageRegistry;
-        
-        public LabelProvider()
-        {
-            this.imageRegistry = new ImageRegistry();
-        }
-        
-        public String getText( final Object element )
-        {
-            return ( (IRuntime) element ).getLocalizedName();
-        }
-        
-        private String getImageRegistryKey( final IRuntime runtime,
-                                            final boolean isPrimary,
-                                            final IStatus validationResult )
-        {
-            final StringBuilder buf = new StringBuilder();
-            
-            buf.append( runtime.getName() );
-            
-            if( isPrimary )
-            {
-                buf.append( ",##primary##" ); //$NON-NLS-1$
-            }
-            
-            if( validationResult != null && validationResult.getSeverity() == IStatus.ERROR )
-            {
-                buf.append( ",##error##" ); //$NON-NLS-1$
-            }
-            
-            return buf.toString();
-        }
-
-        public Image getImage( final Object element )
-        {
-            final IRuntime r = (IRuntime) element;
-            final IRuntimeComponent rc = r.getRuntimeComponents().get( 0 );
-            final IRuntimeComponentType rct = rc.getRuntimeComponentType();
-            final IRuntimeComponentVersion rcv = rc.getRuntimeComponentVersion();
-            final IRuntime primary = getFacetedProjectWorkingCopy().getPrimaryRuntime();
-            final boolean isPrimary = primary != null && primary.equals( r );
-            final IStatus valResult = getRuntimeValidationAssistant().getValidationResult( r );
-            final String imgid = getImageRegistryKey( r, isPrimary, valResult );
-            
-            Image image = this.imageRegistry.get( imgid );
-            
-            if( image == null )
-            {
-                final IDecorationsProvider decprov
-                    = (IDecorationsProvider) rcv.getAdapter( IDecorationsProvider.class );
-
-                final ImageDescriptor imgdesc
-                    = new DecoratedRuntimeImageDescriptor( decprov.getIcon(), isPrimary, valResult );
-                
-                this.imageRegistry.put( imgid, imgdesc );
-                image = this.imageRegistry.get( imgid );
-            }
-
-            if( getFacetedProjectWorkingCopy().getTargetableRuntimes().contains( r ) )
-            {
-                if( RuntimesPanel.this.fpjwc.getTargetedRuntimes().contains( r ) )
-                {
-                    RuntimesPanel.this.runtimes.setChecked( r, true );
-                }
-                else
-                {
-                    RuntimesPanel.this.runtimes.setChecked( r, false );
-                }
-                
-                return image;
-            }
-            else
-            {
-                RuntimesPanel.this.runtimes.setChecked( r, false );
-                
-                final String greyedId = rct.getId() + "##greyed##"; //$NON-NLS-1$
-                Image greyed = this.imageRegistry.get( greyedId );
-                
-                if( greyed == null )
-                {
-                    greyed = new Image( null, image, SWT.IMAGE_GRAY );
-                    this.imageRegistry.put( greyedId, greyed );
-                }
-                
-                return greyed;
-            }
-        }
-        
-        public Color getForeground( final Object element )
-        {
-            if( ! getFacetedProjectWorkingCopy().getTargetableRuntimes().contains( element ) )
-            {
-                return RuntimesPanel.this.colorGray;
-            }
-            else
-            {
-                return null;
-            }
-        }
-
-        public Color getBackground( final Object element )
-        {
-            return null;
-        }
-
-        public void dispose()
-        {
-            this.imageRegistry.dispose();
-        }
-
-        public boolean isLabelProperty( final Object element, 
-                                        final String property )
-        {
-            return false;
-        }
-
-        public void addListener( final ILabelProviderListener listener ) {}
-        public void removeListener( final ILabelProviderListener listener ) {}
-    }
-
-    private final class Sorter
-
-        extends ViewerSorter
-    
-    {
-        public int compare( final Viewer viewer,
-                            final Object a,
-                            final Object b )
-        {
-            final IRuntime r1 = (IRuntime) a;
-            final IRuntime r2 = (IRuntime) b;
-            
-            return r1.getLocalizedName().compareToIgnoreCase( r2.getLocalizedName() );
-        }
-    }
-    
-    private final class RuntimeComponentsContentProvider
-
-        implements IStructuredContentProvider
-    
-    {
-        public Object[] getElements( final Object element )
-        {
-            if( element == NO_RUNTIME_SELECTED_PLACEHOLDER )
-            {
-                return new Object[] { NO_RUNTIME_SELECTED_PLACEHOLDER };
-            }
-            else
-            {
-                final IRuntime r = (IRuntime) element;
-                return r.getRuntimeComponents().toArray();
-            }
-        }
-    
-        public void dispose() { }
-    
-        public void inputChanged( final Viewer viewer,
-                                  final Object oldObject,
-                                  final Object newObject ) {}
-    }
-    
-    private final class RuntimeComponentsLabelProvider
-
-        implements ILabelProvider
-    
-    {
-        private final ImageRegistry imageRegistry = new ImageRegistry();
-        
-        public String getText( final Object element )
-        {
-            if( element == NO_RUNTIME_SELECTED_PLACEHOLDER )
-            {
-                return Resources.noRuntimeSelectedLabel;
-            }
-            
-            final IRuntimeComponent comp = (IRuntimeComponent) element;
-            
-            final IRuntimeComponentLabelProvider provider
-                = (IRuntimeComponentLabelProvider) comp.getAdapter( IRuntimeComponentLabelProvider.class );
-            
-            if( provider == null )
-            {
-                final StringBuffer label = new StringBuffer();
-                label.append( comp.getRuntimeComponentType().getId() );
-                label.append( ' ' );
-                label.append( comp.getRuntimeComponentVersion().getVersionString() );
-                
-                return label.toString();
-            }
-            else
-            {
-                return provider.getLabel();
-            }
-        }
-
-        public Image getImage( final Object element )
-        {
-            if( element == NO_RUNTIME_SELECTED_PLACEHOLDER )
-            {
-                return null;
-            }
-
-            final IRuntimeComponent rc = (IRuntimeComponent) element;
-            final IRuntimeComponentType rct = rc.getRuntimeComponentType();
-            final IRuntimeComponentVersion rcv = rc.getRuntimeComponentVersion();
-            
-            final String key = rct.getId() + ":" + rcv.getVersionString(); //$NON-NLS-1$
-            Image image = this.imageRegistry.get( key );
-            
-            if( image == null )
-            {
-                final IDecorationsProvider decprov
-                    = (IDecorationsProvider) rcv.getAdapter( IDecorationsProvider.class );
-                
-                this.imageRegistry.put( key, decprov.getIcon() );
-                image = this.imageRegistry.get( key );
-            }
-
-            return image;
-        }
-        
-        public void dispose()
-        {
-            this.imageRegistry.dispose();
-        }
-
-        public boolean isLabelProperty( final Object element, 
-                                        final String property )
-        {
-            return false;
-        }
-
-        public void addListener( final ILabelProviderListener listener ) {}
-        public void removeListener( final ILabelProviderListener listener ) {}
-    }
-    
-    private static final class DecoratedRuntimeImageDescriptor 
-    
-        extends CompositeImageDescriptor 
-        
-    {
-        private static final String PRIMARY_RUNTIME_OVERLAY_IMG_LOCATION
-            = "images/primary-runtime-overlay.gif"; //$NON-NLS-1$
-        
-        private static final ImageData PRIMARY_RUNTIME_OVERLAY
-            = FacetUiPlugin.getImageDescriptor( PRIMARY_RUNTIME_OVERLAY_IMG_LOCATION ).getImageData();
-        
-        private static final String ERROR_OVERLAY_IMG_LOCATION
-            = "images/error-overlay.gif"; //$NON-NLS-1$
-        
-        private static final ImageData ERROR_OVERLAY
-            = FacetUiPlugin.getImageDescriptor( ERROR_OVERLAY_IMG_LOCATION ).getImageData();
-
-        private static final String WARNING_OVERLAY_IMG_LOCATION
-            = "images/warning-overlay.gif"; //$NON-NLS-1$
-        
-        private static final ImageData WARNING_OVERLAY
-            = FacetUiPlugin.getImageDescriptor( WARNING_OVERLAY_IMG_LOCATION ).getImageData();
-    
-        private final ImageData base;
-        private final Point size;
-        private boolean isPrimary;
-        private IStatus valResult;
-        
-        public DecoratedRuntimeImageDescriptor( final ImageDescriptor base,
-                                                final boolean isPrimary,
-                                                final IStatus valResult ) 
-        {
-            this.base = base.getImageData();
-            this.size = new Point( this.base.width, this.base.height );
-            this.isPrimary = isPrimary;
-            this.valResult = valResult;
-        }
-    
-        protected void drawCompositeImage( final int width, 
-                                           final int height ) 
-        {
-            drawImage( this.base, 0, 0 );
-            
-            if( this.isPrimary )
-            {
-                drawImage( PRIMARY_RUNTIME_OVERLAY, width - PRIMARY_RUNTIME_OVERLAY.width, 
-                           height - PRIMARY_RUNTIME_OVERLAY.height );
-            }
-            
-            if( this.valResult != null && ! this.valResult.isOK() )
-            {
-                final ImageData valOverlay
-                    = this.valResult.getSeverity() == IStatus.ERROR 
-                      ? ERROR_OVERLAY : WARNING_OVERLAY;
-                
-                drawImage( valOverlay, 0, height - valOverlay.height );
-            }
-        }
-    
-        protected Point getSize()
-        {
-            return this.size;
-        }
-    }
-    
-    private final class ValidationProblemToolTip
-    
-        extends BasicToolTip
-        
-    {
-        public ValidationProblemToolTip( final Control control )
-        {
-            super( control );
-        }
-        
-        @Override
-        protected Composite createToolTipContentArea( final Event event,
-                                                      final Composite parent )
-        {
-            final IStatus validationResult = getValidationResult( event );
-            setMessage( validationResult.getMessage() );
-            return super.createToolTipContentArea( event, parent );
-        }
-        
-        @Override
-        protected boolean shouldCreateToolTip( final Event event ) 
-        {
-            return ! getValidationResult( event ).isOK();
-        }
-        
-        private IRuntime getRuntime( final Event event )
-        {
-            final TableItem item = getTableItem( event.x, event.y );
-            return item != null ? (IRuntime) item.getData() : null;
-        }
-        
-        private IStatus getValidationResult( final Event event )
-        {
-            final IRuntime runtime = getRuntime( event );
-            IStatus result = null;
-            
-            if( runtime != null )
-            {
-                result = RuntimesPanel.this.runtimeValidationAssistant.getValidationResult( runtime );
-            }
-            
-            if( result == null )
-            {
-                result = Status.OK_STATUS;
-            }
-            
-            return result;
-        }
-    }
-    
-    private final class RuntimeValidationAssistant
-    {
-        private final Map<String,IStatus> validationResults;
-        private final IRuntimeLifecycleListener runtimeLifecycleListener;
-        
-        public RuntimeValidationAssistant()
-        {
-            this.validationResults = new HashMap<String,IStatus>();
-            
-            this.runtimeLifecycleListener = new IRuntimeLifecycleListener()
-            {
-                public void handleEvent( final IRuntimeLifecycleEvent event )
-                {
-                    final IValidationStatusChangedEvent evt = (IValidationStatusChangedEvent) event;
-                    setValidationResult( evt.getRuntime(), evt.getNewValidationStatus() );
-                    handleRuntimeValidationResultChanged();
-                }
-            };
-            
-            final Thread initialValidationThread = new Thread()
-            {
-                public void run()
-                {
-                    for( IRuntime runtime : RuntimeManager.getRuntimes() )
-                    {
-                        final IStatus result = runtime.validate( new NullProgressMonitor() );
-                        
-                        synchronized( RuntimeValidationAssistant.this.validationResults )
-                        {
-                            if( getValidationResult( runtime ) == null )
-                            {
-                                setValidationResult( runtime, result );
-                            }
-                        }
-                    }
-                    
-                    RuntimeManager.addListener( RuntimeValidationAssistant.this.runtimeLifecycleListener, 
-                                                IRuntimeLifecycleEvent.Type.VALIDATION_STATUS_CHANGED );
-                    
-                    handleRuntimeValidationResultChanged();
-                }
-            };
-            
-            initialValidationThread.start();
-        }
-        
-        public IStatus getValidationResult( final IRuntime runtime )
-        {
-            synchronized( this.validationResults )
-            {
-                return this.validationResults.get( runtime.getName() );
-            }
-        }
-        
-        private void setValidationResult( final IRuntime runtime,
-                                          final IStatus validationResult )
-        {
-            synchronized( this.validationResults )
-            {
-                this.validationResults.put( runtime.getName(), validationResult );
-            }
-        }
-        
-        public void dispose()
-        {
-            RuntimeManager.removeListener( this.runtimeLifecycleListener );
-        }
-    }
-
-    private static final class Resources
-    
-        extends NLS
-        
-    {
-        public static String runtimeCompositionLabel;
-        public static String makePrimaryLabel;
-        public static String newRuntimeButtonLabel;
-        public static String showAllRuntimes;
-        public static String noRuntimeSelectedLabel;
-        
-        static
-        {
-            initializeMessages( RuntimesPanel.class.getName(), 
-                                Resources.class );
-        }
-    }
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/RuntimesPanel.properties b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/RuntimesPanel.properties
deleted file mode 100644
index b23d5cb..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/RuntimesPanel.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-runtimeCompositionLabel = Runtime Composition:
-makePrimaryLabel = Make Primary
-newRuntimeButtonLabel = New...
-showAllRuntimes = Show all runtimes
-noRuntimeSelectedLabel = <no runtime selected>
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/RuntimesPropertyPage.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/RuntimesPropertyPage.java
deleted file mode 100644
index 7879f0e..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/RuntimesPropertyPage.java
+++ /dev/null
@@ -1,230 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2008 BEA Systems, Inc.
- * 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:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal;
-
-import java.util.Set;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.wizard.IWizard;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.dialogs.PropertyPage;
-import org.eclipse.ui.forms.events.HyperlinkAdapter;
-import org.eclipse.ui.forms.events.HyperlinkEvent;
-import org.eclipse.ui.forms.widgets.Hyperlink;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectWorkingCopy;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectEvent;
-import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectListener;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntime;
-import org.eclipse.wst.common.project.facet.ui.ModifyFacetedProjectWizard;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public class RuntimesPropertyPage extends PropertyPage 
-{
-    private IFacetedProject project;
-    private IFacetedProjectListener projectListener;
-    private IFacetedProjectWorkingCopy fpjwc;
-    private RuntimesPanel panel;
-    
-    protected Control createContents( final Composite parent ) 
-    {
-        final IAdaptable element = getElement();
-
-        if( element instanceof IProject )
-        {
-            final IProject project = (IProject) element;
-            
-            try 
-            {
-                this.project = ProjectFacetsManager.create( project );
-            }
-            catch( CoreException e ) {}
-            
-            if( this.project == null )
-            {
-                return null;
-            }
-            
-            this.fpjwc = SharedWorkingCopyManager.getWorkingCopy( this.project );
-            
-            this.projectListener = new IFacetedProjectListener()
-            {
-                public void handleEvent( final IFacetedProjectEvent event )
-                {
-                    handleProjectChangedEvent();
-                }
-            };
-            
-            this.project.addListener( this.projectListener, 
-                                      IFacetedProjectEvent.Type.PROJECT_MODIFIED );
-            
-            final Composite composite = new Composite( parent, SWT.NONE );
-            composite.setLayoutData( gdfill() );
-            
-            final GridLayout layout = new GridLayout( 1, false );
-            layout.marginHeight = 0;
-            layout.marginWidth = 0;
-            layout.marginBottom = 5;
-            
-            composite.setLayout( layout );
-            
-            this.panel = new RuntimesPanel( composite, this.fpjwc );
-            this.panel.setLayoutData( gdfill() );
-
-            final Label hint = new Label( composite, SWT.WRAP );
-            hint.setText( Resources.hint );
-            
-            final GridData gd = gdhfill();
-            gd.grabExcessHorizontalSpace = true;
-            gd.widthHint = 300;
-            gd.verticalIndent = 5;
-            
-            hint.setLayoutData( gd );
-            
-            final Hyperlink uninstallFacetsLink = new Hyperlink( composite, SWT.NONE );
-            uninstallFacetsLink.setForeground( parent.getDisplay().getSystemColor( SWT.COLOR_DARK_BLUE ) );
-            uninstallFacetsLink.setUnderlined( true );
-            uninstallFacetsLink.setText( Resources.uninstallFacetsLinkLabel );
-            
-            uninstallFacetsLink.addHyperlinkListener
-            (
-                new HyperlinkAdapter() 
-                {
-                    public void linkActivated( final HyperlinkEvent evt ) 
-                    {
-                        performAddRemoveFacets();
-                    }
-                }
-            );
-            
-            composite.addDisposeListener
-            (
-                new DisposeListener()
-                {
-                    public void widgetDisposed( final DisposeEvent e )
-                    {
-                        handleDisposeEvent();
-                    }
-                }
-            );
-            
-    	    Dialog.applyDialogFont( parent );
-            
-            return composite;
-        }
-        return null;
-    }
-    
-    public boolean performOk() 
-    {
-        final Runnable op = new Runnable()
-        {
-            public void run()
-            {
-                try
-                {
-                    RuntimesPropertyPage.this.fpjwc.commitChanges( null );
-                }
-                catch( CoreException e )
-                {
-                    final IStatus st = e.getStatus();
-                    
-                    ErrorDialog.openError( getShell(), Resources.errDlgTitle,
-                                           st.getMessage(), st );
-                    
-                    FacetUiPlugin.log( st );
-                }
-            }
-        };
-        
-        BusyIndicator.showWhile( null, op );
-        
-        return true;
-    }
-    
-    protected void performDefaults() 
-    {
-        super.performDefaults();
-        
-        this.fpjwc.setTargetedRuntimes( this.project.getTargetedRuntimes() );
-        this.fpjwc.setPrimaryRuntime( this.project.getPrimaryRuntime() );
-    }
-    
-    private void performAddRemoveFacets()
-    {
-        final IWizard wizard = new ModifyFacetedProjectWizard( this.project );
-        final WizardDialog dialog = new WizardDialog( getShell(), wizard );
-        
-        dialog.open();     
-    }
-    
-    private void handleProjectChangedEvent()
-    {
-        this.fpjwc.refreshTargetableRuntimes();
-        
-        final Set<IRuntime> targetedRuntimes = this.project.getTargetedRuntimes();
-        this.fpjwc.setTargetedRuntimes( targetedRuntimes );
-        
-        final IRuntime primaryRuntime = this.project.getPrimaryRuntime();
-        this.fpjwc.setPrimaryRuntime( primaryRuntime );
-    }
-    
-    private void handleDisposeEvent()
-    {
-        this.project.removeListener( this.projectListener );
-        SharedWorkingCopyManager.releaseWorkingCopy( this.project );
-    }
-    
-    private static GridData gdfill()
-    {
-        return new GridData( SWT.FILL, SWT.FILL, true, true );
-    }
-
-    private static GridData gdhfill()
-    {
-        return new GridData( GridData.FILL_HORIZONTAL );
-    }
-    
-    
-    private static final class Resources extends NLS
-    {
-        public static String errDlgTitle;
-        public static String hint;
-        public static String uninstallFacetsLinkLabel;
-        
-        static
-        {
-            initializeMessages( RuntimesPropertyPage.class.getName(), 
-                                Resources.class );
-        }
-    }
-
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/RuntimesPropertyPage.properties b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/RuntimesPropertyPage.properties
deleted file mode 100644
index d36a585..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/RuntimesPropertyPage.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-errDlgTitle = Error
-
-hint = \
-If a runtime that you want to select is not displayed or is disabled you may \
-need to uninstall one or more of the currently installed project facets.
-
-uninstallFacetsLinkLabel = Uninstall Facets...
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/SavePresetDialog.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/SavePresetDialog.java
deleted file mode 100644
index 4ea3fe9..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/SavePresetDialog.java
+++ /dev/null
@@ -1,300 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2008 BEA Systems, Inc.
- * 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:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal;
-
-import java.util.Set;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.common.project.facet.core.IPreset;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public final class SavePresetDialog
-
-    extends Dialog
-    
-{
-    private static final String WIDTH = "width"; //$NON-NLS-1$
-    private static final String HEIGHT = "height"; //$NON-NLS-1$
-
-    private IDialogSettings settings;
-    private Text nameTextField;
-    private Text descTextField;
-    private Label msgLabel;
-    private String name;
-    private String description;
-    
-    protected SavePresetDialog( final Shell shell )
-    {
-        super( shell );
-        
-        setShellStyle( getShellStyle() | SWT.RESIZE );
-    }
-    
-    public static IPreset showDialog( final Shell shell,
-                                      final Set<IProjectFacetVersion> facets )
-    {
-        final SavePresetDialog dialog = new SavePresetDialog( shell );
-        
-        IPreset preset = null;
-
-        if( dialog.open() == IDialogConstants.OK_ID )
-        {
-            final String name = dialog.name;
-            final String desc = dialog.description;
-            
-            preset = ProjectFacetsManager.definePreset( name, desc, facets );
-        }
-        
-        return preset;
-    }
-
-    protected void configureShell( final Shell shell )
-    {
-        super.configureShell( shell );
-        shell.setText( Resources.dialogTitle );
-    }
-
-    protected Control createDialogArea( final Composite parent ) 
-    {
-        final IDialogSettings root
-            = FacetUiPlugin.getInstance().getDialogSettings();
-    
-        IDialogSettings temp = root.getSection( getClass().getName() );
-    
-        if( temp == null )
-        {
-            temp = root.addNewSection( getClass().getName() );
-        }
-        
-        if( temp.get( WIDTH ) == null ) temp.put( WIDTH, 300 );
-        if( temp.get( HEIGHT ) == null ) temp.put( HEIGHT, 160 );
-
-        this.settings = temp;
-        
-        final Composite composite = new Composite( parent, SWT.NONE );
-        composite.setLayout( new GridLayout( 1, false ) );
-        
-        final GridData gd = gdfill();
-        gd.widthHint = this.settings.getInt( WIDTH );
-        gd.heightHint = this.settings.getInt( HEIGHT );
-        
-        composite.setLayoutData( gd );
-        
-        composite.addListener
-        (
-            SWT.Resize,
-            new Listener()
-            {
-                public void handleEvent( final Event event )
-                {
-                    final Point size = composite.getSize();
-                    
-                    SavePresetDialog.this.settings.put( WIDTH, size.x );
-                    SavePresetDialog.this.settings.put( HEIGHT, size.y );
-                }
-            }
-        );
-        
-        final Label nameLabel = new Label( composite, SWT.NONE );
-        nameLabel.setLayoutData( gdhfill() );
-        nameLabel.setText( Resources.nameLabel );
-        
-        this.nameTextField = new Text( composite, SWT.NONE | SWT.BORDER );
-        this.nameTextField.setLayoutData( gdhfill() );
-        
-        this.nameTextField.addModifyListener
-        (
-            new ModifyListener()
-            {
-                public void modifyText( final ModifyEvent e )
-                {
-                    handleNameChange();
-                }
-            }
-        );
-        
-        final Label descLabel = new Label( composite, SWT.NONE );
-        descLabel.setLayoutData( gdhfill() );
-        descLabel.setText( Resources.descLabel );
-        
-        this.descTextField 
-            = new Text( composite, SWT.NONE | SWT.V_SCROLL | SWT.BORDER | SWT.WRAP );
-        
-        this.descTextField.setLayoutData( gdfill() );
-        
-        this.descTextField.addModifyListener
-        (
-            new ModifyListener()
-            {
-                public void modifyText( final ModifyEvent e )
-                {
-                    handleDescriptionChange();
-                }
-            }
-        );
-        
-        this.msgLabel = new Label( composite, SWT.NONE );
-        this.msgLabel.setLayoutData( gdhfill() );
-        this.msgLabel.setForeground( color( SWT.COLOR_RED ) );
-        
-        handleNameChange();
-        
-        return composite;
-    }
-    
-    private void handleNameChange()
-    {
-        this.name = this.nameTextField.getText().trim();
-        
-        boolean okButtonEnabled = false;
-        boolean conflictDetected = false;
-        
-        if( this.name.length() > 0 )
-        {
-            for( IPreset preset : ProjectFacetsManager.getPresets() )
-            {
-                if( preset.getLabel().equals( this.name ) )
-                {
-                    conflictDetected = true;
-                    break;
-                }
-            }
-            
-            if( ! conflictDetected )
-            {
-                okButtonEnabled = true;
-            }
-        }
-        
-        if( conflictDetected )
-        {
-            this.msgLabel.setText( Resources.nameInUseMessage );
-        }
-        else
-        {
-            this.msgLabel.setText( "" ); //$NON-NLS-1$
-        }
-        
-        setOkButtonEnabled( okButtonEnabled );
-    }
-    
-    private void handleDescriptionChange()
-    {
-        this.description = this.descTextField.getText().trim();
-    }
-    
-    private void setOkButtonEnabled( final boolean enabled )
-    {
-        Button button = getButton( IDialogConstants.OK_ID );
-        
-        if( button != null )
-        {
-            button.setEnabled( enabled );
-        }
-        else
-        {
-            // If the button has not been created yet (this happens during the
-            // execution of the createDialogArea method), spin off a thread to
-            // wait for it's creation.
-            
-            final Display display = Display.getCurrent();
-            
-            final Thread t = new Thread()
-            {
-                public void run()
-                {
-                    Button b = getButton( IDialogConstants.OK_ID );
-                    
-                    while( b == null )
-                    {
-                        try
-                        {
-                            Thread.sleep( 50 );
-                        }
-                        catch( InterruptedException e ) {}
-                        
-                        b = getButton( IDialogConstants.OK_ID );
-                    }
-                    
-                    final Button finalButton = b;
-                    
-                    display.asyncExec( new Runnable()
-                    {
-                        public void run()
-                        {
-                            finalButton.setEnabled( enabled );
-                        }
-                    } );
-                }
-            };
-            
-            t.start();
-        }
-    }
-    
-    private static GridData gdfill()
-    {
-        return new GridData( SWT.FILL, SWT.FILL, true, true );
-    }
-
-    private static GridData gdhfill()
-    {
-        return new GridData( GridData.FILL_HORIZONTAL );
-    }
-    
-    public static Color color( final int id )
-    {
-        return Display.getCurrent().getSystemColor( id );       
-    }
-    
-    private static final class Resources
-    
-        extends NLS
-        
-    {
-        public static String dialogTitle;
-        public static String nameLabel;
-        public static String descLabel;
-        public static String nameInUseMessage;
-        
-        static
-        {
-            initializeMessages( SavePresetDialog.class.getName(), 
-                                Resources.class );
-        }
-    }
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/SavePresetDialog.properties b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/SavePresetDialog.properties
deleted file mode 100644
index f4b006c..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/SavePresetDialog.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-dialogTitle = Save Preset
-nameLabel = Name:
-descLabel = Description:
-nameInUseMessage = Selected name already in use.
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/SharedWorkingCopyManager.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/SharedWorkingCopyManager.java
deleted file mode 100644
index ded00e1..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/SharedWorkingCopyManager.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2008 BEA Systems, Inc.
- * 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:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectWorkingCopy;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public final class SharedWorkingCopyManager
-{
-    private static final Map<IFacetedProject,IFacetedProjectWorkingCopy> sharedWorkingCopies
-        = new HashMap<IFacetedProject,IFacetedProjectWorkingCopy>();
-    
-    private static final Map<IFacetedProject,Integer> sharedWorkingCopyUserCount
-        = new HashMap<IFacetedProject,Integer>();
-    
-    public static synchronized IFacetedProjectWorkingCopy getWorkingCopy( final IFacetedProject project )
-    {
-        IFacetedProjectWorkingCopy fpjwc = sharedWorkingCopies.get( project );
-        
-        if( fpjwc != null )
-        {
-            int userCount = sharedWorkingCopyUserCount.get( project );
-            sharedWorkingCopyUserCount.put( project, userCount + 1 );
-        }
-        else
-        {
-            fpjwc = project.createWorkingCopy();
-            sharedWorkingCopies.put( project, fpjwc );
-            sharedWorkingCopyUserCount.put( project, 1 );
-        }
-        
-        return fpjwc;
-    }
-    
-    public static synchronized void releaseWorkingCopy( final IFacetedProject project )
-    {
-        final IFacetedProjectWorkingCopy fpjwc = sharedWorkingCopies.get( project );
-        final int usersCount = sharedWorkingCopyUserCount.get( project );
-        
-        if( usersCount == 1 )
-        {
-            sharedWorkingCopies.remove( project );
-            sharedWorkingCopyUserCount.remove( project );
-            fpjwc.dispose();
-        }
-        else
-        {
-            sharedWorkingCopyUserCount.put( project, usersCount - 1 );
-        }
-    }
-
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/constraints/ConstraintOperator.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/constraints/ConstraintOperator.java
deleted file mode 100644
index 389ed7a..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/constraints/ConstraintOperator.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2008 BEA Systems, Inc.
- * 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:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal.constraints;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public abstract class ConstraintOperator
-{
-    public static enum Type
-    {
-        AND,
-        OR,
-        REQUIRES_ALL,
-        REQUIRES_ONE,
-        CONFLICTS
-    }
-    
-    private Type type;
-    
-    protected ConstraintOperator( final Type type )
-    {
-        this.type = type;
-    }
-    
-    public Type getType()
-    {
-        return this.type;
-    }
-    
-    public void setType( final Type type )
-    {
-        this.type = type;
-    }
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/constraints/ConstraintUtil.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/constraints/ConstraintUtil.java
deleted file mode 100644
index 5f676ba..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/constraints/ConstraintUtil.java
+++ /dev/null
@@ -1,288 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2008 BEA Systems, Inc.
- * 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:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal.constraints;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.wst.common.project.facet.core.IConstraint;
-import org.eclipse.wst.common.project.facet.core.IGroup;
-import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.IVersionExpr;
-import org.eclipse.wst.common.project.facet.core.internal.ProjectFacetRef;
-import org.eclipse.wst.common.project.facet.core.util.internal.VersionExpr;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public final class ConstraintUtil
-{
-    private ConstraintUtil() {}
-    
-    public static ConstraintOperator convert( final IConstraint inputConstraint )
-    {
-        final IConstraint.Type inputConstraintType = inputConstraint.getType();
-        
-        if( inputConstraintType == IConstraint.Type.AND ||
-            inputConstraintType == IConstraint.Type.OR )
-        {
-            final ConstraintOperator.Type outputConstraintType 
-                = ( inputConstraintType == IConstraint.Type.AND 
-                    ? ConstraintOperator.Type.AND : ConstraintOperator.Type.OR );
-            
-            final GroupingConstraintOperator outputConstraint
-                = new GroupingConstraintOperator( outputConstraintType );
-            
-            for( Object child : inputConstraint.getOperands() )
-            {
-                outputConstraint.addChild( convert( (IConstraint) child ) );
-            }
-            
-            return outputConstraint;
-        }
-        else if( inputConstraintType == IConstraint.Type.REQUIRES )
-        {
-            final Object firstOperand = inputConstraint.getOperand( 0 );
-
-            final MultiFacetConstraintOperator outputConstraint
-                = new MultiFacetConstraintOperator( ConstraintOperator.Type.REQUIRES_ONE );
-            
-            if( firstOperand instanceof IProjectFacet )
-            {
-                final IProjectFacet f = (IProjectFacet) firstOperand;
-                final IVersionExpr vexpr = (IVersionExpr) inputConstraint.getOperand( 1 );
-                outputConstraint.addProjectFacetRef( new ProjectFacetRef( f, vexpr ) );
-            }
-            else
-            {
-                final IGroup group = (IGroup) firstOperand;
-                outputConstraint.addProjectFacetRefs( convertGroupToFacetRefs( group ) );
-            }
-            
-            return outputConstraint;
-        }
-        else if( inputConstraintType == IConstraint.Type.CONFLICTS )
-        {
-            final Object firstOperand = inputConstraint.getOperand( 0 );
-
-            final MultiFacetConstraintOperator outputConstraint
-                = new MultiFacetConstraintOperator( ConstraintOperator.Type.CONFLICTS );
-            
-            if( firstOperand instanceof IProjectFacet )
-            {
-                final IProjectFacet f = (IProjectFacet) firstOperand;
-                final IVersionExpr vexpr = (IVersionExpr) inputConstraint.getOperand( 1 );
-                outputConstraint.addProjectFacetRef( new ProjectFacetRef( f, vexpr ) );
-            }
-            else
-            {
-                final IGroup group = (IGroup) firstOperand;
-                outputConstraint.addProjectFacetRefs( convertGroupToFacetRefs( group ) );
-            }
-            
-            return outputConstraint;
-        }
-        else
-        {
-            throw new IllegalStateException( inputConstraintType.name() );
-        }
-    }
-    
-    private static Collection<ProjectFacetRef> convertGroupToFacetRefs( final IGroup group )
-    {
-        final Map<IProjectFacet,List<IProjectFacetVersion>> members
-            = new HashMap<IProjectFacet,List<IProjectFacetVersion>>();
-        
-        for( IProjectFacetVersion fv : group.getMembers() )
-        {
-            final IProjectFacet f = fv.getProjectFacet();
-            List<IProjectFacetVersion> versions = members.get( f );
-            
-            if( versions == null )
-            {
-                versions = new ArrayList<IProjectFacetVersion>();
-                members.put( f, versions );
-            }
-            
-            versions.add( fv );
-        }
-
-        final List<ProjectFacetRef> facetRefs = new ArrayList<ProjectFacetRef>( members.size() );
-        
-        for( Map.Entry<IProjectFacet,List<IProjectFacetVersion>> entry : members.entrySet() )
-        {
-            final IProjectFacet f = entry.getKey();
-            final List<IProjectFacetVersion> versions = entry.getValue();
-            final String vexprString;
-            
-            if( versions.size() == f.getVersions().size() )
-            {
-                vexprString = IVersionExpr.WILDCARD_SYMBOL;
-            }
-            else
-            {
-                final StringBuilder buf = new StringBuilder();
-                
-                for( IProjectFacetVersion fv : versions )
-                {
-                    if( buf.length() > 0 )
-                    {
-                        buf.append( ',' );
-                    }
-                    
-                    buf.append( fv.getVersionString() );
-                }
-                
-                vexprString = buf.toString();
-            }
-            
-            final IVersionExpr vexpr;
-            
-            try
-            {
-                vexpr = new VersionExpr<IProjectFacetVersion>( f, vexprString, null );
-            }
-            catch( CoreException e )
-            {
-                throw new RuntimeException( e );
-            }
-            
-            facetRefs.add( new ProjectFacetRef( f, vexpr ) );
-        }
-        
-        return facetRefs;
-    }
-    
-    public static ConstraintOperator normalize( final ConstraintOperator input )
-    {
-        if( input instanceof GroupingConstraintOperator )
-        {
-            final List<ConstraintOperator> oldChildren = ( (GroupingConstraintOperator) input ).getChildren();
-            final List<ConstraintOperator> newChildren = new ArrayList<ConstraintOperator>( oldChildren.size() );
-            
-            for( ConstraintOperator child : oldChildren )
-            {
-                newChildren.add( normalize( child ) );
-            }
-            
-            if( input.getType() == ConstraintOperator.Type.AND )
-            {
-                // Can merge any REQUIRES_ALL operators under an AND. Note that a REQUIRES_ONE with
-                // a single facet can be treated as REQUIRES_ALL.
-                
-                MultiFacetConstraintOperator firstRequiresAll = null;
-                
-                for( Iterator<ConstraintOperator> itr = newChildren.iterator(); itr.hasNext(); )
-                {
-                    final ConstraintOperator op = itr.next();
-                    
-                    if( op.getType() == ConstraintOperator.Type.REQUIRES_ALL ||
-                        ( op.getType() == ConstraintOperator.Type.REQUIRES_ONE &&
-                          ( (MultiFacetConstraintOperator) op ).getProjectFacetRefs().size() == 1 ) )
-                    {
-                        final MultiFacetConstraintOperator mfop = (MultiFacetConstraintOperator) op;
-                        
-                        if( firstRequiresAll == null )
-                        {
-                            firstRequiresAll = mfop;
-                        }
-                        else
-                        {
-                            firstRequiresAll.addProjectFacetRefs( mfop.getProjectFacetRefs() );
-                            itr.remove();
-                        }
-                    }
-                }
-                
-                if( firstRequiresAll != null && 
-                    firstRequiresAll.getType() == ConstraintOperator.Type.REQUIRES_ONE && 
-                    firstRequiresAll.getProjectFacetRefs().size() > 1 )
-                {
-                    firstRequiresAll.setType( ConstraintOperator.Type.REQUIRES_ALL );
-                }
-                
-                // Can merge any CONFLICTS operators under an AND.
-                
-                MultiFacetConstraintOperator firstConflicts = null;
-                
-                for( Iterator<ConstraintOperator> itr = newChildren.iterator(); itr.hasNext(); )
-                {
-                    final ConstraintOperator op = itr.next();
-                    
-                    if( op.getType() == ConstraintOperator.Type.CONFLICTS )
-                    {
-                        final MultiFacetConstraintOperator mfop = (MultiFacetConstraintOperator) op;
-                        
-                        if( firstConflicts == null )
-                        {
-                            firstConflicts = mfop;
-                        }
-                        else
-                        {
-                            firstConflicts.addProjectFacetRefs( mfop.getProjectFacetRefs() );
-                            itr.remove();
-                        }
-                    }
-                }
-            }
-            else
-            {
-                // Can merge any REQUIRES_ONE operators under an OR that have only one child.
-                
-                MultiFacetConstraintOperator firstRequiresOne = null;
-                
-                for( Iterator<ConstraintOperator> itr = newChildren.iterator(); itr.hasNext(); )
-                {
-                    final ConstraintOperator op = itr.next();
-                    
-                    if( op.getType() == ConstraintOperator.Type.REQUIRES_ONE )
-                    {
-                        final MultiFacetConstraintOperator mfop = (MultiFacetConstraintOperator) op;
-                        
-                        if( firstRequiresOne == null )
-                        {
-                            firstRequiresOne = mfop;
-                        }
-                        else
-                        {
-                            firstRequiresOne.addProjectFacetRefs( mfop.getProjectFacetRefs() );
-                            itr.remove();
-                        }
-                    }
-                }
-            }
-
-            if( newChildren.size() == 1 )
-            {
-                return newChildren.get( 0 );
-            }
-            else
-            {
-                final GroupingConstraintOperator output = new GroupingConstraintOperator( input.getType() );
-                output.addChildren( newChildren );
-                return output;
-            }
-        }
-        else
-        {
-            return input;
-        }
-    }
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/constraints/GroupingConstraintOperator.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/constraints/GroupingConstraintOperator.java
deleted file mode 100644
index c4be9b6..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/constraints/GroupingConstraintOperator.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2008 BEA Systems, Inc.
- * 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:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal.constraints;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public final class GroupingConstraintOperator
-
-    extends ConstraintOperator
-    
-{
-    private final List<ConstraintOperator> children;
-    private final List<ConstraintOperator> childrenReadOnly;
-    
-    public GroupingConstraintOperator( final Type type )
-    {
-        super( type );
-        
-        this.children = new ArrayList<ConstraintOperator>();
-        this.childrenReadOnly = Collections.unmodifiableList( this.children );
-    }
-    
-    public List<ConstraintOperator> getChildren()
-    {
-        return this.childrenReadOnly;
-    }
-    
-    public void addChild( final ConstraintOperator child )
-    {
-        this.children.add( child );
-    }
-    
-    public void addChildren( final Collection<ConstraintOperator> children )
-    {
-        this.children.addAll( children );
-    }
-    
-    public void removeChild( final ConstraintOperator child )
-    {
-        this.children.remove( child );
-    }
-    
-    public void removeChildren( final Collection<ConstraintOperator> children )
-    {
-        this.children.removeAll( children );
-    }
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/constraints/MultiFacetConstraintOperator.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/constraints/MultiFacetConstraintOperator.java
deleted file mode 100644
index 2f2c193..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/constraints/MultiFacetConstraintOperator.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2008 BEA Systems, Inc.
- * 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:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal.constraints;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.wst.common.project.facet.core.internal.ProjectFacetRef;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public final class MultiFacetConstraintOperator
-
-    extends ConstraintOperator
-    
-{
-    private final List<ProjectFacetRef> facetRefs;
-    private final List<ProjectFacetRef> facetRefsReadOnly;
-    
-    public MultiFacetConstraintOperator( final Type type )
-    {
-        super( type );
-        
-        this.facetRefs = new ArrayList<ProjectFacetRef>();
-        this.facetRefsReadOnly = Collections.unmodifiableList( this.facetRefs );
-    }
-    
-    public List<ProjectFacetRef> getProjectFacetRefs()
-    {
-        return this.facetRefsReadOnly;
-    }
-    
-    public void addProjectFacetRef( final ProjectFacetRef facetRef )
-    {
-        this.facetRefs.add( facetRef );
-    }
-    
-    public void addProjectFacetRefs( final Collection<ProjectFacetRef> facetRefs )
-    {
-        this.facetRefs.addAll( facetRefs );
-    }
-    
-    public void removeProjectFacetRef( final ProjectFacetRef facetRef )
-    {
-        this.facetRefs.remove( facetRef );
-    }
-    
-    public void removeProjectFacetRefs( final Collection<ProjectFacetRef> facetRefs )
-    {
-        this.facetRefs.removeAll( facetRefs );
-    }
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/util/BasicToolTip.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/util/BasicToolTip.java
deleted file mode 100644
index 3c8b959..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/util/BasicToolTip.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2008 BEA Systems, Inc.
- * 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:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal.util;
-
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdfill;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdwhint;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gl;
-
-import org.eclipse.jface.window.ToolTip;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public abstract class BasicToolTip
-    
-    extends ToolTip
-    
-{
-    private String message = ""; //$NON-NLS-1$
-    
-    public BasicToolTip( final Control control )
-    {
-        super( control );
-        
-        setPopupDelay( 1000 );
-        setShift( new Point( 10, 3 ) );
-    }
-
-    @Override
-    protected Composite createToolTipContentArea( final Event event,
-                                                  final Composite parent )
-    {
-        final Display display = parent.getDisplay();
-        
-        final Composite composite = new Composite( parent, SWT.NONE );
-        composite.setLayout( gl( 1 ) );
-        composite.setBackground( display.getSystemColor( SWT.COLOR_INFO_BACKGROUND ) );
-        
-        final Label label = new Label( composite, SWT.WRAP );
-        label.setLayoutData( gdwhint( gdfill(), 300 ) );
-        label.setBackground( display.getSystemColor( SWT.COLOR_INFO_BACKGROUND ) );
-        label.setText( this.message );
-        
-        return composite;
-    }
-    
-    public String getMessage()
-    {
-        return this.message;
-    }
-    
-    public void setMessage( final String message )
-    {
-        this.message = message;
-    }
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/util/EnhancedHyperlink.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/util/EnhancedHyperlink.java
deleted file mode 100644
index 445f375..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/util/EnhancedHyperlink.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2008 BEA Systems, Inc.
- * 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:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal.util;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.forms.widgets.Hyperlink;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public class EnhancedHyperlink
-
-    extends Hyperlink
-    
-{
-    public EnhancedHyperlink( final Composite parent,
-                              final int style )
-    {
-        super( parent, style );
-        
-        setUnderlined( true );
-        setForeground( getDisplay().getSystemColor( SWT.COLOR_DARK_BLUE ) );
-    }
-    
-    @Override
-    public void setEnabled( final boolean enabled )
-    {
-        super.setEnabled( enabled );
-        
-        final int color = ( enabled ? SWT.COLOR_DARK_BLUE : SWT.COLOR_DARK_GRAY );
-        setForeground( getDisplay().getSystemColor( color ) );
-    }
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/util/GridLayoutUtil.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/util/GridLayoutUtil.java
deleted file mode 100644
index a49cd1b..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/util/GridLayoutUtil.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2008 BEA Systems, Inc.
- * 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:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal.util;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public final class GridLayoutUtil
-{
-    public static final GridLayout gl( final int columns )
-    {
-        return new GridLayout( columns, false );
-    }
-
-    public static final GridLayout glmargins( final GridLayout layout,
-                                              final int marginWidth,
-                                              final int marginHeight )
-    {
-        layout.marginWidth = marginWidth;
-        layout.marginHeight = marginHeight;
-        layout.marginLeft = 0;
-        layout.marginRight = 0;
-        layout.marginTop = 0;
-        layout.marginBottom = 0;
-        
-        return layout;
-    }
-
-    public static final GridLayout glmargins( final GridLayout layout,
-                                              final int leftMargin,
-                                              final int rightMargin,
-                                              final int topMargin,
-                                              final int bottomMargin )
-    {
-        layout.marginWidth = 0;
-        layout.marginHeight = 0;
-        layout.marginLeft = leftMargin;
-        layout.marginRight = rightMargin;
-        layout.marginTop = topMargin;
-        layout.marginBottom = bottomMargin;
-        
-        return layout;
-    }
-    
-    public static final GridLayout glspacing( final GridLayout layout,
-                                              final int horizontalSpacing,
-                                              final int verticalSpacing )
-    {
-        layout.horizontalSpacing = horizontalSpacing;
-        layout.verticalSpacing = verticalSpacing;
-        
-        return layout;
-    }
-
-    public static final GridData gd()
-    {
-        return new GridData();
-    }
-    
-    public static final GridData gdfill()
-    {
-        return new GridData( SWT.FILL, SWT.FILL, true, true );
-    }
-    
-    public static final GridData gdhfill()
-    {
-        return new GridData( GridData.FILL_HORIZONTAL );
-    }
-
-    public static final GridData gdvfill()
-    {
-        return new GridData( GridData.FILL_VERTICAL );
-    }
-    
-    public static final GridData gdhhint( final GridData gd,
-                                          final int heightHint )
-    {
-        gd.heightHint = heightHint;
-        return gd;
-    }
-    
-    public static final GridData gdwhint( final GridData gd,
-                                          final int widthHint )
-    {
-        gd.widthHint = widthHint;
-        return gd;
-    }
-    
-    public static final GridData gdhindent( final GridData gd,
-                                            final int horizontalIndent )
-    {
-        gd.horizontalIndent = horizontalIndent;
-        return gd;
-    }
-
-    public static final GridData gdvindent( final GridData gd,
-                                            final int verticalIndent )
-    {
-        gd.verticalIndent = verticalIndent;
-        return gd;
-    }
-    
-    public static final GridData gdhspan( final GridData gd,
-                                          final int span )
-    {
-        gd.horizontalSpan = span;
-        return gd;
-    }
-
-    public static final GridData gdvspan( final GridData gd,
-                                          final int span )
-    {
-        gd.verticalSpan = span;
-        return gd;
-    }
-    
-    public static final GridData gdhalign( final GridData gd,
-                                           final int alignment )
-    {
-        gd.horizontalAlignment = alignment;
-        return gd;
-    }
-    
-    public static final GridData gdvalign( final GridData gd,
-                                           final int alignment )
-    {
-        gd.verticalAlignment = alignment;
-        return gd;
-    }
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/util/HeaderToolTip.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/util/HeaderToolTip.java
deleted file mode 100644
index f74600e..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/util/HeaderToolTip.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2008 BEA Systems, Inc.
- * 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:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal.util;
-
-import static java.lang.Math.max;
-import static org.eclipse.jface.resource.JFaceResources.getColorRegistry;
-import static org.eclipse.jface.resource.JFaceResources.getDefaultFont;
-import static org.eclipse.jface.resource.JFaceResources.getFontRegistry;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdfill;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdhfill;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdwhint;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gl;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.glmargins;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.SwtUtil.getPreferredWidth;
-
-import org.eclipse.jface.window.ToolTip;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public abstract class HeaderToolTip
-    
-    extends ToolTip
-    
-{
-    private static final String HEADER_BG_COLOR 
-        = HeaderToolTip.class.getName() + ".TOOLTIP_HEAD_BG_COLOR"; //$NON-NLS-1$
-    
-    private static final String HEADER_FG_COLOR 
-        = HeaderToolTip.class.getName() + ".TOOLTIP_HEAD_FG_COLOR"; //$NON-NLS-1$
-    
-    private static final String HEADER_FONT 
-        = HeaderToolTip.class.getName() + ".TOOLTIP_HEAD_FONT"; //$NON-NLS-1$
-    
-    static
-    {
-        getColorRegistry().put( HEADER_BG_COLOR, new RGB( 255, 255, 255 ) );
-        getColorRegistry().put( HEADER_FG_COLOR, new RGB( 0, 0, 0 ) );
-        
-        final String defaultFontName = getDefaultFont().getFontData()[ 0 ].getName();
-        final FontData[] fontData = getFontRegistry().getBold( defaultFontName ).getFontData();
-        
-        getFontRegistry().put( HEADER_FONT, fontData );
-    }
-    
-    public HeaderToolTip( final Control control )
-    {
-        super( control );
-        
-        setPopupDelay( 1000 );
-        setShift( new Point( 10, 3 ) );
-    }
-
-    @Override
-    protected final Composite createToolTipContentArea( final Event event,
-                                                        final Composite parent )
-    {
-        final Composite composite = new Composite( parent, SWT.NONE );
-        final GridLayout layout = glmargins( gl( 1 ), 0, 0 );
-        layout.verticalSpacing = 1;
-        composite.setLayout( layout );
-        
-        final Composite topArea = new Composite( composite, SWT.NONE );
-        topArea.setBackground( getColorRegistry().get( HEADER_BG_COLOR ) );
-        topArea.setLayout( glmargins( gl( 3 ), 5, 5, 2, 2 ) );
-        
-        final Label titleLabel = new Label( topArea, SWT.NONE  );
-        titleLabel.setLayoutData( gdfill() );
-        titleLabel.setBackground( getColorRegistry().get( HEADER_BG_COLOR ) );
-        titleLabel.setFont( getFontRegistry().get( HEADER_FONT ) );
-        titleLabel.setForeground( getColorRegistry().get( HEADER_FG_COLOR ) );
-        titleLabel.setText( getToolTipTitle( event ) );
-        
-        final Control content = createContentArea( event, composite );
-
-        final int width = max( getPreferredWidth( titleLabel ) + 50, 300 );
-        topArea.setLayoutData( gdwhint( gdhfill(), width ) );
-        content.setLayoutData( gdwhint( gdfill(), width ) );
-        
-        return composite;
-    }
-    
-    protected abstract String getToolTipTitle( Event event );
-    
-    protected abstract Composite createContentArea( Event event,
-                                                    Composite parent );
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/util/ImageWithTextComposite.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/util/ImageWithTextComposite.java
deleted file mode 100644
index 1886d04..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/util/ImageWithTextComposite.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2008 BEA Systems, Inc.
- * 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:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal.util;
-
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gd;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdfill;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdhfill;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdvalign;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gl;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.glmargins;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.glspacing;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public final class ImageWithTextComposite
-
-    extends Composite
-    
-{
-    private final Label imageLabel;
-    private final Text textField;
-    
-    public ImageWithTextComposite( final Composite parent )
-    {
-        super( parent, SWT.NONE );
-        
-        setLayout( glmargins( gl( 1 ), 0, 0 ) );
-        
-        final Composite internalComposite = new Composite( this, SWT.NONE );
-        internalComposite.setLayoutData( gdfill() );
-        internalComposite.setLayout( glspacing( glmargins( gl( 2 ), 0, 0 ), 5, 0 ) );
-        
-        this.imageLabel = new Label( internalComposite, SWT.NONE );
-        this.imageLabel.setLayoutData( gdvalign( gd(), SWT.TOP ) );
-        
-        this.textField = new Text( internalComposite, SWT.WRAP | SWT.READ_ONLY );
-        this.textField.setLayoutData( gdhfill() );
-        //this.textField.setBackground( getDisplay().getSystemColor( SWT.COLOR_WIDGET_BACKGROUND ) );
-    }
-    
-    public void setImage( final Image image )
-    {
-        this.imageLabel.setImage( image );
-    }
-    
-    public void setText( final String textLabel )
-    {
-        this.textField.setText( textLabel );
-    }
-    
-    public void setFont( final Font font )
-    {
-        this.textField.setFont( font );
-    }
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/util/ReadOnlyComboBoxCellEditor.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/util/ReadOnlyComboBoxCellEditor.java
deleted file mode 100644
index 69cb8ac..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/util/ReadOnlyComboBoxCellEditor.java
+++ /dev/null
@@ -1,2051 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation 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:
- *     IBM Corporation - initial API and implementation
- *     Tom Schindl <tom.schindl@bestsolution.at> - bugfix in 174739
- *     Konstantin Komissarchik - mproving behavior in the read-only case 
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal.util;
-
-import java.text.MessageFormat; // Not using ICU to support standalone JFace scenario
-import java.util.ArrayList;
-import java.util.EventListener;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.accessibility.ACC;
-import org.eclipse.swt.accessibility.AccessibleAdapter;
-import org.eclipse.swt.accessibility.AccessibleControlAdapter;
-import org.eclipse.swt.accessibility.AccessibleControlEvent;
-import org.eclipse.swt.accessibility.AccessibleEvent;
-import org.eclipse.swt.accessibility.AccessibleTextAdapter;
-import org.eclipse.swt.accessibility.AccessibleTextEvent;
-import org.eclipse.swt.events.FocusAdapter;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.events.TraverseEvent;
-import org.eclipse.swt.events.TraverseListener;
-import org.eclipse.swt.events.VerifyListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Layout;
-import org.eclipse.swt.widgets.List;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.swt.widgets.TypedListener;
-
-/**
- * A cell editor that presents a list of items in a combo box.
- * The cell editor's value is the zero-based index of the selected
- * item.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-
-// The code contained in this file has been copied from SWT/JFace to experiment
-// with improving behavior of the ComboBoxCellEditor in the read-only case. 
-// The changes made to the code have been annotated with "kosta" comments.
-// Eventually these should be converted into patches for incorporation back
-// into SWT/JFace.
-
-public class ReadOnlyComboBoxCellEditor extends CellEditor {
-
-    /**
-     * The list of items to present in the combo box.
-     */
-    private String[] items;
-
-    /**
-     * The zero-based index of the selected item.
-     */
-    int selection;
-
-    /**
-     * The custom combo box control.
-     */
-    CustomCCombo comboBox;
-
-    /**
-     * Default ComboBoxCellEditor style
-     */
-    private static final int defaultStyle = SWT.NONE;
-
-    /**
-     * Creates a new cell editor with no control and no  st of choices. Initially,
-     * the cell editor has no cell validator.
-     * 
-     * @since 2.1
-     * @see CellEditor#setStyle
-     * @see CellEditor#create
-     * @see ReadOnlyComboBoxCellEditor#setItems
-     * @see CellEditor#dispose
-     */
-    public ReadOnlyComboBoxCellEditor() {
-        setStyle(defaultStyle);
-    }
-
-    /**
-     * Creates a new cell editor with a combo containing the given 
-     * list of choices and parented under the given control. The cell
-     * editor value is the zero-based index of the selected item.
-     * Initially, the cell editor has no cell validator and
-     * the first item in the list is selected. 
-     *
-     * @param parent the parent control
-     * @param items the list of strings for the combo box
-     */
-    public ReadOnlyComboBoxCellEditor(Composite parent, String[] items) {
-        this(parent, items, defaultStyle);
-    }
-
-    /**
-     * Creates a new cell editor with a combo containing the given 
-     * list of choices and parented under the given control. The cell
-     * editor value is the zero-based index of the selected item.
-     * Initially, the cell editor has no cell validator and
-     * the first item in the list is selected. 
-     *
-     * @param parent the parent control
-     * @param items the list of strings for the combo box
-     * @param style the style bits
-     * @since 2.1
-     */
-    public ReadOnlyComboBoxCellEditor(Composite parent, String[] items, int style) {
-        super(parent, style);
-        setItems(items);
-    }
-
-    /**
-     * Returns the list of choices for the combo box
-     *
-     * @return the list of choices for the combo box
-     */
-    public String[] getItems() {
-        return this.items;
-    }
-
-    /**
-     * Sets the list of choices for the combo box
-     *
-     * @param items the list of choices for the combo box
-     */
-    public void setItems(String[] items) {
-        Assert.isNotNull(items);
-        this.items = items;
-        populateComboBoxItems();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on CellEditor.
-     */
-    protected Control createControl(Composite parent) {
-
-        this.comboBox = new CustomCCombo(parent, getStyle());
-        this.comboBox.setFont(parent.getFont());
-        
-        populateComboBoxItems();
-
-        this.comboBox.addKeyListener(new KeyAdapter() {
-            // hook key pressed - see PR 14201  
-            public void keyPressed(KeyEvent e) {
-                keyReleaseOccured(e);
-            }
-        });
-
-        this.comboBox.addSelectionListener(new SelectionAdapter() {
-            public void widgetDefaultSelected(SelectionEvent event) {
-                applyEditorValueAndDeactivate();
-            }
-
-            public void widgetSelected(SelectionEvent event) {
-                ReadOnlyComboBoxCellEditor.this.selection = ReadOnlyComboBoxCellEditor.this.comboBox.getSelectionIndex();
-            }
-        });
-
-        this.comboBox.addTraverseListener(new TraverseListener() {
-            public void keyTraversed(TraverseEvent e) {
-                if (e.detail == SWT.TRAVERSE_ESCAPE
-                        || e.detail == SWT.TRAVERSE_RETURN) {
-                    e.doit = false;
-                }
-            }
-        });
-
-        this.comboBox.addFocusListener(new FocusAdapter() {
-            public void focusLost(FocusEvent e) {
-                ReadOnlyComboBoxCellEditor.this.focusLost();
-            }
-        });
-        
-        this.comboBox.addSelectionFinalizedListener(new CustomCCombo.SelectionFinalizedListener() { // kosta
-            public void handleEvent() {
-                handleSelectionFinalized();
-            }
-        });
-        
-        return this.comboBox;
-    }
-
-    /**
-     * The <code>ComboBoxCellEditor</code> implementation of
-     * this <code>CellEditor</code> framework method returns
-     * the zero-based index of the current selection.
-     *
-     * @return the zero-based index of the current selection wrapped
-     *  as an <code>Integer</code>
-     */
-    protected Object doGetValue() {
-        return new Integer(this.selection);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on CellEditor.
-     */
-    protected void doSetFocus() {
-        this.comboBox.setFocus();
-        this.comboBox.dropDown( true );  // kosta
-    }
-
-    /**
-     * The <code>ComboBoxCellEditor</code> implementation of
-     * this <code>CellEditor</code> framework method sets the 
-     * minimum width of the cell.  The minimum width is 10 characters
-     * if <code>comboBox</code> is not <code>null</code> or <code>disposed</code>
-     * else it is 60 pixels to make sure the arrow button and some text is visible.
-     * The list of CCombo will be wide enough to show its longest item.
-     */
-    public LayoutData getLayoutData() {
-        LayoutData layoutData = super.getLayoutData();
-        if ((this.comboBox == null) || this.comboBox.isDisposed()) {
-            layoutData.minimumWidth = 60;
-        } else {
-            // make the comboBox 10 characters wide
-            GC gc = new GC(this.comboBox);
-            layoutData.minimumWidth = (gc.getFontMetrics()
-                    .getAverageCharWidth() * 10) + 10;
-            gc.dispose();
-        }
-        return layoutData;
-    }
-
-    /**
-     * The <code>ComboBoxCellEditor</code> implementation of
-     * this <code>CellEditor</code> framework method
-     * accepts a zero-based index of a selection.
-     *
-     * @param value the zero-based index of the selection wrapped
-     *   as an <code>Integer</code>
-     */
-    protected void doSetValue(Object value) {
-        Assert.isTrue(this.comboBox != null && (value instanceof Integer));
-        this.selection = ((Integer) value).intValue();
-        this.comboBox.select(this.selection);
-    }
-
-    /**
-     * Updates the list of choices for the combo box for the current control.
-     */
-    private void populateComboBoxItems() {
-        if (this.comboBox != null && this.items != null) {
-            this.comboBox.removeAll();
-            for (int i = 0; i < this.items.length; i++) {
-                this.comboBox.add(this.items[i], i);
-            }
-
-            setValueValid(true);
-            this.selection = 0;
-        }
-    }
-
-    /**
-     * Applies the currently selected value and deactivates the cell editor
-     */
-    void applyEditorValueAndDeactivate() {
-        //  must set the selection before getting value
-        this.selection = this.comboBox.getSelectionIndex();
-        Object newValue = doGetValue();
-        markDirty();
-        boolean isValid = isCorrect(newValue);
-        setValueValid(isValid);
-        
-        if (!isValid) {
-            // Only format if the 'index' is valid
-            if (this.items.length > 0 && this.selection >= 0 && this.selection < this.items.length) {
-                // try to insert the current value into the error message.
-                setErrorMessage(MessageFormat.format(getErrorMessage(),
-                        new Object[] { this.items[this.selection] }));
-            }
-            else {
-                // Since we don't have a valid index, assume we're using an 'edit'
-                // combo so format using its text value
-                setErrorMessage(MessageFormat.format(getErrorMessage(),
-                        new Object[] { this.comboBox.getText() }));
-            }
-        }
-
-        fireApplyEditorValue();
-        deactivate();
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.jface.viewers.CellEditor#focusLost()
-     */
-    protected void focusLost() {
-        if (isActivated()) {
-            applyEditorValueAndDeactivate();
-        }
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.jface.viewers.CellEditor#keyReleaseOccured(org.eclipse.swt.events.KeyEvent)
-     */
-    protected void keyReleaseOccured(KeyEvent keyEvent) {
-        if (keyEvent.character == '\u001b') { // Escape character
-            fireCancelEditor();
-        } else if (keyEvent.character == '\t') { // tab key
-            applyEditorValueAndDeactivate();
-        }
-    }
-    
-    protected void handleSelectionFinalized() // kosta
-    {
-        applyEditorValueAndDeactivate();
-    }
-    
-    /**
-     * The CCombo class represents a selectable user interface object
-     * that combines a text field and a list and issues notification
-     * when an item is selected from the list.
-     * <p>
-     * CCombo was written to work around certain limitations in the native
-     * combo box. Specifically, on win32, the height of a CCombo can be set;
-     * attempts to set the height of a Combo are ignored. CCombo can be used
-     * anywhere that having the increased flexibility is more important than
-     * getting native L&F, but the decision should not be taken lightly. 
-     * There is no is no strict requirement that CCombo look or behave
-     * the same as the native combo box.
-     * </p>
-     * <p>
-     * Note that although this class is a subclass of <code>Composite</code>,
-     * it does not make sense to add children to it, or set a layout on it.
-     * </p>
-     * <dl>
-     * <dt><b>Styles:</b>
-     * <dd>BORDER, READ_ONLY, FLAT</dd>
-     * <dt><b>Events:</b>
-     * <dd>DefaultSelection, Modify, Selection, Verify</dd>
-     * </dl>
-     */
-    private static final class CustomCCombo extends Composite {
-        
-        public static class SelectionFinalizedListener implements EventListener // kosta
-        {
-            public void handleEvent()
-            {
-            }
-        }
-    
-        Text text;
-        List list;
-        int visibleItemCount = 5;
-        Shell popup;
-        Button arrow;
-        boolean hasFocus;
-        Listener listener, filter;
-        Color foreground, background;
-        Font font;
-        java.util.List<SelectionFinalizedListener> selectionFinalizedListeners; // kosta
-        
-        
-    /**
-     * Constructs a new instance of this class given its parent
-     * and a style value describing its behavior and appearance.
-     * <p>
-     * The style value is either one of the style constants defined in
-     * class <code>SWT</code> which is applicable to instances of this
-     * class, or must be built by <em>bitwise OR</em>'ing together 
-     * (that is, using the <code>int</code> "|" operator) two or more
-     * of those <code>SWT</code> style constants. The class description
-     * lists the style constants that are applicable to the class.
-     * Style bits are also inherited from superclasses.
-     * </p>
-     *
-     * @param parent a widget which will be the parent of the new instance (cannot be null)
-     * @param style the style of widget to construct
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_NULL_ARGUMENT - if the parent is null</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
-     * </ul>
-     *
-     * @see SWT#BORDER
-     * @see SWT#READ_ONLY
-     * @see SWT#FLAT
-     * @see Widget#getStyle()
-     */
-    public CustomCCombo (Composite parent, int style) {
-        super (parent, style = checkStyle (style));
-        
-        this.selectionFinalizedListeners = new ArrayList<SelectionFinalizedListener>(); // kosta
-        
-        int textStyle = SWT.SINGLE;
-        if ((style & SWT.READ_ONLY) != 0) textStyle |= SWT.READ_ONLY;
-        if ((style & SWT.FLAT) != 0) textStyle |= SWT.FLAT;
-        this.text = new Text (this, textStyle);
-        int arrowStyle = SWT.ARROW | SWT.DOWN;
-        if ((style & SWT.FLAT) != 0) arrowStyle |= SWT.FLAT;
-        this.arrow = new Button (this, arrowStyle);
-    
-        this.listener = new Listener () {
-            public void handleEvent (Event event) {
-                if (CustomCCombo.this.popup == event.widget) {
-                    popupEvent (event);
-                    return;
-                }
-                if (CustomCCombo.this.text == event.widget) {
-                    textEvent (event);
-                    return;
-                }
-                if (CustomCCombo.this.list == event.widget) {
-                    listEvent (event);
-                    return;
-                }
-                if (CustomCCombo.this.arrow == event.widget) {
-                    arrowEvent (event);
-                    return;
-                }
-                if (CustomCCombo.this == event.widget) {
-                    comboEvent (event);
-                    return;
-                }
-                if (getShell () == event.widget) {
-                    handleFocus (SWT.FocusOut);
-                }
-            }
-        };
-        this.filter = new Listener() {
-            public void handleEvent(Event event) {
-                Shell shell = ((Control)event.widget).getShell ();
-                if (shell == CustomCCombo.this.getShell ()) {
-                    handleFocus (SWT.FocusOut);
-                }
-            }
-        };
-        
-        int [] comboEvents = {SWT.Dispose, SWT.Move, SWT.Resize};
-        for (int i=0; i<comboEvents.length; i++) this.addListener (comboEvents [i], this.listener);
-        
-        int [] textEvents = {SWT.DefaultSelection, SWT.KeyDown, SWT.KeyUp, SWT.MenuDetect, SWT.Modify, SWT.MouseDown, SWT.MouseUp, SWT.Traverse, SWT.FocusIn, SWT.Verify};
-        for (int i=0; i<textEvents.length; i++) this.text.addListener (textEvents [i], this.listener);
-        
-        int [] arrowEvents = {SWT.Selection, SWT.FocusIn};
-        for (int i=0; i<arrowEvents.length; i++) this.arrow.addListener (arrowEvents [i], this.listener);
-        
-        createPopup(null, -1);
-        initAccessible();
-    }
-    static int checkStyle (int style) {
-        int mask = SWT.BORDER | SWT.READ_ONLY | SWT.FLAT | SWT.LEFT_TO_RIGHT | SWT.RIGHT_TO_LEFT;
-        return style & mask;
-    }
-    /**
-     * Adds the argument to the end of the receiver's list.
-     *
-     * @param string the new item
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_NULL_ARGUMENT - if the string is null</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     *
-     * @see #add(String,int)
-     */
-    public void add (String string) {
-        checkWidget();
-        if (string == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-        this.list.add (string);
-    }
-    /**
-     * Adds the argument to the receiver's list at the given
-     * zero-relative index.
-     * <p>
-     * Note: To add an item at the end of the list, use the
-     * result of calling <code>getItemCount()</code> as the
-     * index or use <code>add(String)</code>.
-     * </p>
-     *
-     * @param string the new item
-     * @param index the index for the item
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_NULL_ARGUMENT - if the string is null</li>
-     *    <li>ERROR_INVALID_RANGE - if the index is not between 0 and the number of elements in the list (inclusive)</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     *
-     * @see #add(String)
-     */
-    public void add (String string, int index) {
-        checkWidget();
-        if (string == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-        this.list.add (string, index);
-    }
-    /**
-     * Adds the listener to the collection of listeners who will
-     * be notified when the receiver's text is modified, by sending
-     * it one of the messages defined in the <code>ModifyListener</code>
-     * interface.
-     *
-     * @param listener the listener which should be notified
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     *
-     * @see ModifyListener
-     * @see #removeModifyListener
-     */
-    public void addModifyListener (ModifyListener listener) {
-        checkWidget();
-        if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-        TypedListener typedListener = new TypedListener (listener);
-        addListener (SWT.Modify, typedListener);
-    }
-    /**
-     * Adds the listener to the collection of listeners who will
-     * be notified when the user changes the receiver's selection, by sending
-     * it one of the messages defined in the <code>SelectionListener</code>
-     * interface.
-     * <p>
-     * <code>widgetSelected</code> is called when the combo's list selection changes.
-     * <code>widgetDefaultSelected</code> is typically called when ENTER is pressed the combo's text area.
-     * </p>
-     *
-     * @param listener the listener which should be notified when the user changes the receiver's selection
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     *
-     * @see SelectionListener
-     * @see #removeSelectionListener
-     * @see SelectionEvent
-     */
-    public void addSelectionListener(SelectionListener listener) {
-        checkWidget();
-        if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-        TypedListener typedListener = new TypedListener (listener);
-        addListener (SWT.Selection,typedListener);
-        addListener (SWT.DefaultSelection,typedListener);
-    }
-    /**
-     * Adds the listener to the collection of listeners who will
-     * be notified when the receiver's text is verified, by sending
-     * it one of the messages defined in the <code>VerifyListener</code>
-     * interface.
-     *
-     * @param listener the listener which should be notified
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     *
-     * @see VerifyListener
-     * @see #removeVerifyListener
-     * 
-     * @since 3.3
-     */
-    public void addVerifyListener (VerifyListener listener) {
-        checkWidget();
-        if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-        TypedListener typedListener = new TypedListener (listener);
-        addListener (SWT.Verify,typedListener);
-    }
-    
-    public void addSelectionFinalizedListener( SelectionFinalizedListener listener ) // kosta
-    {
-        checkWidget();
-        if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-        this.selectionFinalizedListeners.add( listener );
-    }
-    
-    public void removeDropDownListener( SelectionFinalizedListener listener ) // kosta
-    {
-        checkWidget();
-        if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-        this.selectionFinalizedListeners.remove( listener );
-    }
-    
-    private void notifySelectionFinalizedListeners() // kosta
-    {
-        checkWidget();
-        
-        for( SelectionFinalizedListener listener : this.selectionFinalizedListeners )
-        {
-            listener.handleEvent();
-        }
-    }
-    
-    void arrowEvent (Event event) {
-        switch (event.type) {
-            case SWT.FocusIn: {
-                handleFocus (SWT.FocusIn);
-                break;
-            }
-            case SWT.Selection: {
-                dropDown (!isDropped ());
-                break;
-            }
-        }
-    }
-    /**
-     * Sets the selection in the receiver's text field to an empty
-     * selection starting just before the first character. If the
-     * text field is editable, this has the effect of placing the
-     * i-beam at the start of the text.
-     * <p>
-     * Note: To clear the selected items in the receiver's list, 
-     * use <code>deselectAll()</code>.
-     * </p>
-     *
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     *
-     * @see #deselectAll
-     */
-    public void clearSelection () {
-        checkWidget ();
-        this.text.clearSelection ();
-        this.list.deselectAll ();
-    }
-    void comboEvent (Event event) {
-        switch (event.type) {
-            case SWT.Dispose:
-                if (this.popup != null && !this.popup.isDisposed ()) {
-                    this.list.removeListener (SWT.Dispose, this.listener);
-                    this.popup.dispose ();
-                }
-                Shell shell = getShell ();
-                shell.removeListener (SWT.Deactivate, this.listener);
-                Display display = getDisplay ();
-                display.removeFilter (SWT.FocusIn, this.filter);
-                this.popup = null;  
-                this.text = null;  
-                this.list = null;  
-                this.arrow = null;
-                break;
-            case SWT.Move:
-                dropDown (false);
-                break;
-            case SWT.Resize:
-                internalLayout (false);
-                break;
-        }
-    }
-    
-    public Point computeSize (int wHint, int hHint, boolean changed) {
-        checkWidget ();
-        int width = 0, height = 0;
-        String[] items = this.list.getItems ();
-        GC gc = new GC (this.text);
-        int spacer = gc.stringExtent (" ").x; //$NON-NLS-1$
-        int textWidth = gc.stringExtent (this.text.getText ()).x;
-        for (int i = 0; i < items.length; i++) {
-            textWidth = Math.max (gc.stringExtent (items[i]).x, textWidth);
-        }
-        gc.dispose ();
-        Point textSize = this.text.computeSize (SWT.DEFAULT, SWT.DEFAULT, changed);
-        Point arrowSize = this.arrow.computeSize (SWT.DEFAULT, SWT.DEFAULT, changed);
-        Point listSize = this.list.computeSize (SWT.DEFAULT, SWT.DEFAULT, changed);
-        int borderWidth = getBorderWidth ();
-        
-        height = Math.max (textSize.y, arrowSize.y);
-        width = Math.max (textWidth + 2*spacer + arrowSize.x + 2*borderWidth, listSize.x);
-        if (wHint != SWT.DEFAULT) width = wHint;
-        if (hHint != SWT.DEFAULT) height = hHint;
-        return new Point (width + 2*borderWidth, height + 2*borderWidth);
-    }
-    /**
-     * Copies the selected text.
-     * <p>
-     * The current selection is copied to the clipboard.
-     * </p>
-     *
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     * 
-     * @since 3.3
-     */
-    public void copy () {
-        checkWidget ();
-        this.text.copy ();
-    }
-    void createPopup(String[] items, int selectionIndex) {      
-        // create shell and list
-        this.popup = new Shell (getShell (), SWT.NO_TRIM | SWT.ON_TOP);
-        int style = getStyle ();
-        int listStyle = SWT.SINGLE | SWT.V_SCROLL;
-        if ((style & SWT.FLAT) != 0) listStyle |= SWT.FLAT;
-        if ((style & SWT.RIGHT_TO_LEFT) != 0) listStyle |= SWT.RIGHT_TO_LEFT;
-        if ((style & SWT.LEFT_TO_RIGHT) != 0) listStyle |= SWT.LEFT_TO_RIGHT;
-        this.list = new List (this.popup, listStyle);
-        if (this.font != null) this.list.setFont (this.font);
-        if (this.foreground != null) this.list.setForeground (this.foreground);
-        if (this.background != null) this.list.setBackground (this.background);
-    
-        int [] popupEvents = {SWT.Close, SWT.Paint, SWT.Deactivate};
-        for (int i=0; i<popupEvents.length; i++) this.popup.addListener (popupEvents [i], this.listener);
-        int [] listEvents = {SWT.MouseUp, SWT.Selection, SWT.Traverse, SWT.KeyDown, SWT.KeyUp, SWT.FocusIn, SWT.Dispose};
-        for (int i=0; i<listEvents.length; i++) this.list.addListener (listEvents [i], this.listener);
-    
-        if (items != null) this.list.setItems (items);
-        if (selectionIndex != -1) this.list.setSelection (selectionIndex);
-    }
-    /**
-     * Cuts the selected text.
-     * <p>
-     * The current selection is first copied to the
-     * clipboard and then deleted from the widget.
-     * </p>
-     *
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     * 
-     * @since 3.3
-     */
-    public void cut () {
-        checkWidget ();
-        this.text.cut ();
-    }
-    /**
-     * Deselects the item at the given zero-relative index in the receiver's 
-     * list.  If the item at the index was already deselected, it remains
-     * deselected. Indices that are out of range are ignored.
-     *
-     * @param index the index of the item to deselect
-     *
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void deselect (int index) {
-        checkWidget ();
-        this.list.deselect (index);
-    }
-    /**
-     * Deselects all selected items in the receiver's list.
-     * <p>
-     * Note: To clear the selection in the receiver's text field,
-     * use <code>clearSelection()</code>.
-     * </p>
-     *
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     *
-     * @see #clearSelection
-     */
-    public void deselectAll () {
-        checkWidget ();
-        this.list.deselectAll ();
-    }
-    void dropDown (boolean drop) {
-        dropDown(drop, true);
-    }
-    void dropDown (boolean drop, boolean focus) {
-        /*try
-        {
-            throw new RuntimeException();
-        }
-        catch( Exception e )
-        {
-            e.printStackTrace();
-        }*/
-        if (drop == isDropped ()) return;
-        if (!drop) {
-            this.popup.setVisible (false);
-            if (!isDisposed ()&& this.arrow.isFocusControl() && focus) {
-                this.text.setFocus();
-            }
-            return;
-        }
-    
-        if (getShell() != this.popup.getParent ()) {
-            String[] items = this.list.getItems ();
-            int selectionIndex = this.list.getSelectionIndex ();
-            this.list.removeListener (SWT.Dispose, this.listener);
-            this.popup.dispose();
-            this.popup = null;
-            this.list = null;
-            createPopup (items, selectionIndex);
-        }
-        
-        Point size = getSize ();
-        int itemCount = this.list.getItemCount ();
-        itemCount = (itemCount == 0) ? this.visibleItemCount : Math.min(this.visibleItemCount, itemCount);
-        int itemHeight = this.list.getItemHeight () * itemCount;
-        Point listSize = this.list.computeSize (SWT.DEFAULT, itemHeight, false);
-        this.list.setBounds (1, 1, Math.max (size.x - 2, listSize.x), listSize.y);
-        
-        int index = this.list.getSelectionIndex ();
-        if (index != -1) this.list.setTopIndex (index);
-        Display display = getDisplay ();
-        Rectangle listRect = this.list.getBounds ();
-        Rectangle parentRect = display.map (getParent (), null, getBounds ());
-        Point comboSize = getSize ();
-        Rectangle displayRect = getMonitor ().getClientArea ();
-        int width = Math.max (comboSize.x, listRect.width + 2);
-        int height = listRect.height + 2;
-        int x = parentRect.x;
-        int y = parentRect.y + comboSize.y;
-        if (y + height > displayRect.y + displayRect.height) y = parentRect.y - height;
-        if (x + width > displayRect.x + displayRect.width) x = displayRect.x + displayRect.width - listRect.width;
-        this.popup.setBounds (x, y, width, height);
-        this.popup.setVisible (true);
-        if (focus) this.list.setFocus ();
-    }
-    /*
-     * Return the lowercase of the first non-'&' character following
-     * an '&' character in the given string. If there are no '&'
-     * characters in the given string, return '\0'.
-     */
-    char _findMnemonic (String string) {
-        if (string == null) return '\0';
-        int index = 0;
-        int length = string.length ();
-        do {
-            while (index < length && string.charAt (index) != '&') index++;
-            if (++index >= length) return '\0';
-            if (string.charAt (index) != '&') return Character.toLowerCase (string.charAt (index));
-            index++;
-        } while (index < length);
-        return '\0';
-    }
-    /* 
-     * Return the Label immediately preceding the receiver in the z-order, 
-     * or null if none. 
-     */
-    Label getAssociatedLabel () {
-        Control[] siblings = getParent ().getChildren ();
-        for (int i = 0; i < siblings.length; i++) {
-            if (siblings [i] == this) {
-                if (i > 0 && siblings [i-1] instanceof Label) {
-                    return (Label) siblings [i-1];
-                }
-            }
-        }
-        return null;
-    }
-    public Control [] getChildren () {
-        checkWidget();
-        return new Control [0];
-    }
-    /**
-     * Gets the editable state.
-     *
-     * @return whether or not the receiver is editable
-     * 
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     * 
-     * @since 3.0
-     */
-    public boolean getEditable () {
-        checkWidget ();
-        return this.text.getEditable();
-    }
-    /**
-     * Returns the item at the given, zero-relative index in the
-     * receiver's list. Throws an exception if the index is out
-     * of range.
-     *
-     * @param index the index of the item to return
-     * @return the item at the given index
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_INVALID_RANGE - if the index is not between 0 and the number of elements in the list minus 1 (inclusive)</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public String getItem (int index) {
-        checkWidget();
-        return this.list.getItem (index);
-    }
-    /**
-     * Returns the number of items contained in the receiver's list.
-     *
-     * @return the number of items
-     *
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public int getItemCount () {
-        checkWidget ();
-        return this.list.getItemCount ();
-    }
-    /**
-     * Returns the height of the area which would be used to
-     * display <em>one</em> of the items in the receiver's list.
-     *
-     * @return the height of one item
-     *
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public int getItemHeight () {
-        checkWidget ();
-        return this.list.getItemHeight ();
-    }
-    /**
-     * Returns an array of <code>String</code>s which are the items
-     * in the receiver's list. 
-     * <p>
-     * Note: This is not the actual structure used by the receiver
-     * to maintain its list of items, so modifying the array will
-     * not affect the receiver. 
-     * </p>
-     *
-     * @return the items in the receiver's list
-     *
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public String [] getItems () {
-        checkWidget ();
-        return this.list.getItems ();
-    }
-    /**
-     * Returns <code>true</code> if the receiver's list is visible,
-     * and <code>false</code> otherwise.
-     * <p>
-     * If one of the receiver's ancestors is not visible or some
-     * other condition makes the receiver not visible, this method
-     * may still indicate that it is considered visible even though
-     * it may not actually be showing.
-     * </p>
-     *
-     * @return the receiver's list's visibility state
-     *
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     * 
-     * @since 3.4
-     */
-    public boolean getListVisible () {
-        checkWidget ();
-        return isDropped();
-    }
-    public Menu getMenu() {
-        return this.text.getMenu();
-    }
-    /**
-     * Returns a <code>Point</code> whose x coordinate is the start
-     * of the selection in the receiver's text field, and whose y
-     * coordinate is the end of the selection. The returned values
-     * are zero-relative. An "empty" selection as indicated by
-     * the the x and y coordinates having the same value.
-     *
-     * @return a point representing the selection start and end
-     *
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public Point getSelection () {
-        checkWidget ();
-        return this.text.getSelection ();
-    }
-    /**
-     * Returns the zero-relative index of the item which is currently
-     * selected in the receiver's list, or -1 if no item is selected.
-     *
-     * @return the index of the selected item
-     *
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public int getSelectionIndex () {
-        checkWidget ();
-        return this.list.getSelectionIndex ();
-    }
-    public int getStyle () {
-        int style = super.getStyle ();
-        style &= ~SWT.READ_ONLY;
-        if (!this.text.getEditable()) style |= SWT.READ_ONLY; 
-        return style;
-    }
-    /**
-     * Returns a string containing a copy of the contents of the
-     * receiver's text field.
-     *
-     * @return the receiver's text
-     *
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public String getText () {
-        checkWidget ();
-        return this.text.getText ();
-    }
-    /**
-     * Returns the height of the receivers's text field.
-     *
-     * @return the text height
-     *
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public int getTextHeight () {
-        checkWidget ();
-        return this.text.getLineHeight ();
-    }
-    /**
-     * Returns the maximum number of characters that the receiver's
-     * text field is capable of holding. If this has not been changed
-     * by <code>setTextLimit()</code>, it will be the constant
-     * <code>Combo.LIMIT</code>.
-     * 
-     * @return the text limit
-     * 
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public int getTextLimit () {
-        checkWidget ();
-        return this.text.getTextLimit ();
-    }
-    /**
-     * Gets the number of items that are visible in the drop
-     * down portion of the receiver's list.
-     *
-     * @return the number of items that are visible
-     *
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     * 
-     * @since 3.0
-     */
-    public int getVisibleItemCount () {
-        checkWidget ();
-        return this.visibleItemCount;
-    }
-    void handleFocus (int type) {
-        if (isDisposed ()) return;
-        switch (type) {
-            case SWT.FocusIn: {
-                if (this.hasFocus) return;
-                if (getEditable ()) this.text.selectAll ();
-                this.hasFocus = true;
-                Shell shell = getShell ();
-                shell.removeListener (SWT.Deactivate, this.listener);
-                shell.addListener (SWT.Deactivate, this.listener);
-                Display display = getDisplay ();
-                display.removeFilter (SWT.FocusIn, this.filter);
-                display.addFilter (SWT.FocusIn, this.filter);
-                Event e = new Event ();
-                notifyListeners (SWT.FocusIn, e);
-                break;
-            }
-            case SWT.FocusOut: {
-                if (!this.hasFocus) return;
-                Control focusControl = getDisplay ().getFocusControl ();
-                if (focusControl == this.arrow || focusControl == this.list || focusControl == this.text) return;
-                this.hasFocus = false;
-                Shell shell = getShell ();
-                shell.removeListener(SWT.Deactivate, this.listener);
-                Display display = getDisplay ();
-                display.removeFilter (SWT.FocusIn, this.filter);
-                Event e = new Event ();
-                notifyListeners (SWT.FocusOut, e);
-                break;
-            }
-        }
-    }
-    /**
-     * Searches the receiver's list starting at the first item
-     * (index 0) until an item is found that is equal to the 
-     * argument, and returns the index of that item. If no item
-     * is found, returns -1.
-     *
-     * @param string the search item
-     * @return the index of the item
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_NULL_ARGUMENT - if the string is null</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public int indexOf (String string) {
-        checkWidget ();
-        if (string == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-        return this.list.indexOf (string);
-    }
-    /**
-     * Searches the receiver's list starting at the given, 
-     * zero-relative index until an item is found that is equal
-     * to the argument, and returns the index of that item. If
-     * no item is found or the starting index is out of range,
-     * returns -1.
-     *
-     * @param string the search item
-     * @param start the zero-relative index at which to begin the search
-     * @return the index of the item
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_NULL_ARGUMENT - if the string is null</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public int indexOf (String string, int start) {
-        checkWidget ();
-        if (string == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-        return this.list.indexOf (string, start);
-    }
-    
-    void initAccessible() {
-        AccessibleAdapter accessibleAdapter = new AccessibleAdapter () {
-            public void getName (AccessibleEvent e) {
-                String name = null;
-                Label label = getAssociatedLabel ();
-                if (label != null) {
-                    name = stripMnemonic (label.getText());
-                }
-                e.result = name;
-            }
-            public void getKeyboardShortcut(AccessibleEvent e) {
-                String shortcut = null;
-                Label label = getAssociatedLabel ();
-                if (label != null) {
-                    String text = label.getText ();
-                    if (text != null) {
-                        char mnemonic = _findMnemonic (text);
-                        if (mnemonic != '\0') {
-                            shortcut = "Alt+"+mnemonic; //$NON-NLS-1$
-                        }
-                    }
-                }
-                e.result = shortcut;
-            }
-            public void getHelp (AccessibleEvent e) {
-                e.result = getToolTipText ();
-            }
-        };
-        getAccessible ().addAccessibleListener (accessibleAdapter);
-        this.text.getAccessible ().addAccessibleListener (accessibleAdapter);
-        this.list.getAccessible ().addAccessibleListener (accessibleAdapter);
-        
-        this.arrow.getAccessible ().addAccessibleListener (new AccessibleAdapter() {
-            public void getName (AccessibleEvent e) {
-                e.result = isDropped () ? SWT.getMessage ("SWT_Close") : SWT.getMessage ("SWT_Open"); //$NON-NLS-1$ //$NON-NLS-2$
-            }
-            public void getKeyboardShortcut (AccessibleEvent e) {
-                e.result = "Alt+Down Arrow"; //$NON-NLS-1$
-            }
-            public void getHelp (AccessibleEvent e) {
-                e.result = getToolTipText ();
-            }
-        });
-    
-        getAccessible().addAccessibleTextListener (new AccessibleTextAdapter() {
-            public void getCaretOffset (AccessibleTextEvent e) {
-                e.offset = CustomCCombo.this.text.getCaretPosition ();
-            }
-            public void getSelectionRange(AccessibleTextEvent e) {
-                Point sel = CustomCCombo.this.text.getSelection();
-                e.offset = sel.x;
-                e.length = sel.y - sel.x;
-            }
-        });
-        
-        getAccessible().addAccessibleControlListener (new AccessibleControlAdapter() {
-            public void getChildAtPoint (AccessibleControlEvent e) {
-                Point testPoint = toControl (e.x, e.y);
-                if (getBounds ().contains (testPoint)) {
-                    e.childID = ACC.CHILDID_SELF;
-                }
-            }
-            
-            public void getLocation (AccessibleControlEvent e) {
-                Rectangle location = getBounds ();
-                Point pt = getParent().toDisplay (location.x, location.y);
-                e.x = pt.x;
-                e.y = pt.y;
-                e.width = location.width;
-                e.height = location.height;
-            }
-            
-            public void getChildCount (AccessibleControlEvent e) {
-                e.detail = 0;
-            }
-            
-            public void getRole (AccessibleControlEvent e) {
-                e.detail = ACC.ROLE_COMBOBOX;
-            }
-            
-            public void getState (AccessibleControlEvent e) {
-                e.detail = ACC.STATE_NORMAL;
-            }
-    
-            public void getValue (AccessibleControlEvent e) {
-                e.result = getText ();
-            }
-        });
-    
-        this.text.getAccessible ().addAccessibleControlListener (new AccessibleControlAdapter () {
-            public void getRole (AccessibleControlEvent e) {
-                e.detail = CustomCCombo.this.text.getEditable () ? ACC.ROLE_TEXT : ACC.ROLE_LABEL;
-            }
-        });
-    
-        this.arrow.getAccessible ().addAccessibleControlListener (new AccessibleControlAdapter() {
-            public void getDefaultAction (AccessibleControlEvent e) {
-                e.result = isDropped () ? SWT.getMessage ("SWT_Close") : SWT.getMessage ("SWT_Open"); //$NON-NLS-1$ //$NON-NLS-2$
-            }
-        });
-    }
-    boolean isDropped () {
-        return this.popup.getVisible ();
-    }
-    public boolean isFocusControl () {
-        checkWidget();
-        if (this.text.isFocusControl () || this.arrow.isFocusControl () || this.list.isFocusControl () || this.popup.isFocusControl ()) {
-            return true;
-        } 
-        return super.isFocusControl ();
-    }
-    void internalLayout (boolean changed) {
-        if (isDropped ()) dropDown (false);
-        Rectangle rect = getClientArea ();
-        int width = rect.width;
-        int height = rect.height;
-        Point arrowSize = this.arrow.computeSize (SWT.DEFAULT, height, changed);
-        this.text.setBounds (0, 0, width - arrowSize.x, height);
-        this.arrow.setBounds (width - arrowSize.x, 0, arrowSize.x, arrowSize.y);
-    }
-    void listEvent (Event event) {
-        switch (event.type) {
-            case SWT.Dispose:
-                if (getShell () != this.popup.getParent ()) {
-                    String[] items = this.list.getItems ();
-                    int selectionIndex = this.list.getSelectionIndex ();
-                    this.popup = null;
-                    this.list = null;
-                    createPopup (items, selectionIndex);
-                }
-                break;
-            case SWT.FocusIn: {
-                handleFocus (SWT.FocusIn);
-                break;
-            }
-            case SWT.MouseUp: {
-                if (event.button != 1) return;
-                dropDown (false);
-                notifySelectionFinalizedListeners(); // kosta
-                break;
-            }
-            case SWT.Selection: {
-                int index = this.list.getSelectionIndex ();
-                if (index == -1) return;
-                this.text.setText (this.list.getItem (index));
-                this.text.selectAll ();
-                this.list.setSelection (index);
-                Event e = new Event ();
-                e.time = event.time;
-                e.stateMask = event.stateMask;
-                e.doit = event.doit;
-                notifyListeners (SWT.Selection, e);
-                event.doit = e.doit;
-                break;
-            }
-            case SWT.Traverse: {
-                switch (event.detail) {
-                    case SWT.TRAVERSE_RETURN:
-                    case SWT.TRAVERSE_ESCAPE:
-                    case SWT.TRAVERSE_ARROW_PREVIOUS:
-                    case SWT.TRAVERSE_ARROW_NEXT:
-                        event.doit = false;
-                        break;
-                }
-                Event e = new Event ();
-                e.time = event.time;
-                e.detail = event.detail;
-                e.doit = event.doit;
-                e.character = event.character;
-                e.keyCode = event.keyCode;
-                notifyListeners (SWT.Traverse, e);
-                event.doit = e.doit;
-                event.detail = e.detail;
-                break;
-            }
-            case SWT.KeyUp: {       
-                Event e = new Event ();
-                e.time = event.time;
-                e.character = event.character;
-                e.keyCode = event.keyCode;
-                e.stateMask = event.stateMask;
-                notifyListeners (SWT.KeyUp, e);
-                break;
-            }
-            case SWT.KeyDown: {
-                if (event.character == SWT.ESC) { 
-                    // Escape key cancels popup list
-                    dropDown (false);
-                }
-                if ((event.stateMask & SWT.ALT) != 0 && (event.keyCode == SWT.ARROW_UP || event.keyCode == SWT.ARROW_DOWN)) {
-                    dropDown (false);
-                }
-                if (event.character == SWT.CR) {
-                    // Enter causes default selection
-                    dropDown (false);
-                    Event e = new Event ();
-                    e.time = event.time;
-                    e.stateMask = event.stateMask;
-                    notifyListeners (SWT.DefaultSelection, e);
-                    notifySelectionFinalizedListeners(); // kosta
-                }
-                // At this point the widget may have been disposed.
-                // If so, do not continue.
-                if (isDisposed ()) break;
-                Event e = new Event();
-                e.time = event.time;
-                e.character = event.character;
-                e.keyCode = event.keyCode;
-                e.stateMask = event.stateMask;
-                notifyListeners(SWT.KeyDown, e);
-                break;
-                
-            }
-        }
-    }
-    /**
-     * Pastes text from clipboard.
-     * <p>
-     * The selected text is deleted from the widget
-     * and new text inserted from the clipboard.
-     * </p>
-     *
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     * 
-     * @since 3.3
-     */
-    public void paste () {
-        checkWidget ();
-        this.text.paste ();
-    }
-    void popupEvent(Event event) {
-        switch (event.type) {
-            case SWT.Paint:
-                // draw black rectangle around list
-                Rectangle listRect = this.list.getBounds();
-                Color black = getDisplay().getSystemColor(SWT.COLOR_BLACK);
-                event.gc.setForeground(black);
-                event.gc.drawRectangle(0, 0, listRect.width + 1, listRect.height + 1);
-                break;
-            case SWT.Close:
-                event.doit = false;
-                dropDown (false);
-                break;
-            case SWT.Deactivate:
-                /*
-                 * Bug in GTK. When the arrow button is pressed the popup control receives a
-                 * deactivate event and then the arrow button receives a selection event. If 
-                 * we hide the popup in the deactivate event, the selection event will show 
-                 * it again. To prevent the popup from showing again, we will let the selection 
-                 * event of the arrow button hide the popup.
-                 * In Windows, hiding the popup during the deactivate causes the deactivate 
-                 * to be called twice and the selection event to be disappear.
-                 */
-                if (!"carbon".equals(SWT.getPlatform())) { //$NON-NLS-1$
-                    Point point = this.arrow.toControl(getDisplay().getCursorLocation());
-                    Point size = this.arrow.getSize();
-                    Rectangle rect = new Rectangle(0, 0, size.x, size.y);
-                    if (!rect.contains(point)) 
-                    {
-                        dropDown (false);
-                        
-                        final Thread thread = new Thread()  //kosta
-                        {
-                            public void run()
-                            {
-                                final Runnable runnable = new Runnable()
-                                {
-                                    public void run()
-                                    {
-                                        notifySelectionFinalizedListeners();
-                                    }
-                                };
-                                
-                                getDisplay().syncExec( runnable );
-                            }
-                        };
-                        
-                        thread.start();  //kosta
-                    }
-                } else {
-                    dropDown(false);
-                }
-                break;
-        }
-    }
-    public void redraw () {
-        super.redraw();
-        this.text.redraw();
-        this.arrow.redraw();
-        if (this.popup.isVisible()) this.list.redraw();
-    }
-    public void redraw (int x, int y, int width, int height, boolean all) {
-        super.redraw(x, y, width, height, true);
-    }
-    
-    /**
-     * Removes the item from the receiver's list at the given
-     * zero-relative index.
-     *
-     * @param index the index for the item
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_INVALID_RANGE - if the index is not between 0 and the number of elements in the list minus 1 (inclusive)</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void remove (int index) {
-        checkWidget();
-        this.list.remove (index);
-    }
-    /**
-     * Removes the items from the receiver's list which are
-     * between the given zero-relative start and end 
-     * indices (inclusive).
-     *
-     * @param start the start of the range
-     * @param end the end of the range
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_INVALID_RANGE - if either the start or end are not between 0 and the number of elements in the list minus 1 (inclusive)</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void remove (int start, int end) {
-        checkWidget();
-        this.list.remove (start, end);
-    }
-    /**
-     * Searches the receiver's list starting at the first item
-     * until an item is found that is equal to the argument, 
-     * and removes that item from the list.
-     *
-     * @param string the item to remove
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_NULL_ARGUMENT - if the string is null</li>
-     *    <li>ERROR_INVALID_ARGUMENT - if the string is not found in the list</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void remove (String string) {
-        checkWidget();
-        if (string == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-        this.list.remove (string);
-    }
-    /**
-     * Removes all of the items from the receiver's list and clear the
-     * contents of receiver's text field.
-     * <p>
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void removeAll () {
-        checkWidget();
-        this.text.setText (""); //$NON-NLS-1$
-        this.list.removeAll ();
-    }
-    /**
-     * Removes the listener from the collection of listeners who will
-     * be notified when the receiver's text is modified.
-     *
-     * @param listener the listener which should no longer be notified
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     *
-     * @see ModifyListener
-     * @see #addModifyListener
-     */
-    public void removeModifyListener (ModifyListener listener) {
-        checkWidget();
-        if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-        removeListener(SWT.Modify, listener);   
-    }
-    /**
-     * Removes the listener from the collection of listeners who will
-     * be notified when the user changes the receiver's selection.
-     *
-     * @param listener the listener which should no longer be notified
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     *
-     * @see SelectionListener
-     * @see #addSelectionListener
-     */
-    public void removeSelectionListener (SelectionListener listener) {
-        checkWidget();
-        if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-        removeListener(SWT.Selection, listener);
-        removeListener(SWT.DefaultSelection,listener);  
-    }
-    /**
-     * Removes the listener from the collection of listeners who will
-     * be notified when the control is verified.
-     *
-     * @param listener the listener which should no longer be notified
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     *
-     * @see VerifyListener
-     * @see #addVerifyListener
-     * 
-     * @since 3.3
-     */
-    public void removeVerifyListener (VerifyListener listener) {
-        checkWidget();
-        if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-        removeListener(SWT.Verify, listener);
-    }
-    /**
-     * Selects the item at the given zero-relative index in the receiver's 
-     * list.  If the item at the index was already selected, it remains
-     * selected. Indices that are out of range are ignored.
-     *
-     * @param index the index of the item to select
-     *
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void select (int index) {
-        checkWidget();
-        if (index == -1) {
-            this.list.deselectAll ();
-            this.text.setText (""); //$NON-NLS-1$
-            return;
-        }
-        if (0 <= index && index < this.list.getItemCount()) {
-            if (index != getSelectionIndex()) {
-                this.text.setText (this.list.getItem (index));
-                this.text.selectAll ();
-                this.list.select (index);
-                this.list.showSelection ();
-            }
-        }
-    }
-    public void setBackground (Color color) {
-        super.setBackground(color);
-        this.background = color;
-        if (this.text != null) this.text.setBackground(color);
-        if (this.list != null) this.list.setBackground(color);
-        if (this.arrow != null) this.arrow.setBackground(color);
-    }
-    /**
-     * Sets the editable state.
-     *
-     * @param editable the new editable state
-     *
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     * 
-     * @since 3.0
-     */
-    public void setEditable (boolean editable) {
-        checkWidget ();
-        this.text.setEditable(editable);
-    }
-    public void setEnabled (boolean enabled) {
-        super.setEnabled(enabled);
-        if (this.popup != null) this.popup.setVisible (false);
-        if (this.text != null) this.text.setEnabled(enabled);
-        if (this.arrow != null) this.arrow.setEnabled(enabled);
-    }
-    public boolean setFocus () {
-        checkWidget();
-        if (!isEnabled () || !isVisible ()) return false;
-        if (isFocusControl ()) return true;
-        return this.text.setFocus ();
-    }
-    public void setFont (Font font) {
-        super.setFont (font);
-        this.font = font;
-        this.text.setFont (font);
-        this.list.setFont (font);
-        internalLayout (true);
-    }
-    public void setForeground (Color color) {
-        super.setForeground(color);
-        this.foreground = color;
-        if (this.text != null) this.text.setForeground(color);
-        if (this.list != null) this.list.setForeground(color);
-        if (this.arrow != null) this.arrow.setForeground(color);
-    }
-    /**
-     * Sets the text of the item in the receiver's list at the given
-     * zero-relative index to the string argument. This is equivalent
-     * to <code>remove</code>'ing the old item at the index, and then
-     * <code>add</code>'ing the new item at that index.
-     *
-     * @param index the index for the item
-     * @param string the new text for the item
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_INVALID_RANGE - if the index is not between 0 and the number of elements in the list minus 1 (inclusive)</li>
-     *    <li>ERROR_NULL_ARGUMENT - if the string is null</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void setItem (int index, String string) {
-        checkWidget();
-        this.list.setItem (index, string);
-    }
-    /**
-     * Sets the receiver's list to be the given array of items.
-     *
-     * @param items the array of items
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_NULL_ARGUMENT - if the items array is null</li>
-     *    <li>ERROR_INVALID_ARGUMENT - if an item in the items array is null</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void setItems (String [] items) {
-        checkWidget ();
-        this.list.setItems (items);
-        if (!this.text.getEditable ()) this.text.setText (""); //$NON-NLS-1$
-    }
-    /**
-     * Sets the layout which is associated with the receiver to be
-     * the argument which may be null.
-     * <p>
-     * Note: No Layout can be set on this Control because it already
-     * manages the size and position of its children.
-     * </p>
-     *
-     * @param layout the receiver's new layout or null
-     *
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void setLayout (Layout layout) {
-        checkWidget ();
-        return;
-    }
-    /**
-     * Marks the receiver's list as visible if the argument is <code>true</code>,
-     * and marks it invisible otherwise.
-     * <p>
-     * If one of the receiver's ancestors is not visible or some
-     * other condition makes the receiver not visible, marking
-     * it visible may not actually cause it to be displayed.
-     * </p>
-     *
-     * @param visible the new visibility state
-     *
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     * 
-     * @since 3.4
-     */
-    public void setListVisible (boolean visible) {
-        checkWidget ();
-        dropDown(visible, false);
-    }
-    public void setMenu(Menu menu) {
-        this.text.setMenu(menu);
-    }
-    /**
-     * Sets the selection in the receiver's text field to the
-     * range specified by the argument whose x coordinate is the
-     * start of the selection and whose y coordinate is the end
-     * of the selection. 
-     *
-     * @param selection a point representing the new selection start and end
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_NULL_ARGUMENT - if the point is null</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void setSelection (Point selection) {
-        checkWidget();
-        if (selection == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-        this.text.setSelection (selection.x, selection.y);
-    }
-    
-    /**
-     * Sets the contents of the receiver's text field to the
-     * given string.
-     * <p>
-     * Note: The text field in a <code>Combo</code> is typically
-     * only capable of displaying a single line of text. Thus,
-     * setting the text to a string containing line breaks or
-     * other special characters will probably cause it to 
-     * display incorrectly.
-     * </p>
-     *
-     * @param string the new text
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_NULL_ARGUMENT - if the string is null</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void setText (String string) {
-        checkWidget();
-        if (string == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-        int index = this.list.indexOf (string);
-        if (index == -1) {
-            this.list.deselectAll ();
-            this.text.setText (string);
-            return;
-        }
-        this.text.setText (string);
-        this.text.selectAll ();
-        this.list.setSelection (index);
-        this.list.showSelection ();
-    }
-    /**
-     * Sets the maximum number of characters that the receiver's
-     * text field is capable of holding to be the argument.
-     *
-     * @param limit new text limit
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_CANNOT_BE_ZERO - if the limit is zero</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void setTextLimit (int limit) {
-        checkWidget();
-        this.text.setTextLimit (limit);
-    }
-    
-    public void setToolTipText (String string) {
-        checkWidget();
-        super.setToolTipText(string);
-        this.arrow.setToolTipText (string);
-        this.text.setToolTipText (string);       
-    }
-    
-    public void setVisible (boolean visible) {
-        super.setVisible(visible);
-        /* 
-         * At this point the widget may have been disposed in a FocusOut event.
-         * If so then do not continue.
-         */
-        if (isDisposed ()) return;
-        if (!visible) this.popup.setVisible(false);
-    }
-    /**
-     * Sets the number of items that are visible in the drop
-     * down portion of the receiver's list.
-     *
-     * @param count the new number of items to be visible
-     *
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     * 
-     * @since 3.0
-     */
-    public void setVisibleItemCount (int count) {
-        checkWidget ();
-        if (count < 0) return;
-        this.visibleItemCount = count;
-    }
-    String stripMnemonic (String string) {
-        int index = 0;
-        int length = string.length ();
-        do {
-            while ((index < length) && (string.charAt (index) != '&')) index++;
-            if (++index >= length) return string;
-            if (string.charAt (index) != '&') {
-                return string.substring(0, index-1) + string.substring(index, length);
-            }
-            index++;
-        } while (index < length);
-        return string;
-    }
-    void textEvent (Event event) {
-        switch (event.type) {
-            case SWT.FocusIn: {
-                handleFocus (SWT.FocusIn);
-                break;
-            }
-            case SWT.DefaultSelection: {
-                dropDown (false);
-                Event e = new Event ();
-                e.time = event.time;
-                e.stateMask = event.stateMask;
-                notifyListeners (SWT.DefaultSelection, e);
-                break;
-            }
-            case SWT.KeyDown: {
-                Event keyEvent = new Event ();
-                keyEvent.time = event.time;
-                keyEvent.character = event.character;
-                keyEvent.keyCode = event.keyCode;
-                keyEvent.stateMask = event.stateMask;
-                notifyListeners (SWT.KeyDown, keyEvent);
-                if (isDisposed ()) break;
-                event.doit = keyEvent.doit;
-                if (!event.doit) break;
-                if (event.keyCode == SWT.ARROW_UP || event.keyCode == SWT.ARROW_DOWN) {
-                    event.doit = false;
-                    if ((event.stateMask & SWT.ALT) != 0) {
-                        boolean dropped = isDropped ();
-                        this.text.selectAll ();
-                        if (!dropped) setFocus ();
-                        dropDown (!dropped);
-                        break;
-                    }
-    
-                    int oldIndex = getSelectionIndex ();
-                    if (event.keyCode == SWT.ARROW_UP) {
-                        select (Math.max (oldIndex - 1, 0));
-                    } else {
-                        select (Math.min (oldIndex + 1, getItemCount () - 1));
-                    }
-                    if (oldIndex != getSelectionIndex ()) {
-                        Event e = new Event();
-                        e.time = event.time;
-                        e.stateMask = event.stateMask;
-                        notifyListeners (SWT.Selection, e);
-                    }
-                    if (isDisposed ()) break;
-                }
-                
-                // Further work : Need to add support for incremental search in 
-                // pop up list as characters typed in text widget
-                break;
-            }
-            case SWT.KeyUp: {
-                Event e = new Event ();
-                e.time = event.time;
-                e.character = event.character;
-                e.keyCode = event.keyCode;
-                e.stateMask = event.stateMask;
-                notifyListeners (SWT.KeyUp, e);
-                event.doit = e.doit;
-                break;
-            }
-            case SWT.MenuDetect: {
-                Event e = new Event ();
-                e.time = event.time;
-                notifyListeners (SWT.MenuDetect, e);
-                break;
-            }
-            case SWT.Modify: {
-                this.list.deselectAll ();
-                Event e = new Event ();
-                e.time = event.time;
-                notifyListeners (SWT.Modify, e);
-                break;
-            }
-            case SWT.MouseDown: {
-                if (event.button != 1) return;
-                if (this.text.getEditable ()) return;
-                boolean dropped = isDropped ();
-                this.text.selectAll ();
-                if (!dropped) setFocus ();
-                dropDown (!dropped);
-                break;
-            }
-            case SWT.MouseUp: {
-                if (event.button != 1) return;
-                if (this.text.getEditable ()) return;
-                this.text.selectAll ();
-                break;
-            }
-            case SWT.Traverse: {        
-                switch (event.detail) {
-                    //NOT SURE
-    //              case SWT.TRAVERSE_RETURN:
-                    case SWT.TRAVERSE_ARROW_PREVIOUS:
-                    case SWT.TRAVERSE_ARROW_NEXT:
-                        // The enter causes default selection and
-                        // the arrow keys are used to manipulate the list contents so
-                        // do not use them for traversal.
-                        event.doit = false;
-                        break;
-                }
-                
-                Event e = new Event ();
-                e.time = event.time;
-                e.detail = event.detail;
-                e.doit = event.doit;
-                e.character = event.character;
-                e.keyCode = event.keyCode;
-                notifyListeners (SWT.Traverse, e);
-                event.doit = e.doit;
-                event.detail = e.detail;
-                break;
-            }
-            case SWT.Verify: {
-                Event e = new Event ();
-                e.text = event.text;
-                e.start = event.start;
-                e.end = event.end;
-                e.character = event.character;
-                e.keyCode = event.keyCode;
-                e.stateMask = event.stateMask;
-                notifyListeners (SWT.Verify, e);
-                event.doit = e.doit;
-                break;
-            }
-        }
-    }
-    }
-    
-    
-    
-    
-    
-    
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/util/SwtUtil.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/util/SwtUtil.java
deleted file mode 100644
index f116724..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/util/SwtUtil.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2008 BEA Systems, Inc.
- * 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:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal.util;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public final class SwtUtil
-{
-    public static final int getPreferredWidth( final Control control )
-    {
-        return control.computeSize( SWT.DEFAULT, SWT.DEFAULT ).x;
-    }
-    
-    public static void runOnDisplayThread( final Display display,
-                                           final Runnable runnable )
-    {
-        if( display.getThread() == Thread.currentThread() )
-        {
-            runnable.run();
-        }
-        else
-        {
-            display.asyncExec( runnable );
-        }
-    }
-
-}