This commit was manufactured by cvs2svn to create tag 'v200911121400'.
diff --git a/org.eclipse.wst.common.snippets/.classpath b/org.eclipse.wst.common.snippets/.classpath
deleted file mode 100644
index ce73933..0000000
--- a/org.eclipse.wst.common.snippets/.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.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.wst.common.snippets/.cvsignore b/org.eclipse.wst.common.snippets/.cvsignore
deleted file mode 100644
index 6e203ae..0000000
--- a/org.eclipse.wst.common.snippets/.cvsignore
+++ /dev/null
@@ -1,10 +0,0 @@
-bin
-snippets.jar
-build.xml
-temp.folder
-org.eclipse.wst.sse.snippets_1.0.0.jar
-org.eclipse.wst.sse.snippets_1.0.0.zip
-
-@dot
-src.zip
-javaCompiler...args
diff --git a/org.eclipse.wst.common.snippets/.options b/org.eclipse.wst.common.snippets/.options
deleted file mode 100644
index 2c67355..0000000
--- a/org.eclipse.wst.common.snippets/.options
+++ /dev/null
@@ -1,6 +0,0 @@
-org.eclipse.wst.common.snippets/debug=false
-org.eclipse.wst.common.snippets/debug/tracefilter=
-org.eclipse.wst.common.snippets/debug/definition_persistence=false
-org.eclipse.wst.common.snippets/debug/drag_and_drop=false
-org.eclipse.wst.common.snippets/debug/palette_selection=false
-org.eclipse.wst.common.snippets/debug/viewer_content=false
diff --git a/org.eclipse.wst.common.snippets/.project b/org.eclipse.wst.common.snippets/.project
deleted file mode 100644
index 7543a0c..0000000
--- a/org.eclipse.wst.common.snippets/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.common.snippets</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/org.eclipse.wst.common.snippets/.settings/org.eclipse.core.resources.prefs b/org.eclipse.wst.common.snippets/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index afa5c91..0000000
--- a/org.eclipse.wst.common.snippets/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Tue Apr 04 03:36:32 EDT 2006
-eclipse.preferences.version=1
-encoding/<project>=ISO-8859-1
diff --git a/org.eclipse.wst.common.snippets/.settings/org.eclipse.core.runtime.prefs b/org.eclipse.wst.common.snippets/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 7ec5750..0000000
--- a/org.eclipse.wst.common.snippets/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Mon Apr 17 01:48:39 EDT 2006
-eclipse.preferences.version=1
-line.separator=\r\n
diff --git a/org.eclipse.wst.common.snippets/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.wst.common.snippets/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 5da004d..0000000
--- a/org.eclipse.wst.common.snippets/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,79 +0,0 @@
-#Wed Mar 28 03:12:48 EDT 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=ignore
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-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.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=ignore
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-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=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=ignore
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=enabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=ignore
-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=ignore
-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.unusedLabel=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.3
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/org.eclipse.wst.common.snippets/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.wst.common.snippets/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 301c7ad..0000000
--- a/org.eclipse.wst.common.snippets/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Mon Apr 17 01:48:39 EDT 2006
-eclipse.preferences.version=1
-internal.default.compliance=default
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?>\r\n<templates/>
diff --git a/org.eclipse.wst.common.snippets/.settings/org.eclipse.ltk.core.refactoring.prefs b/org.eclipse.wst.common.snippets/.settings/org.eclipse.ltk.core.refactoring.prefs
deleted file mode 100644
index c59368c..0000000
--- a/org.eclipse.wst.common.snippets/.settings/org.eclipse.ltk.core.refactoring.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Tue Apr 04 03:36:32 EDT 2006
-eclipse.preferences.version=1
-org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false
diff --git a/org.eclipse.wst.common.snippets/.settings/org.eclipse.pde.prefs b/org.eclipse.wst.common.snippets/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index fc522bb..0000000
--- a/org.eclipse.wst.common.snippets/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,16 +0,0 @@
-#Mon Apr 17 02:01:33 EDT 2006
-compilers.incompatible-environment=0
-compilers.p.build=0
-compilers.p.deprecated=1
-compilers.p.illegal-att-value=0
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=0
-compilers.p.unknown-attribute=0
-compilers.p.unknown-class=0
-compilers.p.unknown-element=0
-compilers.p.unknown-resource=0
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.p.unused-element-or-attribute=0
-compilers.use-project=true
-eclipse.preferences.version=1
diff --git a/org.eclipse.wst.common.snippets/META-INF/MANIFEST.MF b/org.eclipse.wst.common.snippets/META-INF/MANIFEST.MF
deleted file mode 100644
index 15b3392..0000000
--- a/org.eclipse.wst.common.snippets/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,31 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Snippets_View.name
-Bundle-SymbolicName: org.eclipse.wst.common.snippets; singleton:=true
-Bundle-Version: 1.2.0.qualifier
-Bundle-Activator: org.eclipse.wst.common.snippets.internal.SnippetsPlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.wst.common.snippets.core,
- org.eclipse.wst.common.snippets.internal;x-internal:=true,
- org.eclipse.wst.common.snippets.internal.actions;x-internal:=true,
- org.eclipse.wst.common.snippets.internal.dnd;x-internal:=true,
- org.eclipse.wst.common.snippets.internal.editors;x-internal:=true,
- org.eclipse.wst.common.snippets.internal.model;x-internal:=true,
- org.eclipse.wst.common.snippets.internal.palette;x-internal:=true,
- org.eclipse.wst.common.snippets.internal.team;x-internal:=true,
- org.eclipse.wst.common.snippets.internal.ui;x-internal:=true,
- org.eclipse.wst.common.snippets.internal.util;x-internal:=true,
- org.eclipse.wst.common.snippets.ui
-Import-Package: com.ibm.icu.util; version="3.8",
- com.ibm.icu.text; version="3.8"
-Require-Bundle: org.eclipse.gef;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.ui.ide;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.ui.workbench.texteditor;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.ui;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.jface.text;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.core.resources;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.core.expressions;bundle-version="[3.4.0,4.0.0)"
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/org.eclipse.wst.common.snippets/about.html b/org.eclipse.wst.common.snippets/about.html
deleted file mode 100644
index 2199df3..0000000
--- a/org.eclipse.wst.common.snippets/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/org.eclipse.wst.common.snippets/build.properties b/org.eclipse.wst.common.snippets/build.properties
deleted file mode 100644
index abebd47..0000000
--- a/org.eclipse.wst.common.snippets/build.properties
+++ /dev/null
@@ -1,25 +0,0 @@
-###############################################################################
-# Copyright (c) 2004, 2009 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
-###############################################################################
-bin.includes = plugin.*,\
-               icons/,\
-               plugin.xml,\
-               plugin.properties,\
-               META-INF/,\
-               .,\
-               about.html
-bin.excludes = bin/**,\
-               @dot/**,\
-               temp.folder/**
-src.includes = schema/,\
-               doc/,\
-               javadoc.xml,\
-               component.xml
-source.. = src/
diff --git a/org.eclipse.wst.common.snippets/component.xml b/org.eclipse.wst.common.snippets/component.xml
deleted file mode 100644
index 81f2174..0000000
--- a/org.eclipse.wst.common.snippets/component.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component xmlns="http://eclipse.org/wtp/releng/tools/component-model" name="org.eclipse.wst.common.snippets">
-	<component-depends unrestricted="true" />
-	<plugin id="org.eclipse.wst.common.snippets" fragment="false" />
-	<description url="http://eclipse.org/webtools/wst/components/common/overview/snippets/overview.html" />
-	<package name="org.eclipse.wst.common.snippets.core">
-		<type name="ISnippetCategory" implement="false" />
-		<type name="ISnippetEntry" implement="false" />
-		<type name="ISnippetItem" implement="false" />
-		<type name="ISnippetVariable" implement="false" />
-	</package>
-	<package name="org.eclipse.wst.common.snippets.ui" api="false">
-		<type name="DefaultSnippetInsertion" subclass="true" instantiate="true" />
-		<type name="ISnippetInsertion" implement="false" />
-	</package>
-</component>
diff --git a/org.eclipse.wst.common.snippets/doc/RELEASE-NOTES.txt b/org.eclipse.wst.common.snippets/doc/RELEASE-NOTES.txt
deleted file mode 100644
index 727fc6a..0000000
--- a/org.eclipse.wst.common.snippets/doc/RELEASE-NOTES.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-This revision of the org.eclipse.wst.common.snippets plugin is a work in
-progress.  The persistant model will change in the near future and the
-extension point support may change as well.  No compatibily is promised
-until WTP 1.0.
\ No newline at end of file
diff --git a/org.eclipse.wst.common.snippets/doc/book.css b/org.eclipse.wst.common.snippets/doc/book.css
deleted file mode 100644
index 1ca0593..0000000
--- a/org.eclipse.wst.common.snippets/doc/book.css
+++ /dev/null
@@ -1,106 +0,0 @@
-P.Code {
-	display: block;
-	text-align: left;
-	text-indent: 0.00pt;
-	margin-top: 0.000000pt;
-	margin-bottom: 0.000000pt;
-	margin-right: 0.000000pt;
-	margin-left: 15pt;
-	font-size: 10.000000pt;
-	font-weight: medium;
-	font-style: Regular;
-	color: #4444CC;
-	text-decoration: none;
-	vertical-align: baseline;
-	text-transform: none;
-	font-family: "Courier New";
-}
-H6.CaptionFigColumn {
-	display: block;
-	text-align: left;
-	text-indent: 0.000000pt;
-	margin-top: 3.000000pt;
-	margin-bottom: 11.000000pt;
-	margin-right: 0.000000pt;
-	margin-left: 0.000000pt;
-	font-size: 9.000000pt;
-	font-weight: medium;
-	font-style: Italic;
-	color: #000000;
-	text-decoration: none;
-	vertical-align: baseline;
-	text-transform: none;
-	font-family: "Arial";
-}
-P.Note {
-	display: block;
-	text-align: left;
-	text-indent: 0pt;
-	margin-top: 19.500000pt;
-	margin-bottom: 19.500000pt;
-	margin-right: 0.000000pt;
-	margin-left: 30pt;
-	font-size: 11.000000pt;
-	font-weight: medium;
-	font-style: Italic;
-	color: #000000;
-	text-decoration: none;
-	vertical-align: baseline;
-	text-transform: none;
-	font-family: "Arial";
-}
-EM.UILabel {
-	font-weight: Bold;
-	font-style: Regular;
-	text-decoration: none;
-	vertical-align: baseline;
-	text-transform: none;
-}
-EM.CodeName {
-	font-weight: Bold;
-	font-style: Regular;
-	text-decoration: none;
-	vertical-align: baseline;
-	text-transform: none;
-	font-family:"Courier New";
-}
-
-
-
-
-/* following font face declarations need to be removed for DBCS */
-
-body, h1, h2, h3, h4, h5, h6, p, table, td, caption, th, ul, ol, dl, li, dd, dt {font-family: Arial, Helvetica, sans-serif; color: #000000}
-pre				{ font-family: Courier, monospace}
-
-/* end font face declarations */
-
-/* following font size declarations should be OK for DBCS */
-body, h1, h2, h3, h4, h5, h6, p, table, td, caption, th, ul, ol, dl, li, dd, dt {font-size: 10pt; }
-pre				{ font-size: 10pt}
-
-/* end font size declarations */
-
-body	     { background: #FFFFFF}
-h1           { font-size: 18pt; margin-top: 5; margin-bottom: 1 }	
-h2           { font-size: 14pt; margin-top: 25; margin-bottom: 3 }
-h3           { font-size: 11pt; margin-top: 20; margin-bottom: 3 }
-h4           { font-size: 10pt; margin-top: 20; margin-bottom: 3; font-style: italic }
-p            { margin-top: 10px; margin-bottom: 10px }
-pre	     { margin-left: 6; font-size: 9pt }
-a:link	     { color: #0000FF }
-a:hover	     { color: #000080 }
-a:visited    { text-decoration: underline }
-ul	     { margin-top: 0; margin-bottom: 10 }
-li	     { margin-top: 0; margin-bottom: 0 } 
-li p	     { margin-top: 0; margin-bottom: 0 } 
-ol	     { margin-top: 0; margin-bottom: 10 }
-dl	     { margin-top: 0; margin-bottom: 10 }
-dt	     { margin-top: 0; margin-bottom: 0; font-weight: bold }
-dd	     { margin-top: 0; margin-bottom: 0 }
-strong	     { font-weight: bold}
-em	     { font-style: italic}
-var	     { font-style: italic}
-div.revision { border-left-style: solid; border-left-width: thin; 
-				   border-left-color: #7B68EE; padding-left:5 }
-th	     { font-weight: bold }
diff --git a/org.eclipse.wst.common.snippets/doc/schema.css b/org.eclipse.wst.common.snippets/doc/schema.css
deleted file mode 100644
index 00f9d01..0000000
--- a/org.eclipse.wst.common.snippets/doc/schema.css
+++ /dev/null
@@ -1,66 +0,0 @@
-H6.CaptionFigColumn#header {
-	font-size:16px; 
-	display:inline
-}
-
-P.Note#copyright {
-	font-size: smaller; 
-	font-style: normal;
-	color: #336699; 
-	display:inline;
-	margin-top: 3.000000pt;
-	margin-bottom: 11.000000pt;
-	margin-right: 0.000000pt;
-	margin-left: 0.000000pt;
-}
-
-P.Code#dtd {
-	color: #800000; 
-	margin-top: 0.000000pt;
-	margin-bottom: 0.000000pt;
-	margin-right: 0.000000pt;
-	margin-left: 10.000000pt;
-}
-
-P.Code#dtdAttlist {
-	color: #800000; 
-	margin-top: 0.000000pt;
-	margin-bottom: 0.000000pt;
-	margin-right: 0.000000pt;
-	margin-left: 20.000000pt;
-}
-
-P.Code#tag {
-	color: #000080; 
-	display:inline;
-	margin-top: 0.000000pt;
-	margin-bottom: 0.000000pt;
-	margin-right: 0.000000pt;
-	margin-left: 0.000000pt;
-}
-
-P.Code#cstring {
-	color: #008000; 
-	display:inline;
-	margin-top: 0.000000pt;
-	margin-bottom: 0.000000pt;
-	margin-right: 0.000000pt;
-	margin-left: 0.000000pt;	
-}
-
-.ConfigMarkup#elementDesc {
-	color: black;
-	margin-top: 0.000000pt;
-	margin-bottom: 0.000000pt;
-	margin-right: 0.000000pt;
-	margin-left: 10.000000pt;
-}
-
-.ConfigMarkup#attlistDesc {
-	color: black;
-	margin-top: 0.000000pt;
-	margin-bottom: 0.000000pt;
-	margin-right: 0.000000pt;
-	margin-left: 32.000000pt;
-}
-
diff --git a/org.eclipse.wst.common.snippets/icons/full/clcl16/copy.gif b/org.eclipse.wst.common.snippets/icons/full/clcl16/copy.gif
deleted file mode 100644
index 6d0dd17..0000000
--- a/org.eclipse.wst.common.snippets/icons/full/clcl16/copy.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.wst.common.snippets/icons/full/clcl16/cut.gif b/org.eclipse.wst.common.snippets/icons/full/clcl16/cut.gif
deleted file mode 100644
index d044e59..0000000
--- a/org.eclipse.wst.common.snippets/icons/full/clcl16/cut.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.wst.common.snippets/icons/full/clcl16/delete.gif b/org.eclipse.wst.common.snippets/icons/full/clcl16/delete.gif
deleted file mode 100644
index 0ae6dec..0000000
--- a/org.eclipse.wst.common.snippets/icons/full/clcl16/delete.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.wst.common.snippets/icons/full/clcl16/export.gif b/org.eclipse.wst.common.snippets/icons/full/clcl16/export.gif
deleted file mode 100644
index 0eeeeef..0000000
--- a/org.eclipse.wst.common.snippets/icons/full/clcl16/export.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.wst.common.snippets/icons/full/clcl16/import.gif b/org.eclipse.wst.common.snippets/icons/full/clcl16/import.gif
deleted file mode 100644
index 97b43ab..0000000
--- a/org.eclipse.wst.common.snippets/icons/full/clcl16/import.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.wst.common.snippets/icons/full/clcl16/insert.gif b/org.eclipse.wst.common.snippets/icons/full/clcl16/insert.gif
deleted file mode 100644
index 8535665..0000000
--- a/org.eclipse.wst.common.snippets/icons/full/clcl16/insert.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.wst.common.snippets/icons/full/clcl16/new_category.gif b/org.eclipse.wst.common.snippets/icons/full/clcl16/new_category.gif
deleted file mode 100644
index 5ef0ed7..0000000
--- a/org.eclipse.wst.common.snippets/icons/full/clcl16/new_category.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.wst.common.snippets/icons/full/clcl16/new_template.gif b/org.eclipse.wst.common.snippets/icons/full/clcl16/new_template.gif
deleted file mode 100644
index 5fa4b28..0000000
--- a/org.eclipse.wst.common.snippets/icons/full/clcl16/new_template.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.wst.common.snippets/icons/full/clcl16/paste.gif b/org.eclipse.wst.common.snippets/icons/full/clcl16/paste.gif
deleted file mode 100644
index 39dd4d9..0000000
--- a/org.eclipse.wst.common.snippets/icons/full/clcl16/paste.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.wst.common.snippets/icons/full/dlcl16/copy.gif b/org.eclipse.wst.common.snippets/icons/full/dlcl16/copy.gif
deleted file mode 100644
index 8140387..0000000
--- a/org.eclipse.wst.common.snippets/icons/full/dlcl16/copy.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.wst.common.snippets/icons/full/dlcl16/cut.gif b/org.eclipse.wst.common.snippets/icons/full/dlcl16/cut.gif
deleted file mode 100644
index bd43144..0000000
--- a/org.eclipse.wst.common.snippets/icons/full/dlcl16/cut.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.wst.common.snippets/icons/full/dlcl16/delete.gif b/org.eclipse.wst.common.snippets/icons/full/dlcl16/delete.gif
deleted file mode 100644
index 2e197c2..0000000
--- a/org.eclipse.wst.common.snippets/icons/full/dlcl16/delete.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.wst.common.snippets/icons/full/dlcl16/export.gif b/org.eclipse.wst.common.snippets/icons/full/dlcl16/export.gif
deleted file mode 100644
index 6bc206d..0000000
--- a/org.eclipse.wst.common.snippets/icons/full/dlcl16/export.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.wst.common.snippets/icons/full/dlcl16/import.gif b/org.eclipse.wst.common.snippets/icons/full/dlcl16/import.gif
deleted file mode 100644
index 3969145..0000000
--- a/org.eclipse.wst.common.snippets/icons/full/dlcl16/import.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.wst.common.snippets/icons/full/dlcl16/insert.gif b/org.eclipse.wst.common.snippets/icons/full/dlcl16/insert.gif
deleted file mode 100644
index dde0e7a..0000000
--- a/org.eclipse.wst.common.snippets/icons/full/dlcl16/insert.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.wst.common.snippets/icons/full/dlcl16/new_category.gif b/org.eclipse.wst.common.snippets/icons/full/dlcl16/new_category.gif
deleted file mode 100644
index 7bdc2a6..0000000
--- a/org.eclipse.wst.common.snippets/icons/full/dlcl16/new_category.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.wst.common.snippets/icons/full/dlcl16/new_template.gif b/org.eclipse.wst.common.snippets/icons/full/dlcl16/new_template.gif
deleted file mode 100644
index 78fd432..0000000
--- a/org.eclipse.wst.common.snippets/icons/full/dlcl16/new_template.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.wst.common.snippets/icons/full/dlcl16/paste.gif b/org.eclipse.wst.common.snippets/icons/full/dlcl16/paste.gif
deleted file mode 100644
index 1c7668d..0000000
--- a/org.eclipse.wst.common.snippets/icons/full/dlcl16/paste.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.wst.common.snippets/icons/full/elcl16/copy.gif b/org.eclipse.wst.common.snippets/icons/full/elcl16/copy.gif
deleted file mode 100644
index 6d0dd17..0000000
--- a/org.eclipse.wst.common.snippets/icons/full/elcl16/copy.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.wst.common.snippets/icons/full/elcl16/cut.gif b/org.eclipse.wst.common.snippets/icons/full/elcl16/cut.gif
deleted file mode 100644
index d044e59..0000000
--- a/org.eclipse.wst.common.snippets/icons/full/elcl16/cut.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.wst.common.snippets/icons/full/elcl16/delete.gif b/org.eclipse.wst.common.snippets/icons/full/elcl16/delete.gif
deleted file mode 100644
index 0ae6dec..0000000
--- a/org.eclipse.wst.common.snippets/icons/full/elcl16/delete.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.wst.common.snippets/icons/full/elcl16/export.gif b/org.eclipse.wst.common.snippets/icons/full/elcl16/export.gif
deleted file mode 100644
index 0eeeeef..0000000
--- a/org.eclipse.wst.common.snippets/icons/full/elcl16/export.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.wst.common.snippets/icons/full/elcl16/import.gif b/org.eclipse.wst.common.snippets/icons/full/elcl16/import.gif
deleted file mode 100644
index 97b43ab..0000000
--- a/org.eclipse.wst.common.snippets/icons/full/elcl16/import.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.wst.common.snippets/icons/full/elcl16/insert.gif b/org.eclipse.wst.common.snippets/icons/full/elcl16/insert.gif
deleted file mode 100644
index 8535665..0000000
--- a/org.eclipse.wst.common.snippets/icons/full/elcl16/insert.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.wst.common.snippets/icons/full/elcl16/new_category.gif b/org.eclipse.wst.common.snippets/icons/full/elcl16/new_category.gif
deleted file mode 100644
index 5ef0ed7..0000000
--- a/org.eclipse.wst.common.snippets/icons/full/elcl16/new_category.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.wst.common.snippets/icons/full/elcl16/new_template.gif b/org.eclipse.wst.common.snippets/icons/full/elcl16/new_template.gif
deleted file mode 100644
index 5fa4b28..0000000
--- a/org.eclipse.wst.common.snippets/icons/full/elcl16/new_template.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.wst.common.snippets/icons/full/elcl16/paste.gif b/org.eclipse.wst.common.snippets/icons/full/elcl16/paste.gif
deleted file mode 100644
index 39dd4d9..0000000
--- a/org.eclipse.wst.common.snippets/icons/full/elcl16/paste.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.wst.common.snippets/icons/full/obj16/snippets.gif b/org.eclipse.wst.common.snippets/icons/full/obj16/snippets.gif
deleted file mode 100644
index a396ac7..0000000
--- a/org.eclipse.wst.common.snippets/icons/full/obj16/snippets.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.wst.common.snippets/icons/full/obj16/template.gif b/org.eclipse.wst.common.snippets/icons/full/obj16/template.gif
deleted file mode 100644
index cc4d96c..0000000
--- a/org.eclipse.wst.common.snippets/icons/full/obj16/template.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.wst.common.snippets/icons/snippets_view.gif b/org.eclipse.wst.common.snippets/icons/snippets_view.gif
deleted file mode 100644
index a396ac7..0000000
--- a/org.eclipse.wst.common.snippets/icons/snippets_view.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.wst.common.snippets/javadoc.xml b/org.eclipse.wst.common.snippets/javadoc.xml
deleted file mode 100644
index 4bd9e19..0000000
--- a/org.eclipse.wst.common.snippets/javadoc.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="org.eclipse.wst.common.snippets" default="javadoc">
-    <target name="javadoc">
-        <javadoc destdir="doc\api" access="public" use="true" notree="false" nonavbar="false" noindex="false" splitindex="false" author="false" version="false" nodeprecatedlist="false" nodeprecated="false" packagenames="org.eclipse.wst.common.snippets.insertions,org.eclipse.wst.common.snippets.util,org.eclipse.wst.common.snippets.dnd,org.eclipse.wst.common.snippets.actions,org.eclipse.wst.common.snippets,org.eclipse.wst.common.snippets.editors,org.eclipse.wst.common.snippets.core" sourcepath="src" classpath="bin;\org.eclipse.core.runtime.compatibility\bin;\org.eclipse.ui.ide\bin;\org.eclipse.jface.text\bin;\org.eclipse.ui.workbench.texteditor\bin;\org.eclipse.ui.editors\bin;\org.eclipse.gef\bin;..\org.eclipse.wst.sse.editor\bin;..\org.eclipse.wst.sse.model\bin;\org.eclipse.ui\bin;\org.eclipse.core.resources\bin;\org.eclipse.core.runtime\bin" doctitle="Snippets API Reference"/>
-    </target>
-</project>
diff --git a/org.eclipse.wst.common.snippets/plugin.properties b/org.eclipse.wst.common.snippets/plugin.properties
deleted file mode 100644
index f945ac2..0000000
--- a/org.eclipse.wst.common.snippets/plugin.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2004, 2006 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
-###############################################################################
-providerName=Eclipse.org
-Snippets_View.name=Snippets View
-Snippets.name=Snippets
-Snippets_View_Contributions_Extension.name=Snippets View Contributions
-Add_to_Snippets.name=Add to Snippets...
-
-extension-point.name.0 = Snippets View Content Provider
\ No newline at end of file
diff --git a/org.eclipse.wst.common.snippets/plugin.xml b/org.eclipse.wst.common.snippets/plugin.xml
deleted file mode 100644
index 61ee182..0000000
--- a/org.eclipse.wst.common.snippets/plugin.xml
+++ /dev/null
@@ -1,196 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-	<extension-point
-		id="SnippetContributions"
-		name="%Snippets_View_Contributions_Extension.name"
-		schema="schema/SnippetContributions.exsd" />
-		
- <extension-point 
- 	id="SnippetProvider" 
- 	name="%extension-point.name.0" 
- 	schema="schema/SnippetProvider.exsd"/>
-
-	<!-- the view itself -->
-	<extension point="org.eclipse.ui.views">
-		<view
-			name="%Snippets.name"
-			icon="$nl$/icons/snippets_view.gif"
-			category="org.eclipse.ui"
-			class="org.eclipse.wst.common.snippets.internal.ui.SnippetsView"
-			id="org.eclipse.wst.common.snippets.internal.ui.SnippetsView">
-		</view>
-	</extension>
-
-	<extension point="org.eclipse.ui.popupMenus">
-		<!-- Default Text Editor -->
-		<viewerContribution
-			targetID="#TextEditorContext"
-			id="org.eclipse.wst.common.snippets.actions">
-			<action
-				label="%Add_to_Snippets.name"
-				icon="$nl$/icons/snippets_view.gif"
-				class="org.eclipse.wst.common.snippets.internal.actions.AddToSnippetsEditorActionDelegate"
-				menubarPath="group.add"
-				id="org.eclipse.wst.common.snippets.internal.actions.AddToSnippetsEditorActionDelegate">
-			</action>
-		</viewerContribution>
-		<!-- Structured Text Editors -->
-		<viewerContribution
-			targetID="org.eclipse.core.runtime.xml.source.EditorContext"
-			id="org.eclipse.wst.common.snippets.actions">
-			<action
-				id="org.eclipse.wst.common.snippets.internal.actions.AddToSnippetsEditorActionDelegate"
-				label="%Add_to_Snippets.name"
-				icon="$nl$/icons/snippets_view.gif"
-				class="org.eclipse.wst.common.snippets.internal.actions.AddToSnippetsEditorActionDelegate"
-				menubarPath="group.add" />
-		</viewerContribution>
-		<viewerContribution
-			targetID="org.eclipse.core.runtime.xml.source2.EditorContext"
-			id="org.eclipse.wst.common.snippets.actions">
-			<action
-				id="org.eclipse.wst.common.snippets.internal.actions.AddToSnippetsEditorActionDelegate"
-				label="%Add_to_Snippets.name"
-				icon="$nl$/icons/snippets_view.gif"
-				class="org.eclipse.wst.common.snippets.internal.actions.AddToSnippetsEditorActionDelegate"
-				menubarPath="group.add" />
-		</viewerContribution>
-		<viewerContribution
-			targetID="org.eclipse.wst.javascript.core.javascriptsource.source.EditorContext"
-			id="org.eclipse.wst.common.snippets.actions">
-			<action
-				id="org.eclipse.wst.common.snippets.internal.actions.AddToSnippetsEditorActionDelegate"
-				label="%Add_to_Snippets.name"
-				icon="$nl$/icons/snippets_view.gif"
-				class="org.eclipse.wst.common.snippets.internal.actions.AddToSnippetsEditorActionDelegate"
-				menubarPath="group.add" />
-		</viewerContribution>
-		<viewerContribution
-			targetID="org.eclipse.wst.html.core.htmlsource.source.EditorContext"
-			id="org.eclipse.wst.common.snippets.actions">
-			<action
-				id="org.eclipse.wst.common.snippets.internal.actions.AddToSnippetsEditorActionDelegate"
-				label="%Add_to_Snippets.name"
-				icon="$nl$/icons/snippets_view.gif"
-				class="org.eclipse.wst.common.snippets.internal.actions.AddToSnippetsEditorActionDelegate"
-				menubarPath="group.add" />
-		</viewerContribution>
-		<viewerContribution
-			targetID="org.eclipse.wst.dtd.core.dtdsource.source.EditorContext"
-			id="org.eclipse.wst.common.snippets.actions">
-			<action
-				id="org.eclipse.wst.common.snippets.internal.actions.AddToSnippetsEditorActionDelegate"
-				label="%Add_to_Snippets.name"
-				icon="$nl$/icons/snippets_view.gif"
-				class="org.eclipse.wst.common.snippets.internal.actions.AddToSnippetsEditorActionDelegate"
-				menubarPath="group.add" />
-		</viewerContribution>
-		<viewerContribution
-			targetID="org.eclipse.wst.css.core.csssource.source.EditorContext"
-			id="org.eclipse.wst.common.snippets.actions">
-			<action
-				id="org.eclipse.wst.common.snippets.internal.actions.AddToSnippetsEditorActionDelegate"
-				label="%Add_to_Snippets.name"
-				icon="$nl$/icons/snippets_view.gif"
-				class="org.eclipse.wst.common.snippets.internal.actions.AddToSnippetsEditorActionDelegate"
-				menubarPath="group.add" />
-		</viewerContribution>
-		<viewerContribution
-			targetID="org.eclipse.jst.jsp.core.jspsource.source.EditorContext"
-			id="org.eclipse.wst.common.snippets.actions">
-			<action
-				id="org.eclipse.wst.common.snippets.internal.actions.AddToSnippetsEditorActionDelegate"
-				label="%Add_to_Snippets.name"
-				icon="$nl$/icons/snippets_view.gif"
-				class="org.eclipse.wst.common.snippets.internal.actions.AddToSnippetsEditorActionDelegate"
-				menubarPath="group.add" />
-		</viewerContribution>
-		<viewerContribution
-			targetID="org.eclipse.jst.jsp.core.jspfragmentsource.source.EditorContext"
-			id="org.eclipse.wst.common.snippets.actions">
-			<action
-				id="org.eclipse.wst.common.snippets.internal.actions.AddToSnippetsEditorActionDelegate"
-				label="%Add_to_Snippets.name"
-				icon="$nl$/icons/snippets_view.gif"
-				class="org.eclipse.wst.common.snippets.internal.actions.AddToSnippetsEditorActionDelegate"
-				menubarPath="group.add" />
-		</viewerContribution>
-		<viewerContribution
-			targetID="org.eclipse.jst.jsp.core.tagsource.source.EditorContext"
-			id="org.eclipse.wst.common.snippets.actions">
-			<action
-				id="org.eclipse.wst.common.snippets.internal.actions.AddToSnippetsEditorActionDelegate"
-				label="%Add_to_Snippets.name"
-				icon="$nl$/icons/snippets_view.gif"
-				class="org.eclipse.wst.common.snippets.internal.actions.AddToSnippetsEditorActionDelegate"
-				menubarPath="group.add" />
-		</viewerContribution>
-		<viewerContribution
-			targetID="org.eclipse.jst.jsp.core.tldsource.source.EditorContext"
-			id="org.eclipse.wst.common.snippets.actions">
-			<action
-				id="org.eclipse.wst.common.snippets.internal.actions.AddToSnippetsEditorActionDelegate"
-				label="%Add_to_Snippets.name"
-				icon="$nl$/icons/snippets_view.gif"
-				class="org.eclipse.wst.common.snippets.internal.actions.AddToSnippetsEditorActionDelegate"
-				menubarPath="group.add" />
-		</viewerContribution>
-		<viewerContribution
-			targetID="org.eclipse.wst.xsd.core.xsdsource.source.EditorContext"
-			id="org.eclipse.wst.common.snippets.actions">
-			<action
-				id="org.eclipse.wst.common.snippets.internal.actions.AddToSnippetsEditorActionDelegate"
-				label="%Add_to_Snippets.name"
-				icon="$nl$/icons/snippets_view.gif"
-				class="org.eclipse.wst.common.snippets.internal.actions.AddToSnippetsEditorActionDelegate"
-				menubarPath="group.add" />
-		</viewerContribution>
-		<viewerContribution
-			targetID="org.eclipse.wst.wsdl.wsdlsource.source.EditorContext"
-			id="org.eclipse.wst.common.snippets.actions">
-			<action
-				id="org.eclipse.wst.common.snippets.internal.actions.AddToSnippetsEditorActionDelegate"
-				label="%Add_to_Snippets.name"
-				icon="$nl$/icons/snippets_view.gif"
-				class="org.eclipse.wst.common.snippets.internal.actions.AddToSnippetsEditorActionDelegate"
-				menubarPath="group.add" />
-		</viewerContribution>
-		<viewerContribution
-			targetID="org.eclipse.jst.j2ee.webDD.source.EditorContext"
-			id="org.eclipse.wst.common.snippets.actions">
-			<action
-				id="org.eclipse.wst.common.snippets.internal.actions.AddToSnippetsEditorActionDelegate"
-				label="%Add_to_Snippets.name"
-				icon="$nl$/icons/snippets_view.gif"
-				class="org.eclipse.wst.common.snippets.internal.actions.AddToSnippetsEditorActionDelegate"
-				menubarPath="group.add" />
-		</viewerContribution>
-		<!-- Java source Editor -->
-		<viewerContribution
-			targetID="#CompilationUnitEditorContext"
-			id="org.eclipse.wst.common.snippets.actions.compilationuniteditor">
-			<action
-				label="%Add_to_Snippets.name"
-				icon="$nl$/icons/snippets_view.gif"
-				class="org.eclipse.wst.common.snippets.internal.actions.AddToSnippetsEditorActionDelegate"
-				menubarPath="group.add"
-				id="org.eclipse.wst.common.snippets.internal.actions.AddToSnippetsEditorActionDelegate">
-			</action>
-		</viewerContribution>
-	</extension>
-	
- <extension point="org.eclipse.wst.common.snippets.SnippetProvider">
-    <provider
-          class="org.eclipse.wst.common.snippets.ui.TextSnippetProvider"
-          priority="100">
-       <enablement>
-          <or>
-             <adapt type="org.eclipse.ui.texteditor.ITextEditor"/>
-             <instanceof value="org.eclipse.ui.texteditor.ITextEditor"/>
-          </or>
-       </enablement>
-    </provider>
- </extension>
-</plugin>
diff --git a/org.eclipse.wst.common.snippets/schema/SnippetContributions.exsd b/org.eclipse.wst.common.snippets/schema/SnippetContributions.exsd
deleted file mode 100644
index 5239df2..0000000
--- a/org.eclipse.wst.common.snippets/schema/SnippetContributions.exsd
+++ /dev/null
@@ -1,306 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.common.snippets">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.wst.common.snippets" id="SnippetContributions" name="Snippets View Contributions Extension"/>
-      </appInfo>
-      <documentation>
-         Contributions to be shown in the Snippets view. Plugins may contribute new categories and items into those categories that have custom behavior when dropped onto an editor or certain views.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="category" 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="category">
-      <annotation>
-         <documentation>
-            Defines a category within the Snippets model, represented as a drawer in the Snippets view.  Drawers are used to categorize items much like a simple filing cabinet.  Categories contributed without any items within them will not be loaded into the Snippets model.  Categories without specific file types or content types will always have their drawers default to shown if the view is managing drawers according to the active editor.
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="item" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="description" type="string">
-            <annotation>
-               <documentation>
-                  A verbose label to show to the user.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="smallicon" type="string">
-            <annotation>
-               <documentation>
-                  The small icon to show for this category.  The value of this attributes specifies a path relative to the plugin&apos;s installation folder.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  A unique ID for this category.  It will be used exactly as supplied within the Snippets model.  It is recommended that the plugin ID be used to prefix any categories contributed.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="label" type="string" use="required">
-            <annotation>
-               <documentation>
-                  A brief label to show to the user.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="largeicon" type="string">
-            <annotation>
-               <documentation>
-                  The large icon to show for this category.  The value of this attributes specifies a path relative to the plugin&apos;s installation folder.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="extensions" type="string">
-            <annotation>
-               <documentation>
-                  A list of filename extensions identical to that used to register editors.  If the Snippets View has its drawer visibility tied to the active editor, the drawer will be hidden unless the filename from the active editor matches a value from this attribute&apos;s value.  More than one value may be specified if separated by commas.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="contenttypes" type="string">
-            <annotation>
-               <documentation>
-                  A list of content types.  If the Snippets View has its drawer visibility tied to the active editor, the drawer will be hidden unless the input from the active editor matches a value from this attribute&apos;s value.  More than one value may be specified if separated by commas.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="item">
-      <annotation>
-         <documentation>
-            Individual snippet item for the Snippets view. Contains text and information to help control and customize the related drag and drop behavior.
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="content"/>
-            <element ref="variable" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="class" type="string">
-            <annotation>
-               <documentation>
-                  An implementor of org.eclipse.wst.common.snippets.ui.ISnippetInsertion, although subclassing org.eclipse.wst.common.snippets.ui.DefaultSnippetInsertion is encouraged.  It controls most of the interaction between the Snippets view and the rest of the workbench.  It may be asked to insert the item into an editor by itself or provide information to control the Snippets view&apos;s drag and drop behavior.  When one is not specified, org.eclipse.wst.common.snippets.ui.DefaultSnippetInsertion will be used.  It provides querying for user-supplied values for variables and a simple text preview pane when inserting text into an editor.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="description" type="string">
-            <annotation>
-               <documentation>
-                  A verbose label to show to the user.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="smallicon" type="string">
-            <annotation>
-               <documentation>
-                  The small icon to show for this item.  The value of this attributes specifies a path relative to the plugin&apos;s installation folder.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  A unique ID for this item.  It will be used exactly as supplied within the Snippets model.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="label" type="string" use="required">
-            <annotation>
-               <documentation>
-                  A brief label to show to the user.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="largeicon" type="string">
-            <annotation>
-               <documentation>
-                  The large icon to show for this item.  The value of this attributes specifies a path relative to the plugin&apos;s installation folder.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="content" type="string">
-      <annotation>
-         <documentation>
-            Specifies the raw data for this Snippets item, usually as a CDATA section.  The insertion object and editor must both understand how to manipulate this data.  The default implementations understand embedded variable markers.
-         </documentation>
-      </annotation>
-   </element>
-
-   <element name="variable">
-      <annotation>
-         <documentation>
-            A marker describing a replaceable section of the content.  The user should be asked for the value to use whenever Snippets is inserting the parent Item.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="default" type="string">
-            <annotation>
-               <documentation>
-                  The variable&apos;s default value.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="description" type="string">
-            <annotation>
-               <documentation>
-                  The description of this variable.  With the default insertion class, it will be shown in a description pane when the variable is selected.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  A unique ID for this variable.  It will be used exactly as supplied within the Snippets model.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  The label to show to the user.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         1.0
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         &lt;pre&gt;
-   &lt;extension
-         point=&quot;org.eclipse.wst.common.snippets.SnippetContributions&quot;&gt;
-      &lt;category
-            smallicon=&quot;icons/tag-jsp.gif&quot;
-            label=&quot;JSP&quot;
-            description=&quot;Java Server Pages&quot;
-            id=&quot;org.eclipse.wst.jsp.category0&quot;
-            contenttypes=&quot;org.eclipse.wst.jsp.core.jspsource&quot;
-            extensions=&quot;*.jsp, *.jsf, *.jspf&quot;&gt;
-        &lt;item
-              smallicon=&quot;icons/tag-generic.gif&quot;
-              label=&quot;%jsp_hidden_comment&quot;
-              id=&quot;org.eclipse.wst.jsp.jsp_hidden_comment&quot;&gt;
-           &lt;content&gt;
-              %jsp_hidden_comment_content
-           &lt;/content&gt;
-        &lt;/item&gt;
-        &lt;item
-              label=&quot;%jsp_page_directive&quot;
-              id=&quot;org.eclipse.wst.jsp.jsp_page_directive&quot;&gt;
-           &lt;content&gt;
-              %jsp_page_directive_content
-           &lt;/content&gt;
-        &lt;/item&gt;
-        &lt;item
-              smallicon=&quot;icons/jsptaglib.gif&quot;
-              label=&quot;%jsp_taglib_directive&quot;
-              class=&quot;org.eclipse.wst.common.snippets.insertions.PrependInsertion&quot;
-              id=&quot;org.eclipse.wst.jsp.jsp_taglib_directive&quot;&gt;
-           &lt;content&gt;
-              &lt;![CDATA[ &lt;%@taglib uri=&quot;${uri}&quot; prefix=&quot;${prefix}&quot; %&gt; ]]&gt;
-           &lt;/content&gt;
-           &lt;variable
-                 description=&quot;%jsp_taglib_directive_uri&quot;
-                 id=&quot;uri&quot;&gt;
-           &lt;/variable&gt;
-           &lt;variable
-                 default=&quot;mylib&quot;
-                 description=&quot;%jsp_taglib_directive_prefix&quot;
-                 id=&quot;prefix&quot;&gt;
-           &lt;/variable&gt;
-        &lt;/item&gt;
-      &lt;/category&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>
-         The supplied implementation of the Snippets view requires the Graphical Editing Framework and Structured Source Editing components.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2000, 2005 IBM Corporation 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/org.eclipse.wst.common.snippets/schema/SnippetProvider.exsd b/org.eclipse.wst.common.snippets/schema/SnippetProvider.exsd
deleted file mode 100644
index fe5b021..0000000
--- a/org.eclipse.wst.common.snippets/schema/SnippetProvider.exsd
+++ /dev/null
@@ -1,141 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<!-- Schema file written by PDE -->

-<schema targetNamespace="org.eclipse.wst.common.snippets" xmlns="http://www.w3.org/2001/XMLSchema">

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.wst.common.snippets" id="SnippetProvider" name="SnippetProvider"/>

-      </appInfo>

-      <documentation>

-         Snippet Provider extension point gives the plugin developers the opertunity to contribute processor for snippets artifacts. The provider should provide logic for saving additional artifacts (if needed). And inserting the saved content in an editor. The extensionpoint requires implementation of ISnippetProvider interface, statement of enablement depending on the active editor (enablement is based on org.eclipse.expressions). Priority can be used to override some existing SnippetProvider.

-      </documentation>

-   </annotation>

-

-   <include schemaLocation="schema://org.eclipse.core.expressions/schema/expressionLanguage.exsd"/>

-

-   <element name="extension">

-      <annotation>

-         <appInfo>

-            <meta.element />

-         </appInfo>

-      </annotation>

-      <complexType>

-         <sequence>

-            <element ref="provider" minOccurs="1" maxOccurs="unbounded"/>

-         </sequence>

-         <attribute name="point" type="string" use="required">

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="id" type="string">

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string">

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-               <appInfo>

-                  <meta.attribute translatable="true"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="provider">

-      <complexType>

-         <sequence>

-            <element ref="enablement"/>

-         </sequence>

-         <attribute name="class" type="string">

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn=":org.eclipse.wst.common.snippets.ui.ISnippetProvider"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-         <attribute name="priority" type="string">

-            <annotation>

-               <documentation>

-                  0 highest 

-100 lowest

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="since"/>

-      </appInfo>

-      <documentation>

-         WTP 3.x

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="examples"/>

-      </appInfo>

-      <documentation>

-         &lt;extension point=&quot;org.eclipse.wst.common.snippets.SnippetProvider&quot;&gt;

-    &lt;provider

-          class=&quot;org.eclipse.wst.common.snippets.ui.TextSnippetProvider&quot;

-          priority=&quot;100&quot;&gt;

-       &lt;enablement&gt;

-          &lt;or&gt;

-             &lt;adapt type=&quot;org.eclipse.ui.texteditor.ITextEditor&quot;/&gt;

-             &lt;instanceof value=&quot;org.eclipse.ui.texteditor.ITextEditor&quot;/&gt;

-          &lt;/or&gt;

-       &lt;/enablement&gt;

-    &lt;/provider&gt;

- &lt;/extension&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="apiinfo"/>

-      </appInfo>

-      <documentation>

-         [Enter API information here.]

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="implementation"/>

-      </appInfo>

-      <documentation>

-         [Enter information about supplied implementation of this extension point.]

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="copyright"/>

-      </appInfo>

-      <documentation>

-         Copyright (c) 2009 by SAP AG, Walldorf. 

-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:

-  SAP AG - initial API and implementation

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/core/ISnippetCategory.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/core/ISnippetCategory.java
deleted file mode 100644
index c4024de..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/core/ISnippetCategory.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 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
- *******************************************************************************/
-package org.eclipse.wst.common.snippets.core;
-
-/**
- * Represents a category containing individual snippets.
- * <p>
- * Clients are not intended to implement this interface.
- * </p>
- * @since 1.0
- */
-public interface ISnippetCategory extends ISnippetsEntry {
-	/**
-	 * @return an array of the items within this category
-	 */
-	ISnippetItem[] getItems();
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/core/ISnippetItem.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/core/ISnippetItem.java
deleted file mode 100644
index 4604615..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/core/ISnippetItem.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 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
- *******************************************************************************/
-
-package org.eclipse.wst.common.snippets.core;
-
-/**
- * A snippet item is the actual object draggable from the Snippets view.
- * <p>
- * Clients are not intended to implement this interface.
- * </p>
- * @since 1.0
- */
-public interface ISnippetItem extends ISnippetsEntry {
-	/**
-	 * @return the category holding this item
-	 */
-	ISnippetCategory getCategory();
-
-	/**
-	 * @return the content string for this item; the text inserted may not be
-	 *         identical
-	 */
-	String getContentString();
-
-	/**
-	 * @return an array containing all of the valid variables for this item
-	 */
-	ISnippetVariable[] getVariables();
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/core/ISnippetProvider.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/core/ISnippetProvider.java
deleted file mode 100644
index fde79fe..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/core/ISnippetProvider.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2009 by SAP AG, Walldorf. 

- * 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:

- *    SAP AG - initial API and implementation

- *******************************************************************************/

-package org.eclipse.wst.common.snippets.core;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.core.runtime.IPath;

-import org.eclipse.core.runtime.IStatus;

-import org.eclipse.gef.palette.PaletteEntry;

-import org.eclipse.jface.viewers.ISelection;

-import org.eclipse.ui.IEditorPart;

-import org.eclipse.wst.common.snippets.internal.editors.ISnippetEditor;

-import org.eclipse.wst.common.snippets.internal.palette.SnippetPaletteItem;

-import org.eclipse.wst.common.snippets.ui.ISnippetInsertion;

-

-/**

- * ISnippetProvider presents the possibility for plug-in developers to develop

- * logic that can take advantage of the snippet concept. Thus allowing the 

- * end user to apply frequently reusable content.

- * 

- * Using AbstractSnippetProveider is recommended where most of the methods 

- * have default implementation.

- * @author Dimitar Giormov

- */

-public interface ISnippetProvider {

-	

-	/**

-	 * Implementors should create new SnippetPaletteItem instance.

-	 * Using AbstractSnippetProveider is recommended where this method is implemented.

-	 * 

-	 * @param drawer

-	 * @return

-	 * @throws CoreException

-	 */

-	public SnippetPaletteItem createSnippet(PaletteEntry drawer) throws CoreException ;

-	

-	/**

-	 * Specifies if the Add to Snippets action will be available 

-	 * on the current selection. 

-	 * 

-	 * @param selection

-	 * @return true if the Add to Snippets action will be available in the popup menu.

-	 */

-	public boolean isActionEnabled(ISelection selection);

-

-	/**

-	 * Saves additional content is special designated folder.

-	 * 

-	 * @param path - where the resources can be saved.

-	 * @return status of the operation.

-	 */

-	public IStatus saveAdditionalContent(IPath path);

-	

-	/**

-	 * Returns snippet insertion class for reproducing the saved content in the editor.

-	 * 

-	 * @return

-	 */

-	public ISnippetInsertion getSnippetInsertion();

-	

-	/**

-	 * UID for the provider.

-	 * 

-	 * @return

-	 */

-	public String getId();

-	

-	/**

-	 * Snippet enabled editor, on which the snippet will be applied or taken from.

-	 * 

-	 * @param editor

-	 */

-	public void setEditor(IEditorPart editor);

-	

-	/**

-	 * Returns custom snippet editor, which will be shown in customize dialog

-	 * User can return the VariableItemEditor if variables will be reused.

-	 * Null if no editor is necessary.

-	 * Or custom editor.

-	 * 

-	 * @return

-	 */

-	public ISnippetEditor getSnippetEditor();

-	

-}

diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/core/ISnippetVariable.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/core/ISnippetVariable.java
deleted file mode 100644
index a6abab5..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/core/ISnippetVariable.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 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
- *******************************************************************************/
-package org.eclipse.wst.common.snippets.core;
-
-/**
- * A variable is a user-prompted value meant to be filled-in by the user
- * during insertion.
- * <p>
- * Clients are not intended to implement this interface.
- * </p>
- * @since 1.0
- */
-public interface ISnippetVariable {
-	/**
-	 * @return Returns the default value for this variable
-	 */
-	String getDefaultValue();
-
-	/**
-	 * @return Returns the description of this variable
-	 */
-	String getDescription();
-
-	/**
-	 * 
-	 * @return Returns the name of this variable.
-	 */
-	String getName();
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/core/ISnippetsEntry.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/core/ISnippetsEntry.java
deleted file mode 100644
index ffdc6d0..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/core/ISnippetsEntry.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 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
- *******************************************************************************/
-
-
-package org.eclipse.wst.common.snippets.core;
-
-/**
- * A Snippets Entry is an abstract notion encapsulating the values used to
- * represent Snippet Items and Containers. No object implements only this
- * interface.
- * <p>
- * Clients are not intended to implement this interface.
- * </p>
- * 
- * @since 1.0
- */
-
-public interface ISnippetsEntry {
-
-	/**
-	 * Denotes that this entry was contributed by a plug-in
-	 */
-	String SNIPPET_SOURCE_PLUGINS = "PLUGINS"; //$NON-NLS-1$
-
-	/**
-	 * Denotes that this entry was created by the user
-	 */
-	String SNIPPET_SOURCE_USER = "USER"; //$NON-NLS-1$
-
-	/**
-	 * Denotes that this entry was discovered within the workspace
-	 * 
-	 */
-	String SNIPPET_SOURCE_WORKSPACE = "WORKSPACE"; //$NON-NLS-1$
-
-	/**
-	 * @return a longer description to display for this item
-	 */
-	String getDescription();
-
-	/**
-	 * @return the filters for which this entry will be shown when filtering
-	 *         is enabled
-	 */
-	String[] getFilters();
-
-
-	/**
-	 * @since 2.0
-	 * @return the ID supplied when contributing this entry into the Snippets
-	 *         model
-	 */
-	String getId();
-
-	/**
-	 * @return the label to display for this item
-	 */
-	String getLabel();
-
-	/**
-	 * @return the object defining where this entry originated from. Valid
-	 *         values are instances of CategoryFileInfo and PluginRecord.
-	 */
-	Object getSourceDescriptor();
-
-	/**
-	 * @return the type of the source descriptor. Valid values are
-	 *         SNIPPET_SOURCE_PLUGINS, SNIPPET_SOURCE_USER, and
-	 *         SNIPPET_SOURCE_WORKSPACE.
-	 */
-	Object getSourceType();
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/AbstractSnippetProvider.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/AbstractSnippetProvider.java
deleted file mode 100644
index 83f98fa..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/AbstractSnippetProvider.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2009 SAP AG 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:

- *     SAP AG - initial API and implementation

- *******************************************************************************/

-package org.eclipse.wst.common.snippets.internal;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.core.runtime.IStatus;

-import org.eclipse.gef.palette.PaletteEntry;

-import org.eclipse.ui.IEditorPart;

-import org.eclipse.wst.common.snippets.core.ISnippetProvider;

-import org.eclipse.wst.common.snippets.internal.editors.ISnippetEditor;

-import org.eclipse.wst.common.snippets.internal.palette.SnippetPaletteItem;

-import org.eclipse.wst.common.snippets.internal.palette.SnippetPaletteItemFactory;

-

-/**

- * Default implementation of common methods required by ISnippetProvider

- * 

- * @author Dimitar Giormov

- *

- */

-public abstract class AbstractSnippetProvider implements ISnippetProvider {

-	

-	protected IEditorPart fEditorPart;

-

-	/* (non-Javadoc)

-	 * @see org.eclipse.wst.common.snippets.core.ISnippetProvider#setEditor(org.eclipse.ui.IEditorPart)

-	 */

-	public void setEditor(IEditorPart editor) {

-		fEditorPart = editor;

-

-	}

-	

-	/* (non-Javadoc)

-	 * @see org.eclipse.wst.common.snippets.core.ISnippetProvider#createSnippet(org.eclipse.gef.palette.PaletteEntry)

-	 */

-	public SnippetPaletteItem createSnippet(PaletteEntry drawer) throws CoreException {

-		SnippetPaletteItem snippet = createSnippetMetadata(drawer);

-		return snippet;

-	}

-	

-	/**

-	 * Creates snippet metadata and saves additional content.

-	 * 

-	 * 

-	 * @param drawer - drawer to which the snippet will be added.

-	 * @return

-	 * @throws CoreException

-	 */

-	protected SnippetPaletteItem createSnippetMetadata(PaletteEntry drawer) throws CoreException {

-		SnippetPaletteItem item = (SnippetPaletteItem) new SnippetPaletteItemFactory().createNewEntry(fEditorPart.getSite().getShell(), drawer);

-//		item.setSourceType(ISnippetsEntry.SNIPPET_SOURCE_PLUGINS);

-		item.setProvider(this);

-		IStatus status = saveAdditionalContent(item.getStorageLocation());

-		if (status!= null && status.getSeverity() == IStatus.ERROR){

-			throw new CoreException(status);

-		}

-		return item;

-	}

-	

-

-	public ISnippetEditor getSnippetEditor() {

-		return null;

-	}

-

-}

diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/EntrySorter.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/EntrySorter.java
deleted file mode 100644
index ef06f60..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/EntrySorter.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 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
- *******************************************************************************/
-package org.eclipse.wst.common.snippets.internal;
-
-
-
-import com.ibm.icu.text.Collator;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.wst.common.snippets.core.ISnippetCategory;
-import org.eclipse.wst.common.snippets.core.ISnippetItem;
-import org.eclipse.wst.common.snippets.core.ISnippetsEntry;
-import org.eclipse.wst.common.snippets.internal.util.Sorter;
-
-public class EntrySorter extends Sorter {
-
-	public static ISnippetCategory[] sortCategories(Object[] categories) {
-		Object sortedEntries[] = new EntrySorter().sort(categories);
-		ISnippetCategory[] results = new ISnippetCategory[sortedEntries.length];
-		for (int i = 0; i < results.length; i++)
-			results[i] = (ISnippetCategory) sortedEntries[i];
-		return results;
-	}
-
-	public static List sortEntries(List entries) {
-		return Arrays.asList(new EntrySorter().sort(entries.toArray()));
-	}
-
-	public static ISnippetItem[] sortItems(Object[] items) {
-		Object sortedEntries[] = new EntrySorter().sort(items);
-		ISnippetItem[] results = new ISnippetItem[sortedEntries.length];
-		for (int i = 0; i < results.length; i++)
-			results[i] = (ISnippetItem) sortedEntries[i];
-		return results;
-	}
-
-
-	/**
-	 * (non-Javadoc)
-	 * 
-	 * @see Sorter#compare(Object, Object)
-	 */
-	Collator collator = Collator.getInstance();
-
-	public boolean compare(Object elementOne, Object elementTwo) {
-		/**
-		 * Returns true if elementTwo is 'greater than' elementOne This is the
-		 * 'ordering' method of the sort operation. Each subclass overides
-		 * this method with the particular implementation of the 'greater
-		 * than' concept for the objects being sorted.
-		 */
-		ISnippetsEntry entry1 = (ISnippetsEntry) elementOne;
-		ISnippetsEntry entry2 = (ISnippetsEntry) elementTwo;
-		return (collator.compare(entry1.getLabel(), entry2.getLabel())) < 0;
-	}
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/IEntryChangeListener.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/IEntryChangeListener.java
deleted file mode 100644
index 4f98f75..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/IEntryChangeListener.java
+++ /dev/null
@@ -1,16 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 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
- *******************************************************************************/
-package org.eclipse.wst.common.snippets.internal;
-
-
-public interface IEntryChangeListener {
-	void modelChanged(SnippetDefinitions oldDefinitions, SnippetDefinitions newDefinitions);
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/IHelpContextIds.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/IHelpContextIds.java
deleted file mode 100644
index 0f336c5..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/IHelpContextIds.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 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
- *******************************************************************************/
-package org.eclipse.wst.common.snippets.internal;
-
-
-/**
- * Help context ids for the Snippets View
- * <p>
- * This interface contains constants only; it is not intended to be
- * implemented or extended.
- * </p>
- * 
- */
-public interface IHelpContextIds {
-	// org.eclipse.wst.common.snippets.
-	public static final String PREFIX = SnippetsPlugin.BUNDLE_ID + "."; //$NON-NLS-1$
-
-	// New/Edit Category (dialog)
-	public static final String DIALOG_EDIT_CATEGORY = PREFIX + "libv1300"; //$NON-NLS-1$
-
-	// New/Edit Item (dialog)
-	public static final String DIALOG_EDIT_VARITEM = PREFIX + "libv1200"; //$NON-NLS-1$
-
-	// Insert Template (dialog)
-	public static final String DIALOG_INSERT_VARITEM = PREFIX + "libv1100"; //$NON-NLS-1$
-
-	// Snippets view (general)
-	public static final String MAIN_VIEW_GENERAL = PREFIX + "libv1000"; //$NON-NLS-1$
-
-	// Import button in Customize dialog
-	public static final String CUSTOMIZE_IMPORT_BUTTON = PREFIX + "snip0010"; //$NON-NLS-1$
-	
-	// Export button in Customize dialog
-	public static final String CUSTOMIZE_EXPORT_BUTTON = PREFIX + "snip0020"; //$NON-NLS-1$
-	
-	// Content type selection dialog
-	public static final String DIALOG_CONTENT_TYPE_SELECTION = PREFIX + "snip0030"; //$NON-NLS-1$
-
-//	// Add to snippets menu item
-//	public static final String MENU_ADD_TO_SNIPPETS = PREFIX + "snip0040"; //$NON-NLS-1$
-
-	// Copy snippet menu item
-	public static final String MENU_COPY_SNIPPET = PREFIX + "snip0060"; //$NON-NLS-1$
-
-	// Cut snippet menu item
-	public static final String MENU_CUT_SNIPPET = PREFIX + "snip0050"; //$NON-NLS-1$
-
-	// Paste snippet menu item
-	public static final String MENU_PASTE_SNIPPET = PREFIX + "snip0070"; //$NON-NLS-1$
-	
-	// Add to snippets New/Edit Category (dialog)
-	public static final String ADD_TO_SNIPPETS_DIALOG_CATEGORY = PREFIX + "snip0080"; //$NON-NLS-1$
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/ISnippetManager.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/ISnippetManager.java
deleted file mode 100644
index 3b3dc5a..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/ISnippetManager.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 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
- *******************************************************************************/
-package org.eclipse.wst.common.snippets.internal;
-
-import org.eclipse.wst.common.snippets.core.ISnippetsEntry;
-
-/**
- * <p>
- * Public interface for the Snippets manager.
- * </p>
- * <p>
- * Provides read-only access to the model for other plugins as well as model
- * change notification.
- * </p>
- */
-public interface ISnippetManager {
-	/**
-	 * Adds a listener to the list of those notified when the model contents
-	 * are replaced
-	 * 
-	 * @param listener -
-	 *            the listener to add
-	 */
-	void addEntryChangeListener(IEntryChangeListener listener);
-
-	/**
-	 * Locates a Snippet within the model
-	 * 
-	 * @param id
-	 * @return the Snippet or Category if found, null if not
-	 */
-	ISnippetsEntry findEntry(String id);
-
-	/**
-	 * @return the active SnippetDefinitions instance for this session
-	 */
-	SnippetDefinitions getDefinitions();
-
-	/**
-	 * Adds a listener to the list of those notified when the model contents
-	 * are replaced
-	 * 
-	 * @param listener -
-	 *            the listener to remove
-	 */
-	void removeEntryChangeListener(IEntryChangeListener listener);
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/Logger.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/Logger.java
deleted file mode 100644
index c814c3a..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/Logger.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 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
- *******************************************************************************/
-package org.eclipse.wst.common.snippets.internal;
-
-import com.ibm.icu.util.StringTokenizer;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Status;
-
-/**
- * Small convenience class to log messages to plugin's log file and also, if
- * desired, the console. This class should only be used by classes in this
- * plugin. Other plugins should make their own copy, with appropriate ID.
- */
-public class Logger {
-	/**
-	 * Controls debugging output for loading/storing of the Snippets model
-	 */
-	public static final boolean DEBUG_DEFINITION_PERSISTENCE = "true".equalsIgnoreCase(Platform.getDebugOption("org.eclipse.wst.common.snippets/debug/definition_persistence")); //$NON-NLS-1$ //$NON-NLS-2$
-	/**
-	 * Controls debugging output for drag and drop processing
-	 */
-	public static final boolean DEBUG_DRAG_AND_DROP = "true".equalsIgnoreCase(Platform.getDebugOption("org.eclipse.wst.common.snippets/debug/drag_and_drop")); //$NON-NLS-1$ //$NON-NLS-2$
-	/**
-	 * Controls debugging output for selection within the view
-	 */
-	public static final boolean DEBUG_PALETTE_SELECTION = "true".equalsIgnoreCase(Platform.getDebugOption("org.eclipse.wst.common.snippets/debug/palette_selection")); //$NON-NLS-1$ //$NON-NLS-2$
-	/**
-	 * Controls debugging output for replacement of the model's category list
-	 */
-	public static final boolean DEBUG_VIEWER_CONTENT = "true".equalsIgnoreCase(Platform.getDebugOption("org.eclipse.wst.common.snippets/debug/viewer_content")); //$NON-NLS-1$ //$NON-NLS-2$
-
-	public static final int ERROR = IStatus.ERROR; // 4
-	public static final int ERROR_DEBUG = 200 + ERROR;
-	private static Plugin fPlugin = SnippetsPlugin.getDefault();
-	private static final String fPluginId = fPlugin.getBundle().getSymbolicName();
-	public static final int INFO = IStatus.INFO; // 1
-	public static final int INFO_DEBUG = 200 + INFO;
-
-	public static final int OK = IStatus.OK; // 0
-	public static final int OK_DEBUG = 200 + OK;
-
-	private static final String TRACEFILTER_LOCATION = "/debug/tracefilter"; //$NON-NLS-1$
-
-	public static final int WARNING = IStatus.WARNING; // 2
-	public static final int WARNING_DEBUG = 200 + WARNING;
-
-	/**
-	 * Adds message to log.
-	 * 
-	 * @param level
-	 *            severity level of the message (OK, INFO, WARNING, ERROR,
-	 *            OK_DEBUG, INFO_DEBUG, WARNING_DEBUG, ERROR_DEBUG)
-	 * @param message
-	 *            text to add to the log
-	 * @param exception
-	 *            exception thrown
-	 */
-	protected static void _log(int level, String message, Throwable exception) {
-		if (level == OK_DEBUG || level == INFO_DEBUG || level == WARNING_DEBUG || level == ERROR_DEBUG) {
-			if (!isDebugging())
-				return;
-		}
-
-		int severity = IStatus.OK;
-		switch (level) {
-			case INFO_DEBUG :
-			case INFO :
-				severity = IStatus.INFO;
-				break;
-			case WARNING_DEBUG :
-			case WARNING :
-				severity = IStatus.WARNING;
-				break;
-			case ERROR_DEBUG :
-			case ERROR :
-				severity = IStatus.ERROR;
-		}
-		message = (message != null) ? message : "null"; //$NON-NLS-1$
-		Status statusObj = new Status(severity, fPluginId, severity, message, exception);
-		fPlugin.getLog().log(statusObj);
-	}
-
-	/**
-	 * Prints message to log if category matches /debug/tracefilter option.
-	 * 
-	 * @param message
-	 *            text to print
-	 * @param category
-	 *            category of the message, to be compared with
-	 *            /debug/tracefilter
-	 */
-	protected static void _trace(String category, String message, Throwable exception) {
-		if (isTracing(category)) {
-			message = (message != null) ? message : "null"; //$NON-NLS-1$
-			Status statusObj = new Status(IStatus.OK, fPluginId, IStatus.OK, message, exception);
-			fPlugin.getLog().log(statusObj);
-		}
-	}
-
-	/**
-	 * @return true if the plugin for this logger is debugging
-	 */
-	public static boolean isDebugging() {
-		return fPlugin.isDebugging();
-	}
-
-	/**
-	 * Determines if currently tracing a category
-	 * 
-	 * @param category
-	 * @return true if tracing category, false otherwise
-	 */
-	public static boolean isTracing(String category) {
-		if (!isDebugging())
-			return false;
-
-		String traceFilter = Platform.getDebugOption(fPluginId + TRACEFILTER_LOCATION);
-		if (traceFilter != null) {
-			StringTokenizer tokenizer = new StringTokenizer(traceFilter, ","); //$NON-NLS-1$
-			while (tokenizer.hasMoreTokens()) {
-				String cat = tokenizer.nextToken().trim();
-				if (category.equals(cat)) {
-					return true;
-				}
-			}
-		}
-		return false;
-	}
-
-	public static void log(int level, String message) {
-		_log(level, message, null);
-	}
-
-	public static void log(int level, String message, Throwable exception) {
-		_log(level, message, exception);
-	}
-
-	public static void logException(String message, Throwable exception) {
-		_log(ERROR, message, exception);
-	}
-
-	public static void logException(Throwable exception) {
-		_log(ERROR, exception.getMessage(), exception);
-	}
-
-	public static void trace(String category, String message) {
-		_trace(category, message, null);
-	}
-
-	public static void traceException(String category, String message, Throwable exception) {
-		_trace(category, message, exception);
-	}
-
-	public static void traceException(String category, Throwable exception) {
-		_trace(category, exception.getMessage(), exception);
-	}
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/PluginRecord.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/PluginRecord.java
deleted file mode 100644
index 7c55a85..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/PluginRecord.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 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
- *******************************************************************************/
-package org.eclipse.wst.common.snippets.internal;
-
-public class PluginRecord {
-
-	protected String fPluginName = null;
-	protected String fPluginVersion = null;
-
-
-	/**
-	 * @see Object#equals(Object)
-	 */
-	public boolean equals(Object obj) {
-		PluginRecord record = (PluginRecord) obj;
-		return record.getPluginName().equals(getPluginName()) && record.getPluginVersion().equals(getPluginVersion());
-	}
-
-	/**
-	 * Gets the pluginName.
-	 * 
-	 * @return Returns a String
-	 */
-	public String getPluginName() {
-		return fPluginName;
-	}
-
-	/**
-	 * Gets the pluginVersion.
-	 * 
-	 * @return Returns a String
-	 */
-	public String getPluginVersion() {
-		return fPluginVersion;
-	}
-
-	/**
-	 * Sets the pluginName.
-	 * 
-	 * @param pluginName
-	 *            The pluginName to set
-	 */
-	public void setPluginName(String pluginName) {
-		fPluginName = pluginName;
-	}
-
-	/**
-	 * Sets the pluginVersion.
-	 * 
-	 * @param pluginVersion
-	 *            The pluginVersion to set
-	 */
-	public void setPluginVersion(String pluginVersion) {
-		fPluginVersion = pluginVersion;
-	}
-
-	/**
-	 * @see Object#toString()
-	 */
-	public String toString() {
-		return getPluginName() + ":" + getPluginVersion(); //$NON-NLS-1$
-	}
-
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/SnippetContributor.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/SnippetContributor.java
deleted file mode 100644
index fea7880..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/SnippetContributor.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2009 SAP AG 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:

- *     SAP AG - initial API and implementation

- *******************************************************************************/

-package org.eclipse.wst.common.snippets.internal;

-

-import org.eclipse.core.expressions.EvaluationContext;

-import org.eclipse.core.expressions.EvaluationResult;

-import org.eclipse.core.expressions.Expression;

-import org.eclipse.core.expressions.ExpressionConverter;

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.core.runtime.IConfigurationElement;

-import org.eclipse.wst.common.snippets.core.ISnippetProvider;

-

-public class SnippetContributor {

-

-	public static final String ID_EXTENSION_POINT_PROVIDER = SnippetsPlugin.BUNDLE_ID + ".SnippetProvider"; //$NON-NLS-1$

-	public static final String CLASS = "class"; //$NON-NLS-1$

-	public static final String PRIORITY = "priority"; //$NON-NLS-1$

-	public static final String ENABLEMENT = "enablement"; //$NON-NLS-1$

-

-	private ISnippetProvider provider;

-	private IConfigurationElement extPointElement;

-	// 100 = lowest, 0 = highest

-	private byte priority = 100;

-

-	private boolean initExecuted = false;

-

-

-	public SnippetContributor(IConfigurationElement extPointElement) {

-		super();

-		this.extPointElement = extPointElement;

-		initPriority();

-	}

-

-	private void initPriority() {

-		if (extPointElement.getAttribute(PRIORITY) != null) {

-			try {

-				priority = (byte) Integer.parseInt(extPointElement.getAttribute(PRIORITY));

-				if (priority < 0 || priority > 100) {

-					priority = 100;

-				}

-			}

-			catch (NumberFormatException e) {

-				priority = 100;

-				Logger.logException(e);

-			}

-		}

-	}

-

-	private void initProvider() {

-		initExecuted = true;

-		try {

-			provider = (ISnippetProvider) extPointElement.createExecutableExtension(CLASS);

-		}

-		catch (CoreException e) {

-			Logger.logException(e);

-		}

-

-

-	}

-

-

-	public boolean isApplicable(Object o) {

-		IConfigurationElement[] configurationElements = extPointElement.getChildren(ENABLEMENT);

-		boolean enabled = false;

-		for (int i = 0; i < configurationElements.length; i++) {

-			try {

-				enabled |= testEnablement(configurationElements[i], o);

-			}

-			catch (CoreException e) {

-				// nothing to do testEnablement fails.

-				return false;

-			}

-		}

-		return enabled;

-	}

-

-	private boolean testEnablement(IConfigurationElement enable, Object o) throws CoreException {

-		Expression exp = ExpressionConverter.getDefault().perform(enable);

-		EvaluationContext context = new EvaluationContext(null, o);

-		context.setAllowPluginActivation(true);

-		return EvaluationResult.TRUE == exp.evaluate(context);

-	}

-

-

-	public ISnippetProvider getProvider() {

-		if (!initExecuted) {

-			initProvider();

-		}

-		return provider;

-	}

-

-	public byte getPriority() {

-		return priority;

-	}

-

-	public String toString() {

-		return super.toString() + ":" + extPointElement.getAttribute(CLASS);

-	}

-}

diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/SnippetDefinitions.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/SnippetDefinitions.java
deleted file mode 100644
index cf93c05..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/SnippetDefinitions.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 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
- *******************************************************************************/
-package org.eclipse.wst.common.snippets.internal;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.wst.common.snippets.core.ISnippetCategory;
-import org.eclipse.wst.common.snippets.core.ISnippetItem;
-import org.eclipse.wst.common.snippets.internal.palette.SnippetPaletteDrawer;
-import org.eclipse.wst.common.snippets.internal.palette.SnippetPaletteItem;
-
-
-/**
- * A collection of all the Snippets Categories and Items from one source.
- */
-public class SnippetDefinitions {
-
-	/**
-	 * The full list of category model objects
-	 */
-	protected List fCategories = null;
-	/**
-	 * The full list of item model objects
-	 */
-	protected List fItems = null;
-
-	/**
-	 * Gets the categories.
-	 * 
-	 * @return Returns a List
-	 */
-	public List getCategories() {
-		if (fCategories == null)
-			fCategories = new ArrayList();
-		return fCategories;
-	}
-
-	/**
-	 * Locates a unique ISnippetCategory by its ID
-	 * 
-	 * @param id -
-	 *            the ID of the category to locate
-	 * @return the ISnippetCategory if found, null if not
-	 */
-	public ISnippetCategory getCategory(String id) {
-		Iterator iterator = getCategories().iterator();
-		while (iterator.hasNext()) {
-			SnippetPaletteDrawer category = (SnippetPaletteDrawer) iterator.next();
-			if (category.getId().equals(id))
-				return category;
-		}
-		return null;
-	}
-
-	/**
-	 * Locates a unique ISnippetItem by its ID
-	 * 
-	 * @param id
-	 * @return the ISnippetItem if found, null if not
-	 */
-	public ISnippetItem getItem(String id) {
-		Iterator iterator = getItems().iterator();
-		while (iterator.hasNext()) {
-			SnippetPaletteItem item = (SnippetPaletteItem) iterator.next();
-			if (item.getId().equals(id))
-				return item;
-		}
-		for (int i = 0; i < fCategories.size(); i++) {
-			ISnippetItem[] items = ((ISnippetCategory) fCategories.get(i)).getItems();
-			for (int j = 0; j < items.length; j++) {
-				SnippetPaletteItem item = (SnippetPaletteItem) items[j];
-				if (item.getId().equals(id)) {
-					return item;
-				}
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Gets the items that were found by all of the model factories. This may
-	 * be different from all of the items within the categories.
-	 * 
-	 * @return a List of all the ISnippetItems loaded
-	 */
-	public List getItems() {
-		if (fItems == null)
-			fItems = new ArrayList();
-		return fItems;
-	}
-
-	/**
-	 * Sets the entire list of known ISnippetCategorys.
-	 * 
-	 * @param categories -
-	 *            the categories to set
-	 */
-	public void setCategories(List categories) {
-		fCategories = categories;
-	}
-
-	/**
-	 * Sets the entire list of known ISnippetItems.
-	 * 
-	 * @param items
-	 *            The items to set
-	 */
-	public void setItems(List items) {
-		fItems = items;
-	}
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/SnippetTransfer.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/SnippetTransfer.java
deleted file mode 100644
index b34b2c4..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/SnippetTransfer.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2009 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
- *******************************************************************************/
-package org.eclipse.wst.common.snippets.internal;
-
-import org.eclipse.swt.dnd.ByteArrayTransfer;
-import org.eclipse.swt.dnd.TransferData;
-
-/**
- * Transfer type used for clipboard operations
- * 
- * @see org.eclipse.swt.dnd.ClipBoard
- */
-public class SnippetTransfer extends ByteArrayTransfer {
-
-	private static SnippetTransfer instance;
-
-	private static final String LOCAL_NAME = "Snippet " + System.currentTimeMillis(); //$NON-NLS-1$
-	private static final int LOCAL_TYPE = registerType(LOCAL_NAME);
-
-	private static String[] names = null;
-	private static int types[] = null;
-
-
-	/**
-	 * @return the registered Transfer instance
-	 */
-	public static SnippetTransfer getTransferInstance() {
-		if (instance == null) {
-			instance = new SnippetTransfer();
-			init();
-		}
-		return instance;
-	}
-
-	private static void init() {
-		types = new int[]{LOCAL_TYPE};
-		names = new String[]{LOCAL_NAME};
-	}
-
-	private SnippetTransfer() {
-		super();
-	}
-
-	protected int[] getTypeIds() {
-		return types;
-	}
-
-	protected String[] getTypeNames() {
-		return names;
-	}
-	
-	/**
-	 * This records the time at which the transfer data was recorded.
-	 */
-	protected long startTime;
-	
-	/**
-	 * This records the data being transferred.
-	 */
-	protected Object object;
-	
-	/**
-	 * This records the object and current time and encodes only the current
-	 * time into the transfer data.
-	 */
-	public void javaToNative(Object object, TransferData transferData) {
-		startTime = System.currentTimeMillis();
-		this.object = object;
-		if (transferData != null) {
-			super.javaToNative(String.valueOf(startTime).getBytes(), transferData);
-		}
-	}
-
-	/**
-	 * This decodes the time of the transfer and returns the recorded the
-	 * object if the recorded time and the decoded time match.
-	 */
-	public Object nativeToJava(TransferData transferData) {
-		long startTime = Long.valueOf(new String((byte[]) super.nativeToJava(transferData))).longValue();
-		return this.startTime == startTime ? object : null;
-	}
-
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/SnippetsMessages.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/SnippetsMessages.java
deleted file mode 100644
index 5c4bded..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/SnippetsMessages.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005 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 - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.common.snippets.internal;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Strings used by Snippets
- * 
- * @plannedfor 1.0
- */
-public class SnippetsMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.wst.common.snippets.internal.SnippetsPluginResources";//$NON-NLS-1$
-
-	public static String A_name_must_be_specified_1;
-	public static String New_Category_Title;
-	public static String New_Item_Title;
-	public static String Delete_1;
-	public static String Unnamed_Template_1;
-	public static String Insert_Template___1;
-	public static String Insert_Template_2;
-	public static String Edit_Instruction;
-	public static String Variables__4;
-	public static String Description_of_variable__5;
-	public static String Variable_Name_6;
-	public static String Value_7;
-	public static String Preview__9;
-	public static String Insert_14;
-	public static String Variable_Name_3;
-	public static String Value_4;
-	public static String Name_5;
-	public static String Description_6;
-	public static String Default_Value_7;
-	public static String Remove_15;
-	public static String Template_Pattern__16;
-	public static String Insert_Variable_17;
-	public static String Insert___;
-	public static String New_1;
-	public static String Cut_2;
-	public static String Copy_2;
-	public static String Paste_4;
-	public static String new_category_name;
-	public static String category;
-	public static String item;
-	public static String Unnamed_Category;
-	public static String Add_to_Snippets____3;
-	public static String Cant_add_to_this;
-	public static String choose_or_create;
-	public static String force_create;
-	public static String SnippetCustomizerDialog_0;
-	public static String SnippetCustomizerDialog_1;
-	public static String SnippetCustomizerDialog_2;
-	public static String SnippetCustomizerDialog_3;
-	public static String SnippetCustomizerDialog_4;
-	public static String SnippetDrawerEntryPage_0;
-	public static String SnippetDrawerEntryPage_1;
-	public static String SnippetDrawerEntryPage_2;
-	public static String SnippetDrawerEntryPage_3;
-	public static String SnippetDrawerEntryPage_4;
-	public static String SnippetDrawerEntryPage_5;
-	public static String SnippetDrawerEntryPage_6;
-	public static String Paste_as_Snippet;
-	public static String Import_Snippets;
-	public static String Export_Snippets;
-
-	static {
-		// load message values from bundle file
-		NLS.initializeMessages(BUNDLE_NAME, SnippetsMessages.class);
-	}
-
-	private SnippetsMessages() {
-		// cannot create new instance
-	}
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/SnippetsPlugin.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/SnippetsPlugin.java
deleted file mode 100644
index 94806f5..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/SnippetsPlugin.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2009 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
- *******************************************************************************/
-package org.eclipse.wst.common.snippets.internal;
-
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.wst.common.snippets.internal.model.SnippetManager;
-
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class SnippetsPlugin extends AbstractUIPlugin {
-	public static interface NAMES {
-		String CATEGORY = "category"; //$NON-NLS-1$
-		String CLASSNAME = "class"; //$NON-NLS-1$
-		String CONTENT = "content"; //$NON-NLS-1$
-		String DEFAULT = "default"; //$NON-NLS-1$
-		String DESCRIPTION = "description"; //$NON-NLS-1$
-		String EDITORCLASSNAME = "editorclass"; //$NON-NLS-1$
-		String EXTENSION_POINT_ID = "SnippetContributions"; //$NON-NLS-1$
-		String HIDE = "hide"; //$NON-NLS-1$
-		String SMALLICON = "smallicon"; //$NON-NLS-1$
-		String ID = "id"; //$NON-NLS-1$
-		String INITIAL_STATE = "initial_state"; //$NON-NLS-1$
-		String ITEM = "item"; //$NON-NLS-1$
-		String LABEL = "label"; //$NON-NLS-1$
-		String LARGEICON = "largeicon"; //$NON-NLS-1$
-		String NAME = "name"; //$NON-NLS-1$
-		String PLUGIN = "plugin"; //$NON-NLS-1$
-		String SHARED = "shared"; //$NON-NLS-1$
-		String SHOW = "show"; //$NON-NLS-1$
-
-		String SNIPPETS = "snippets"; //$NON-NLS-1$
-		String VARIABLE = "variable"; //$NON-NLS-1$
-		String VARIABLES = "variables"; //$NON-NLS-1$
-		String VERSION = "version"; //$NON-NLS-1$
-		String VIEW_ID = "org.eclipse.wst.common.snippets.internal.ui.SnippetsView"; //$NON-NLS-1$
-		String PROVIDER_ID = "snippetProvider";//$NON-NLS-1$
-	}
-
-	public static final String BUNDLE_ID = "org.eclipse.wst.common.snippets"; //$NON-NLS-1$
-
-	/**
-	 * The shared instance
-	 */
-	private static SnippetsPlugin fInstance;
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static SnippetsPlugin getDefault() {
-		return fInstance;
-	}
-
-	/**
-	 * @return the ISnippetManager exposing the Snippets view model
-	 */
-	public static ISnippetManager getSnippetManager() {
-		return SnippetManager.getInstance();
-	}
-
-	/**
-	 * 
-	 */
-	public SnippetsPlugin() {
-		super();
-		fInstance = this;
-	}
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/SnippetsPluginImageHelper.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/SnippetsPluginImageHelper.java
deleted file mode 100644
index ee9ef34..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/SnippetsPluginImageHelper.java
+++ /dev/null
@@ -1,219 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 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
- *******************************************************************************/
-package org.eclipse.wst.common.snippets.internal;
-
-import java.util.HashMap;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-
-/**
- * Helper class to handle images provided by this plug-in.
- * 
- * NOTE: For internal use only. For images used externally, please use the
- * Shared***ImageHelper class instead.
- * 
- * @author amywu
- */
-public class SnippetsPluginImageHelper {
-	private static SnippetsPluginImageHelper instance = null;
-
-	/**
-	 * Gets the instance.
-	 * 
-	 * @return Returns a SnippetsPluginImageHelper
-	 */
-	public synchronized static SnippetsPluginImageHelper getInstance() {
-		if (instance == null)
-			instance = new SnippetsPluginImageHelper();
-		return instance;
-	}
-
-	// save a descriptor for each image
-	private HashMap fImageDescRegistry = null;
-	private final String PLUGIN_SEPARATOR = "^"; //$NON-NLS-1$
-	private final String PLUGINID = SnippetsPlugin.BUNDLE_ID;
-
-	/**
-	 * Creates an image from the given resource and adds the image to the
-	 * image registry.
-	 * 
-	 * @param resource
-	 * @param pluginId
-	 * @return Image
-	 */
-	private Image createImage(String resource, String pluginId) {
-		ImageDescriptor desc = getImageDescriptor(resource, pluginId);
-		Image image = null;
-
-		if (desc != null) {
-			image = desc.createImage();
-
-			// dont add the missing image descriptor image to the image
-			// registry
-			if (!desc.equals(ImageDescriptor.getMissingImageDescriptor())) {
-				String thePluginId = pluginId;
-				if (thePluginId == null) {
-					thePluginId = PLUGINID;
-				}
-				String key = thePluginId + PLUGIN_SEPARATOR + resource;
-				getImageRegistry().put(key, image);
-			}
-		}
-		return image;
-	}
-
-	/**
-	 * Creates an image descriptor from the given imageFilePath in the given
-	 * pluginId and adds the image descriptor to the image descriptor
-	 * registry. If an image descriptor could not be created, the default
-	 * "missing" image descriptor is returned but not added to the image
-	 * descriptor registry.
-	 * 
-	 * @param imageFilePath
-	 * @param pluginId
-	 *            if null, look in this plugin
-	 * @return ImageDescriptor image descriptor for imageFilePath or default
-	 *         "missing" image descriptor if resource could not be found
-	 */
-	private ImageDescriptor createImageDescriptor(String imageFilePath, String pluginId) {
-		String thePluginId = pluginId;
-		if (thePluginId == null) {
-			thePluginId = PLUGINID;
-		}
-
-		ImageDescriptor imageDescriptor = AbstractUIPlugin.imageDescriptorFromPlugin(thePluginId, imageFilePath);
-		if (imageDescriptor != null) {
-			String key = thePluginId + PLUGIN_SEPARATOR + imageFilePath;
-			getImageDescriptorRegistry().put(key, imageDescriptor);
-		}
-		else {
-			imageDescriptor = ImageDescriptor.getMissingImageDescriptor();
-		}
-
-		return imageDescriptor;
-	}
-
-	/**
-	 * Retrieves the image associated with resource from the image registry.
-	 * If the image cannot be retrieved, attempt to find and load the image at
-	 * the location specified in resource.
-	 * 
-	 * @param resource
-	 *            the image to retrieve
-	 * @return Image the image associated with resource or null if one could
-	 *         not be found
-	 */
-	public Image getImage(String resource) {
-		return getImage(resource, null);
-	}
-
-	/**
-	 * Retrieves the image associated with resource from the image registry.
-	 * If the image cannot be retrieved, attempt to find and load the image at
-	 * the location specified in resource.
-	 * 
-	 * @param resource
-	 *            the image to retrieve
-	 * @param pluginId
-	 * @return Image the image associated with resource or null if one could
-	 *         not be found
-	 */
-	public Image getImage(String resource, String pluginId) {
-		String thePluginId = pluginId;
-		if (thePluginId == null) {
-			thePluginId = PLUGINID;
-		}
-
-		String key = thePluginId + PLUGIN_SEPARATOR + resource;
-
-		Image image = getImageRegistry().get(key);
-		if (image == null) {
-			// create an image
-			image = createImage(resource, pluginId);
-		}
-		return image;
-	}
-
-	/**
-	 * Retrieves the image descriptor associated with resource from the image
-	 * descriptor registry. If the image descriptor cannot be retrieved,
-	 * attempt to find and load the image descriptor at the location specified
-	 * in resource.
-	 * 
-	 * @param resource
-	 *            the image descriptor to retrieve
-	 * @return ImageDescriptor the image descriptor assocated with resource or
-	 *         the default "missing" image descriptor if one could not be
-	 *         found
-	 */
-	public ImageDescriptor getImageDescriptor(String resource) {
-		return getImageDescriptor(resource, null);
-	}
-
-	/**
-	 * Retrieves the image descriptor associated with resource in pluginId
-	 * from the image descriptor registry. If the image descriptor cannot be
-	 * retrieved, attempt to find and load the image descriptor at the
-	 * location specified in resource in pluginId.
-	 * 
-	 * @param resource
-	 *            the image descriptor to retrieve
-	 * @param pluginId
-	 *            the plugin the resource is located. if null, use look in
-	 *            this plugin
-	 * @return ImageDescriptor the image descriptor assocated with resource or
-	 *         the default "missing" image descriptor if one could not be
-	 *         found
-	 */
-	public ImageDescriptor getImageDescriptor(String resource, String pluginId) {
-		ImageDescriptor imageDescriptor = null;
-		String thePluginId = pluginId;
-		if (thePluginId == null) {
-			thePluginId = PLUGINID;
-		}
-
-		String key = thePluginId + PLUGIN_SEPARATOR + resource;
-		Object o = getImageDescriptorRegistry().get(key);
-		if (o == null) {
-			// create a descriptor
-			imageDescriptor = createImageDescriptor(resource, pluginId);
-		}
-		else {
-			imageDescriptor = (ImageDescriptor) o;
-		}
-		return imageDescriptor;
-	}
-
-	/**
-	 * Returns the image descriptor registry for this plugin.
-	 * 
-	 * @return HashMap - image descriptor registry for this plugin
-	 */
-	private HashMap getImageDescriptorRegistry() {
-		if (fImageDescRegistry == null)
-			fImageDescRegistry = new HashMap();
-		return fImageDescRegistry;
-	}
-
-	/**
-	 * Returns the image registry for this plugin.
-	 * 
-	 * @return ImageRegistry - image registry for this plugin
-	 */
-	private ImageRegistry getImageRegistry() {
-		return JFaceResources.getImageRegistry();
-	}
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/SnippetsPluginImages.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/SnippetsPluginImages.java
deleted file mode 100644
index c4e637f..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/SnippetsPluginImages.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 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
- *******************************************************************************/
-package org.eclipse.wst.common.snippets.internal;
-
-/**
- * Bundle of most images used by the Snippets plug-in.
- */
-public class SnippetsPluginImages {
-
-	public static final String IMG_CLCL_COPY = "icons/full/clcl16/copy.gif"; //$NON-NLS-1$
-
-	public static final String IMG_CLCL_CUT = "icons/full/clcl16/cut.gif"; //$NON-NLS-1$
-
-	public static final String IMG_CLCL_DELETE = "icons/full/clcl16/delete.gif"; //$NON-NLS-1$
-
-	public static final String IMG_CLCL_EXPORT = "icons/full/clcl16/export.gif"; //$NON-NLS-1$
-
-	public static final String IMG_CLCL_IMPORT = "icons/full/clcl16/import.gif"; //$NON-NLS-1$
-
-	public static final String IMG_CLCL_INSERT = "icons/full/clcl16/insert.gif"; //$NON-NLS-1$
-
-	public static final String IMG_CLCL_NEW_CATEGORY = "icons/full/clcl16/new_category.gif"; //$NON-NLS-1$
-
-	public static final String IMG_CLCL_NEW_TEMPLATE = "icons/full/clcl16/new_template.gif"; //$NON-NLS-1$
-
-	public static final String IMG_CLCL_PASTE = "icons/full/clcl16/paste.gif"; //$NON-NLS-1$
-	public static final String IMG_DLCL_COPY = "icons/full/dlcl16/copy.gif"; //$NON-NLS-1$
-	public static final String IMG_DLCL_CUT = "icons/full/dlcl16/cut.gif"; //$NON-NLS-1$
-	public static final String IMG_DLCL_DELETE = "icons/full/dlcl16/delete.gif"; //$NON-NLS-1$
-	public static final String IMG_DLCL_EXPORT = "icons/full/dlcl16/export.gif"; //$NON-NLS-1$
-	public static final String IMG_DLCL_IMPORT = "icons/full/dlcl16/import.gif"; //$NON-NLS-1$
-	public static final String IMG_DLCL_INSERT = "icons/full/dlcl16/insert.gif"; //$NON-NLS-1$
-	public static final String IMG_DLCL_NEW_CATEGORY = "icons/full/dlcl16/new_category.gif"; //$NON-NLS-1$
-	public static final String IMG_DLCL_NEW_TEMPLATE = "icons/full/dlcl16/new_template.gif"; //$NON-NLS-1$
-	public static final String IMG_DLCL_PASTE = "icons/full/dlcl16/paste.gif"; //$NON-NLS-1$
-	public static final String IMG_ELCL_COPY = "icons/full/elcl16/copy.gif"; //$NON-NLS-1$
-	public static final String IMG_ELCL_CUT = "icons/full/elcl16/cut.gif"; //$NON-NLS-1$
-	public static final String IMG_ELCL_DELETE = "icons/full/elcl16/delete.gif"; //$NON-NLS-1$
-	public static final String IMG_ELCL_EXPORT = "icons/full/elcl16/export.gif"; //$NON-NLS-1$
-	public static final String IMG_ELCL_IMPORT = "icons/full/elcl16/import.gif"; //$NON-NLS-1$
-	public static final String IMG_ELCL_INSERT = "icons/full/elcl16/insert.gif"; //$NON-NLS-1$
-	public static final String IMG_ELCL_NEW_CATEGORY = "icons/full/elcl16/new_category.gif"; //$NON-NLS-1$
-	public static final String IMG_ELCL_NEW_TEMPLATE = "icons/full/elcl16/new_template.gif"; //$NON-NLS-1$
-	public static final String IMG_ELCL_PASTE = "icons/full/elcl16/paste.gif"; //$NON-NLS-1$
-	public static final String IMG_OBJ_SNIPPETS = "icons/full/obj16/snippets.gif"; //$NON-NLS-1$
-	public static final String IMG_OBJ_TEMPLATE = "icons/full/obj16/template.gif"; //$NON-NLS-1$
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/SnippetsPluginResources.properties b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/SnippetsPluginResources.properties
deleted file mode 100644
index fbabc17..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/SnippetsPluginResources.properties
+++ /dev/null
@@ -1,67 +0,0 @@
-###############################################################################
-# Copyright (c) 2004, 2009 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
-###############################################################################
-A_name_must_be_specified_1=A name must be specified
-New_Category_Title=New Category
-New_Item_Title=New Item
-Delete_1=Delete
-Unnamed_Template_1=Unnamed Template
-Insert_Template___1=Insert Template:
-Insert_Template_2=Insert Template
-Edit_Instruction=Edit the values for the variables in the table below.  The text that will be inserted is previewed in the Source pane below
-Variables__4=Variables:
-Description_of_variable__5=Description of variable:
-Variable_Name_6=Variable Name
-Value_7=Value
-Preview__9=Source:
-Insert_14=Insert
-Variable_Name_3=Variable Name
-Value_4=Value
-##
-Name_5=Name
-Description_6=Description
-Default_Value_7=Default Value
-Remove_15=Remove
-Template_Pattern__16=Template:
-Insert_Variable_17=Insert &Variable Placeholder...
-#
-Insert___=Insert...
-New_1=New
-Cut_2=Cut
-Copy_2=Copy
-Paste_4=Paste
-##
-new_category_name=new category
-category=category
-item=item
-Unnamed_Category=Unnamed Category
-Add_to_Snippets____3=Add to Snipp&ets...
-##
-Cant_add_to_this=You can not add items to this category.  Please choose or create another.
-choose_or_create=Please choose a category or enter a name for a new one.
-force_create=You must create a new category for this snippet.  Please enter a name.
-## snippets import/export
-SnippetCustomizerDialog_0=Import
-SnippetCustomizerDialog_1=Export
-SnippetCustomizerDialog_2=Overwrite Existing Drawer Entry
-SnippetCustomizerDialog_3=An entry for snippet drawer "{0}" already exists in workspace. Overwrite existing drawer entry?
-SnippetCustomizerDialog_4=An entry for snippet drawer "{0}" already exists in export file. Overwrite existing drawer entry?
-SnippetDrawerEntryPage_0=Show/Hide Drawer
-SnippetDrawerEntryPage_1=Always show
-SnippetDrawerEntryPage_2=Always hide
-SnippetDrawerEntryPage_3=Custom:
-SnippetDrawerEntryPage_4=Bro&wse...
-SnippetDrawerEntryPage_5=Content Type Selection
-SnippetDrawerEntryPage_6=Choose content types this drawer is for:
-Import_Snippets=Import Snippets
-Export_Snippets=Export Snippets
-
-#
-Paste_as_Snippet=Paste as Snippet...
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/VariableInsertionDialog.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/VariableInsertionDialog.java
deleted file mode 100644
index 65fe110..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/VariableInsertionDialog.java
+++ /dev/null
@@ -1,364 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 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
- *******************************************************************************/
-package org.eclipse.wst.common.snippets.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.accessibility.ACC;
-import org.eclipse.swt.accessibility.AccessibleAdapter;
-import org.eclipse.swt.accessibility.AccessibleEvent;
-import org.eclipse.swt.custom.LineStyleEvent;
-import org.eclipse.swt.custom.LineStyleListener;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.custom.VerifyKeyListener;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.VerifyEvent;
-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.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.common.snippets.core.ISnippetItem;
-import org.eclipse.wst.common.snippets.core.ISnippetVariable;
-import org.eclipse.wst.common.snippets.internal.palette.SnippetVariable;
-import org.eclipse.wst.common.snippets.internal.ui.StringPropertyTableViewer;
-import org.eclipse.wst.common.snippets.internal.ui.ValueChangedListener;
-import org.eclipse.wst.common.snippets.internal.util.StringUtils;
-
-public class VariableInsertionDialog extends Dialog {
-	private List disposeListeners = new ArrayList();
-	protected StyledText fDescriptionPane = null;
-	protected ISnippetItem fItem = null;
-
-
-	protected String fPreparedText = null;
-	protected StyledText fPreviewPane = null;
-
-	protected StringPropertyTableViewer fTableViewer = null;
-
-	/**
-	 * Constructor for VariableInsertionDialog.
-	 * 
-	 * @param parentShell
-	 */
-	public VariableInsertionDialog(Shell parentShell, boolean clearModality) {
-		super(parentShell);
-		/**
-		 * Required to fix defect 218700, since Dialogs default to
-		 * APPLICATION_MODAL.
-		 */
-		if (clearModality)
-			setShellStyle(SWT.DIALOG_TRIM | SWT.RESIZE | SWT.MODELESS);
-		else
-			setShellStyle(SWT.RESIZE | getShellStyle());
-	}
-
-	/**
-	 * subclasses can override this to add more contents into the dialog
-	 */
-	protected void addContents(Composite composite) {
-		//
-	}
-
-	public void addDisposeListener(DisposeListener listener) {
-		if (!disposeListeners.contains(listener))
-			disposeListeners.add(listener);
-	}
-
-	/**
-	 * @see org.eclipse.jface.window.Window#create()
-	 */
-	public void create() {
-		super.create();
-		for (int i = 0; i < disposeListeners.size(); i++) {
-			getShell().addDisposeListener((DisposeListener) disposeListeners.get(i));
-		}
-		getShell().setActive();
-	}
-
-	/**
-	 * @see Dialog#createButtonsForButtonBar(Composite)
-	 */
-	protected void createButtonsForButtonBar(Composite parent) {
-		super.createButtonsForButtonBar(parent);
-		getButton(IDialogConstants.OK_ID).setText(SnippetsMessages.Insert_14); //$NON-NLS-1$
-	}
-
-	/*
-	 * @see Dialog#createDialogArea(Composite)
-	 */
-	protected Control createDialogArea(Composite parent) {
-		parent.getShell().setText(getDialogTitle());
-		SnippetsPlugin.getDefault().getWorkbench().getHelpSystem().setHelp(parent, IHelpContextIds.DIALOG_INSERT_VARITEM);
-
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.makeColumnsEqualWidth = true;
-		layout.horizontalSpacing += 2;
-		layout.verticalSpacing += 2;
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-		composite.setFont(parent.getFont());
-
-		GridData doubleWide = new GridData(GridData.FILL_BOTH);
-		doubleWide.horizontalSpan = 2;
-		Text instructions = new Text(composite, SWT.WRAP | SWT.LEFT);
-		instructions.setBackground(composite.getBackground());
-		doubleWide.heightHint = instructions.getFont().getFontData()[0].getHeight() * 3;
-		instructions.setLayoutData(doubleWide);
-		instructions.setText(SnippetsMessages.Edit_Instruction); //$NON-NLS-1$
-		instructions.setEditable(false);
-
-		Text tableLabel = new Text(composite, SWT.NONE);
-		tableLabel.setBackground(composite.getBackground());
-		tableLabel.setText(SnippetsMessages.Variables__4); //$NON-NLS-1$
-		tableLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		tableLabel.setEditable(false);
-
-		Text descriptionBoxLabel = new Text(composite, SWT.NONE);
-		descriptionBoxLabel.setBackground(composite.getBackground());
-		descriptionBoxLabel.setText(SnippetsMessages.Description_of_variable__5); //$NON-NLS-1$
-		descriptionBoxLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		descriptionBoxLabel.setEditable(false);
-
-		// pity we can't just use a PropertySheetPage, but the column headers
-		// aren't customizable
-		fTableViewer = new StringPropertyTableViewer();
-		fTableViewer.setColumnNames(new String[]{SnippetsMessages.Variable_Name_6, SnippetsMessages.Value_7}); //$NON-NLS-1$ //$NON-NLS-2$
-		fTableViewer.setEditFirstColumn(false);
-		fTableViewer.createContents(composite);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.heightHint = fTableViewer.getTable().getItemHeight() * 5;
-		fTableViewer.getControl().setLayoutData(data);
-		fTableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				ISnippetVariable variable = null;
-				if (fTableViewer.getSelection() != null) {
-					variable = getVariable(fTableViewer.getSelection());
-				}
-				fDescriptionPane.setText(variable != null ? variable.getDescription() : ""); //$NON-NLS-1$
-				fDescriptionPane.setHorizontalPixel(2);
-				fDescriptionPane.redraw();
-			}
-		});
-		fTableViewer.addValueChangedListener(new ValueChangedListener() {
-			public void valueChanged(String key, String property, String oldValue, String newValue) {
-				update();
-			}
-		});
-
-		fDescriptionPane = new StyledText(composite, SWT.READ_ONLY | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.WRAP);
-		fDescriptionPane.setLayoutData(new GridData(GridData.FILL_BOTH));
-		fDescriptionPane.setEnabled(true);
-		fDescriptionPane.setEditable(false);
-		fDescriptionPane.addVerifyKeyListener(createVerifyListener(fDescriptionPane));
-		fDescriptionPane.setFont(JFaceResources.getDialogFont());
-		setAccessible(fDescriptionPane, SnippetsMessages.Description_of_variable__5); //$NON-NLS-1$
-
-		doubleWide = new GridData(GridData.FILL_BOTH);
-		doubleWide.horizontalSpan = 2;
-		Text previewLabel = new Text(composite, SWT.NULL);
-		previewLabel.setBackground(composite.getBackground());
-		previewLabel.setText(SnippetsMessages.Preview__9); //$NON-NLS-1$
-		previewLabel.setEditable(false);
-
-		doubleWide = new GridData(GridData.FILL_BOTH);
-		doubleWide.horizontalSpan = 2;
-		doubleWide.heightHint = parent.getDisplay().getClientArea().height / 6;
-		doubleWide.widthHint = parent.getDisplay().getClientArea().width / 8;
-		fPreviewPane = new StyledText(composite, SWT.READ_ONLY | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
-		fPreviewPane.addVerifyKeyListener(createVerifyListener(fPreviewPane));
-		fPreviewPane.addLineStyleListener(new LineStyleListener() {
-			public void lineGetStyle(LineStyleEvent event) {
-				// System.out.println("hilight: " + event.lineOffset);
-			}
-		});
-		fPreviewPane.setEnabled(true);
-		fPreviewPane.setEditable(false);
-		fPreviewPane.setFont(JFaceResources.getTextFont());
-		fPreviewPane.setLayoutData(doubleWide);
-		setAccessible(fPreviewPane, SnippetsMessages.Preview__9); //$NON-NLS-1$
-
-		if (fItem != null) {
-			fTableViewer.clear();
-			populateTableViewer();
-			fTableViewer.refresh();
-		}
-
-		addContents(composite);
-
-		update();
-		fTableViewer.getControl().setFocus();
-		return composite;
-	}
-
-	private VerifyKeyListener createVerifyListener(Control control) {
-		final Control widget = control;
-		return new VerifyKeyListener() {
-			public void verifyKey(VerifyEvent event) {
-				if (event.character == '\t') {
-					if ((event.stateMask & SWT.SHIFT) != 0)
-						widget.traverse(SWT.TRAVERSE_TAB_PREVIOUS);
-					else
-						widget.traverse(SWT.TRAVERSE_TAB_NEXT);
-				}
-			}
-		};
-	}
-
-	/**
-	 * Returns the dialog title to use
-	 * 
-	 * @return
-	 */
-	protected String getDialogTitle() {
-		String shellLabel = ""; //$NON-NLS-1$
-		String itemLabel = getItem().getLabel();
-		if (itemLabel != null && itemLabel.length() > 0)
-			shellLabel = SnippetsMessages.Insert_Template___1 + " " + itemLabel; //$NON-NLS-1$ //$NON-NLS-2$
-		else
-			shellLabel = SnippetsMessages.Insert_Template_2; //$NON-NLS-1$
-
-		return shellLabel;
-	}
-
-	/**
-	 * Gets the item.
-	 * 
-	 * @return Returns a ISnippetItem
-	 */
-	public ISnippetItem getItem() {
-		return fItem;
-	}
-
-	/**
-	 * Gets the preparedText.
-	 * 
-	 * @return Returns a String
-	 */
-	public String getPreparedText() {
-		if (fPreparedText == null)
-			prepareText();
-		return fPreparedText;
-	}
-
-	protected ISnippetVariable getVariable(String id) {
-		if (fItem == null)
-			return null;
-		ISnippetVariable[] variables = fItem.getVariables();
-		for (int i = 0; i < variables.length; i++) {
-			if (((SnippetVariable) variables[i]).getId().equals(id))
-				return variables[i];
-		}
-		return null;
-	}
-
-	/*
-	 * @see Dialog#okPressed()
-	 */
-	protected void okPressed() {
-		fTableViewer.finishEditing();
-		super.okPressed();
-		prepareText();
-	}
-
-	protected void populateTableViewer() {
-		ISnippetVariable[] variables = fItem.getVariables();
-		for (int i = 0; i < variables.length; i++) {
-			fTableViewer.getColumnData()[0].put(((SnippetVariable) variables[i]).getId(), ((SnippetVariable) variables[i]).getName());
-			fTableViewer.getColumnData()[1].put(((SnippetVariable) variables[i]).getId(), ((SnippetVariable) variables[i]).getDefaultValue());
-		}
-	}
-
-	protected void prepareText() {
-		// this could be horribly inefficient
-		String text = fItem.getContentString();
-		ISnippetVariable[] variables = fItem.getVariables();
-		for (int i = 0; i < variables.length; i++) {
-			String value = (String) fTableViewer.getColumnData()[1].get(((SnippetVariable) variables[i]).getId());
-			text = StringUtils.replace(text, "${" + variables[i].getName() + "}", value); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-
-		// remove all cursor markers
-		text = StringUtils.replace(text, "${cursor}", ""); //$NON-NLS-1$ //$NON-NLS-2$
-
-		// Update EOLs (bug 80231)
-		String systemEOL = System.getProperty("line.separator"); //$NON-NLS-1$
-		text = StringUtils.replace(text, "\r\n", "\n"); //$NON-NLS-1$ //$NON-NLS-2$
-		text = StringUtils.replace(text, "\r", "\n"); //$NON-NLS-1$ //$NON-NLS-2$
-		if (!"\n".equals(systemEOL) && systemEOL != null) { //$NON-NLS-1$
-			text = StringUtils.replace(text, "\n", systemEOL); //$NON-NLS-1$
-		}
-
-		setPreparedText(text);
-	}
-
-	public void removeDisposeListener(DisposeListener listener) {
-		disposeListeners.remove(listener);
-	}
-
-	/**
-	 * Specifically set the reporting name of a control for accessibility
-	 */
-	private void setAccessible(Control control, String name) {
-		if (control == null)
-			return;
-		final String n = name;
-		control.getAccessible().addAccessibleListener(new AccessibleAdapter() {
-			public void getName(AccessibleEvent e) {
-				if (e.childID == ACC.CHILDID_SELF)
-					e.result = n;
-			}
-		});
-	}
-
-	/**
-	 * Sets the item.
-	 * 
-	 * @param item
-	 *            The item to set
-	 */
-	public void setItem(ISnippetItem item) {
-		fItem = item;
-		if (fTableViewer != null) {
-			fTableViewer.clear();
-			populateTableViewer();
-		}
-	}
-
-	/**
-	 * Sets the preparedText.
-	 * 
-	 * @param preparedText
-	 *            The preparedText to set
-	 */
-	protected void setPreparedText(String preparedText) {
-		fPreparedText = preparedText;
-	}
-
-	protected void update() {
-		prepareText();
-		if (fPreviewPane != null && !fPreviewPane.isDisposed()) {
-			fPreviewPane.setText(getPreparedText());
-			fPreviewPane.setHorizontalPixel(2);
-			fPreviewPane.redraw();
-		}
-	}
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/VariableItemHelper.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/VariableItemHelper.java
deleted file mode 100644
index cf0d5ca..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/VariableItemHelper.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 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
- *******************************************************************************/
-package org.eclipse.wst.common.snippets.internal;
-
-
-
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.wst.common.snippets.core.ISnippetItem;
-
-public class VariableItemHelper {
-
-	public static String getInsertString(Shell host, ISnippetItem item) {
-		return getInsertString(host, item, true);
-	}
-
-	public static String getInsertString(final Shell host, ISnippetItem item, boolean clearModality) {
-		if (item == null)
-			return ""; //$NON-NLS-1$
-		String insertString = null;
-		if (item.getVariables().length > 0) {
-			VariableInsertionDialog dialog = new VariableInsertionDialog(host, clearModality);
-			dialog.setItem(item);
-			// The editor itself influences the insertion's actions, so we
-			// can't
-			// allow the active editor to be changed.
-			// Disabling the parent shell achieves psuedo-modal behavior
-			// without
-			// locking the UI under Linux
-			int result = Window.CANCEL;
-			try {
-				if (clearModality) {
-					host.setEnabled(false);
-					dialog.addDisposeListener(new DisposeListener() {
-						public void widgetDisposed(DisposeEvent arg0) {
-							/*
-							 * The parent shell must be reenabled when the
-							 * dialog disposes, otherwise it won't
-							 * automatically receive focus.
-							 */
-							host.setEnabled(true);
-						}
-					});
-				}
-				result = dialog.open();
-			}
-			catch (Exception t) {
-				Logger.logException(t);
-			}
-			finally {
-				if (clearModality) {
-					host.setEnabled(true);
-				}
-			}
-			if (result == Window.OK)
-				insertString = dialog.getPreparedText();
-		}
-		else {
-			insertString = item.getContentString();
-		}
-		return insertString;
-	}
-
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/actions/AbstractCategoryAction.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/actions/AbstractCategoryAction.java
deleted file mode 100644
index dde1e9e..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/actions/AbstractCategoryAction.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 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
- *******************************************************************************/
-package org.eclipse.wst.common.snippets.internal.actions;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.palette.PaletteContainer;
-import org.eclipse.gef.palette.PaletteEntry;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.IInputValidator;
-import org.eclipse.wst.common.snippets.core.ISnippetCategory;
-import org.eclipse.wst.common.snippets.core.ISnippetItem;
-import org.eclipse.wst.common.snippets.internal.SnippetsMessages;
-import org.eclipse.wst.common.snippets.internal.ui.SnippetsView;
-
-public abstract class AbstractCategoryAction extends Action {
-
-	protected static class CategoryNameValidator implements IInputValidator {
-
-		public String isValid(String name) {
-			// Don't allow blank names
-			if (name == null || name.length() < 1) {
-				return (SnippetsMessages.A_name_must_be_specified_1); //$NON-NLS-1$
-			}
-			return null;
-		}
-	}
-
-	private PaletteContainer fContainer = null;
-	private SnippetsView fViewer = null;
-
-	/**
-	 * Constructor for AbstractItemAction.
-	 * 
-	 * @param text
-	 */
-	protected AbstractCategoryAction(String text) {
-		super(text);
-	}
-
-	public AbstractCategoryAction(String text, SnippetsView viewer, PaletteContainer entry) {
-		super(text); //$NON-NLS-1$
-		fContainer = entry;
-		fViewer = viewer;
-	}
-
-	/**
-	 * Gets the container.
-	 * 
-	 * @return Returns a PaletteContainer
-	 */
-	public PaletteContainer getContainer() {
-		return fContainer;
-	}
-
-
-	/**
-	 * Gets the viewer.
-	 * 
-	 * @return Returns a GraphicalViewer
-	 */
-	public SnippetsView getViewer() {
-		return fViewer;
-	}
-
-	protected void refresh(ISnippetCategory category) {
-		EditPart part = (EditPart) fViewer.getViewer().getEditPartRegistry().get(category);
-		if (part != null) {
-			part.refresh();
-		}
-	}
-
-	protected void refresh(ISnippetItem item) {
-		EditPart part = (EditPart) fViewer.getViewer().getEditPartRegistry().get(item);
-		if (part != null) {
-			part.refresh();
-		}
-	}
-
-	protected void refresh(PaletteEntry entry) {
-		if (entry instanceof ISnippetCategory)
-			refresh((ISnippetCategory) entry);
-		else if (entry instanceof ISnippetItem)
-			refresh((ISnippetItem) entry);
-	}
-
-
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/actions/AbstractItemAction.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/actions/AbstractItemAction.java
deleted file mode 100644
index 6bf54ed..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/actions/AbstractItemAction.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 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
- *******************************************************************************/
-package org.eclipse.wst.common.snippets.internal.actions;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.GraphicalViewer;
-import org.eclipse.gef.palette.PaletteEntry;
-import org.eclipse.jface.action.Action;
-import org.eclipse.wst.common.snippets.core.ISnippetCategory;
-import org.eclipse.wst.common.snippets.core.ISnippetItem;
-
-
-public abstract class AbstractItemAction extends Action {
-
-	private PaletteEntry fEntry = null;
-	private GraphicalViewer fViewer = null;
-
-	public AbstractItemAction(GraphicalViewer viewer, PaletteEntry entry) {
-		super();
-		fEntry = entry;
-		fViewer = viewer;
-	}
-
-	/**
-	 * Constructor for AbstractItemAction.
-	 * 
-	 * @param text
-	 */
-	protected AbstractItemAction(String text) {
-		super(text);
-	}
-
-	public AbstractItemAction(String text, GraphicalViewer viewer, PaletteEntry entry) {
-		super(text);
-		fEntry = entry;
-		fViewer = viewer;
-	}
-
-	/**
-	 * Gets the entry.
-	 * 
-	 * @return Returns a PaletteEntry
-	 */
-	public PaletteEntry getEntry() {
-		return fEntry;
-	}
-
-	/**
-	 * Returns the viewer.
-	 * 
-	 * @return GraphicalViewer
-	 */
-	public GraphicalViewer getViewer() {
-		return fViewer;
-	}
-
-	protected void refresh(ISnippetCategory category) {
-		EditPart part = (EditPart) fViewer.getEditPartRegistry().get(category);
-		if (part != null) {
-			part.refresh();
-		}
-	}
-
-	protected void refresh(ISnippetItem item) {
-		EditPart part = (EditPart) fViewer.getEditPartRegistry().get(item);
-		if (part != null) {
-			part.refresh();
-		}
-	}
-
-	protected void refresh(PaletteEntry entry) {
-		if (entry instanceof ISnippetCategory)
-			refresh((ISnippetCategory) entry);
-		else if (entry instanceof ISnippetItem)
-			refresh((ISnippetItem) entry);
-	}
-
-	/**
-	 * Sets the entry.
-	 * 
-	 * @param entry
-	 *            The entry to set
-	 */
-	public void setEntry(PaletteEntry entry) {
-		fEntry = entry;
-	}
-
-
-	/**
-	 * Sets the viewer.
-	 * 
-	 * @param viewer
-	 *            The viewer to set
-	 */
-	public void setViewer(GraphicalViewer viewer) {
-		fViewer = viewer;
-	}
-
-
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/actions/AddToSnippetsEditorActionDelegate.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/actions/AddToSnippetsEditorActionDelegate.java
deleted file mode 100644
index bd2510d..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/actions/AddToSnippetsEditorActionDelegate.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2009 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
- *******************************************************************************/
-package org.eclipse.wst.common.snippets.internal.actions;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.gef.palette.PaletteDrawer;
-import org.eclipse.gef.ui.palette.customize.PaletteCustomizerDialog;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.text.TextSelection;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IEditorActionDelegate;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IViewActionDelegate;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.wst.common.snippets.core.ISnippetProvider;
-import org.eclipse.wst.common.snippets.internal.Logger;
-import org.eclipse.wst.common.snippets.internal.SnippetsPlugin;
-import org.eclipse.wst.common.snippets.internal.palette.SnippetPaletteItem;
-import org.eclipse.wst.common.snippets.internal.ui.SnippetsView;
-import org.eclipse.wst.common.snippets.internal.util.SnippetProviderManager;
-import org.eclipse.wst.common.snippets.internal.util.UserDrawerSelector;
-
-
-public class AddToSnippetsEditorActionDelegate implements IEditorActionDelegate, IViewActionDelegate {
-
-	private IEditorPart fEditorPart;
-	private ISnippetProvider snippetProvider;
-
-	public AddToSnippetsEditorActionDelegate() {
-		super();
-	}
-
-	/**
-	 * @deprecated
-	 */
-	public IDocument getDocument() {
-		return getTextEditor().getDocumentProvider().getDocument(fEditorPart.getEditorInput());
-	}
-
-	/**
-	 * @deprecated
-	 */
-	protected ITextSelection getSelection() {
-		ITextEditor editor = getTextEditor();
-		if (editor != null) {
-			ISelection selection = editor.getSelectionProvider().getSelection();
-			if (selection instanceof ITextSelection) {
-				return (ITextSelection) selection;
-			}
-		}
-		return new TextSelection(0, 0);
-	}
-
-	/**
-	 * @deprecated
-	 */
-	protected ITextEditor getTextEditor() {
-		ITextEditor editor = null;
-		IWorkbenchPart activePart = fEditorPart;
-		if (activePart == null) {
-			activePart = fEditorPart;
-		}
-		if (activePart instanceof ITextEditor) {
-			editor = (ITextEditor) activePart;
-		}
-		if (editor == null) {
-			editor = (ITextEditor) activePart.getAdapter(ITextEditor.class);
-		}
-		return editor;
-	}
-
-
-	/**
-	 * Prompts the user as needed to obtain a category to contain the new
-	 * Snippet
-	 * 
-	 * @return PaletteDrawer - a user modifiable drawer into which the new
-	 *         snippet will be inserted
-	 */
-	protected PaletteDrawer getUserDrawer() {
-		UserDrawerSelector selector = new UserDrawerSelector(fEditorPart.getEditorSite().getShell());
-		PaletteDrawer drawer = selector.getUserDrawer();
-		return drawer;
-	}
-
-	public void init(IViewPart view) {
-	}
-
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		PaletteDrawer drawer = getUserDrawer();
-
-		if (drawer != null) {
-			if (snippetProvider == null) {
-				snippetProvider = SnippetProviderManager.getApplicableProvider(fEditorPart);
-				if (snippetProvider == null) {
-					return;
-				}
-			}
-
-			try {
-				SnippetPaletteItem item = snippetProvider.createSnippet(drawer);
-				IViewPart snippets = fEditorPart.getEditorSite().getPage().showView(SnippetsPlugin.NAMES.VIEW_ID);
-				PaletteCustomizerDialog dialog = ((SnippetsView) snippets).getViewer().getCustomizerDialog();
-				dialog.setDefaultSelection(item);
-				dialog.open();
-			}
-			catch (PartInitException e) {
-				Logger.logException(e);
-			}
-			catch (CoreException e) {
-				Logger.logException(e);
-			}
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction,
-	 *      org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-		if (selection != null && fEditorPart != null && snippetProvider != null) {
-			action.setEnabled(snippetProvider.isActionEnabled(selection));
-		}
-		else {
-			action.setEnabled(false);
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IEditorActionDelegate#setActiveEditor(org.eclipse.jface.action.IAction,
-	 *      org.eclipse.ui.IEditorPart)
-	 */
-	public void setActiveEditor(IAction action, IEditorPart targetEditor) {
-		fEditorPart = targetEditor;
-		action.setEnabled(fEditorPart != null);
-		if (fEditorPart != null) {
-			snippetProvider = SnippetProviderManager.getApplicableProvider(fEditorPart);
-		}
-		else {
-			snippetProvider = null;
-		}
-	}
-
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/actions/DeleteCategoryAction.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/actions/DeleteCategoryAction.java
deleted file mode 100644
index a5418f8..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/actions/DeleteCategoryAction.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 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
- *******************************************************************************/
-package org.eclipse.wst.common.snippets.internal.actions;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.palette.PaletteContainer;
-import org.eclipse.wst.common.snippets.core.ISnippetCategory;
-import org.eclipse.wst.common.snippets.internal.SnippetDefinitions;
-import org.eclipse.wst.common.snippets.internal.SnippetsMessages;
-import org.eclipse.wst.common.snippets.internal.SnippetsPlugin;
-import org.eclipse.wst.common.snippets.internal.ui.SnippetsView;
-
-public class DeleteCategoryAction extends AbstractCategoryAction {
-
-
-	public DeleteCategoryAction(SnippetsView viewer, PaletteContainer container) {
-		super(SnippetsMessages.Delete_1, viewer, container); //$NON-NLS-1$
-	}
-
-	public void run() {
-		super.run();
-		ISnippetCategory category = (ISnippetCategory) getContainer();
-		EditPart categoryPart = (EditPart) getViewer().getViewer().getEditPartRegistry().get(category);
-		if (categoryPart != null) {
-			SnippetDefinitions defs = SnippetsPlugin.getSnippetManager().getDefinitions();
-			defs.getCategories().remove(category);
-			EditPart parent = categoryPart.getParent();
-			parent.refresh();
-		}
-	}
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/actions/DeleteItemAction.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/actions/DeleteItemAction.java
deleted file mode 100644
index a1abd3e..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/actions/DeleteItemAction.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 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
- *******************************************************************************/
-package org.eclipse.wst.common.snippets.internal.actions;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.GraphicalViewer;
-import org.eclipse.gef.palette.PaletteEntry;
-import org.eclipse.wst.common.snippets.internal.SnippetsMessages;
-import org.eclipse.wst.common.snippets.internal.palette.SnippetPaletteDrawer;
-import org.eclipse.wst.common.snippets.internal.palette.SnippetPaletteItem;
-
-public class DeleteItemAction extends AbstractItemAction {
-
-	/*
-	 * @see IAction#run()
-	 */
-	/**
-	 * Constructor for DeleteItemAction.
-	 * 
-	 * @param viewer
-	 * @param entry
-	 */
-	public DeleteItemAction(GraphicalViewer viewer, PaletteEntry entry) {
-		super(viewer, entry);
-		setText(SnippetsMessages.Delete_1); //$NON-NLS-1$
-		setId("delete"); //$NON-NLS-1$
-	}
-
-	public void run() {
-		super.run();
-		SnippetPaletteItem item = (SnippetPaletteItem) getEntry();
-		EditPart itemPart = (EditPart) getViewer().getEditPartRegistry().get(item);
-		if (itemPart != null) {
-			SnippetPaletteDrawer category = (SnippetPaletteDrawer) item.getCategory();
-			EditPart categoryPart = itemPart.getParent();
-			category.remove(item);
-			categoryPart.refresh();
-		}
-	}
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/actions/LibraryItemUtility.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/actions/LibraryItemUtility.java
deleted file mode 100644
index f814717..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/actions/LibraryItemUtility.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 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
- *******************************************************************************/
-
-
-package org.eclipse.wst.common.snippets.internal.actions;
-
-import org.eclipse.wst.common.snippets.core.ISnippetItem;
-import org.eclipse.wst.common.snippets.core.ISnippetVariable;
-import org.eclipse.wst.common.snippets.internal.palette.SnippetPaletteItem;
-
-
-public class LibraryItemUtility {
-
-	public static void copyAttributes(ISnippetItem sourceItem, ISnippetItem targetItem) {
-		SnippetPaletteItem source = (SnippetPaletteItem) sourceItem;
-		SnippetPaletteItem target = (SnippetPaletteItem) targetItem;
-
-		target.setCategoryName(source.getCategoryName());
-		target.setClassName(source.getClassName());
-		target.setContentString(source.getContentString());
-		target.setDescription(source.getDescription());
-		target.setEditorClassName(source.getEditorClassName());
-		target.setIconName(source.getSmallIconName());
-		target.setId(source.getId());
-		target.setLabel(source.getLabel());
-		target.setLargeIconName(source.getLargeIconName());
-		target.setSourceDescriptor(source.getSourceDescriptor());
-		target.setSourceType(source.getSourceType());
-		target.setVisible(source.isVisible());
-		ISnippetVariable[] variables = target.getVariables();
-		for (int i = 0; i < variables.length; i++) {
-			target.removeVariable(variables[i]);
-		}
-		variables = source.getVariables();
-		for (int i = 0; i < variables.length; i++) {
-			target.addVariable(variables[i]);
-		}
-	}
-
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/dnd/SnippetTextDropAction.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/dnd/SnippetTextDropAction.java
deleted file mode 100644
index 5ead31a..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/dnd/SnippetTextDropAction.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 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
- *******************************************************************************/
-package org.eclipse.wst.common.snippets.internal.dnd;
-
-
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.text.TextSelection;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.swt.dnd.DropTargetEvent;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.wst.common.snippets.core.ISnippetItem;
-import org.eclipse.wst.common.snippets.internal.VariableItemHelper;
-import org.eclipse.wst.common.snippets.internal.ui.EntryDeserializer;
-
-public class SnippetTextDropAction {
-
-	protected String getInsertString(Shell host, ISnippetItem item) {
-		return VariableItemHelper.getInsertString(host, item, false);
-	}
-
-
-	protected ISnippetItem getItemData(DropTargetEvent event) {
-		ISnippetItem item = null;
-		if (event.data instanceof byte[]) {
-			item = (ISnippetItem) EntryDeserializer.getInstance().fromXML((byte[]) event.data);
-		}
-		return item;
-	}
-
-	/**
-	 * @see AbstractDropAction#run(DropTargetEvent, IEditorPart)
-	 */
-	public boolean run(DropTargetEvent event, IEditorPart targetEditor) {
-		boolean success = false;
-		if (event.data instanceof byte[]) {
-			final ISnippetItem item = getItemData(event);
-			final Shell shell = event.display.getActiveShell();
-			final IEditorPart editor = targetEditor;
-			if (item != null) {
-				Runnable inserter = new Runnable() {
-					public void run() {
-						String insertion = getInsertString(shell, item);
-						insert(insertion, editor);
-						editor.setFocus();
-					}
-				};
-				shell.getDisplay().asyncExec(inserter);
-				success = true;
-			}
-			else {
-				success = insert(new String((byte[]) event.data), targetEditor);
-			}
-		}
-		else if (event.data instanceof String) {
-			success = insert((String) event.data, targetEditor);
-		}
-		return success;
-	}
-	/*
-	 * Replaces targetEditor's current selection by "text"
-	 */
-	protected boolean insert(String text, IEditorPart targetEditor) {
-		if (text == null || text.length() == 0) {
-			return true;
-		}
-
-		ITextSelection textSelection = null;
-		IDocument doc = null;
-		ISelection selection = null;
-
-		ITextEditor textEditor = null;
-		if (targetEditor instanceof ITextEditor) {
-			textEditor = (ITextEditor) targetEditor;
-		}
-		if (textEditor == null) {
-			textEditor = (ITextEditor) ((IAdaptable) targetEditor).getAdapter(ITextEditor.class);
-		}
-
-		if (selection == null && textEditor != null) {
-			selection = textEditor.getSelectionProvider().getSelection();
-		}
-		if (doc == null && textEditor != null) {
-			doc = textEditor.getDocumentProvider().getDocument(textEditor.getEditorInput());
-		}
-
-		if (selection instanceof ITextSelection) {
-			textSelection = (ITextSelection) selection;
-			try {
-				doc.replace(textSelection.getOffset(), textSelection.getLength(), text);
-			}
-			catch (BadLocationException e) {
-				return false;
-			}
-		}
-		if (textEditor != null && textSelection != null) {
-			ISelectionProvider sp = textEditor.getSelectionProvider();
-			ITextSelection sel = new TextSelection(textSelection.getOffset(), text.length());
-			sp.setSelection(sel);
-			textEditor.selectAndReveal(sel.getOffset(), sel.getLength());
-		}
-
-		return true;
-	}
-
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/dnd/SnippetTextTransfer.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/dnd/SnippetTextTransfer.java
deleted file mode 100644
index f33cdf7..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/dnd/SnippetTextTransfer.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 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
- *******************************************************************************/
-package org.eclipse.wst.common.snippets.internal.dnd;
-
-import org.eclipse.swt.dnd.ByteArrayTransfer;
-
-public class SnippetTextTransfer extends ByteArrayTransfer {
-
-	private static SnippetTextTransfer instance;
-
-	private static final String LOCAL_NAME = "Text with Variables" + System.currentTimeMillis(); //$NON-NLS-1$
-	private static final int LOCAL_TYPE = registerType(LOCAL_NAME);
-
-	private static String[] names = null;
-	private static int types[] = null;
-
-	public static SnippetTextTransfer getTransferInstance() {
-		if (instance == null) {
-			instance = new SnippetTextTransfer();
-			init();
-		}
-		return instance;
-	}
-
-	private static void init() {
-		types = new int[]{LOCAL_TYPE};
-		names = new String[]{LOCAL_NAME};
-	}
-
-	private SnippetTextTransfer() {
-		super();
-	}
-
-	protected int[] getTypeIds() {
-		return types;
-	}
-
-	protected String[] getTypeNames() {
-		return names;
-	}
-
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/editors/ISnippetEditor.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/editors/ISnippetEditor.java
deleted file mode 100644
index 15f0f25..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/editors/ISnippetEditor.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 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
- *******************************************************************************/
-
-package org.eclipse.wst.common.snippets.internal.editors;
-
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.wst.common.snippets.core.ISnippetItem;
-import org.eclipse.wst.common.snippets.internal.palette.SnippetPaletteItem;
-
-/**
- * A snippet editor is responsible for creating the interface from which a
- * user modifies a snippet item or category.
- * 
- * This interface is not meant to be implemented by clients.
- */
-public interface ISnippetEditor {
-
-	/**
-	 * Adds a modify listener to this editor. Typically the UI surrounding
-	 * this editor will listen for modifications.
-	 * 
-	 * @param listener
-	 *            the to be added
-	 */
-	void addModifyListener(ModifyListener listener);
-
-	/**
-	 * Fill-in the contents of an editing Dialog.
-	 * 
-	 * @param parent
-	 *            the parent composite for the editor's control
-	 * @return the main control provided by the editor
-	 */
-	Control createContents(Composite parent);
-
-	/**
-	 * Get the ISnippetItem being edited.
-	 * 
-	 * @return the item being edited
-	 */
-	ISnippetItem getItem();
-
-	/**
-	 * Remove a modify listener from this editor. Typically the UI surrounding
-	 * this editor will listen for modifications.
-	 * 
-	 * @param listener
-	 *            the to be added
-	 */
-	void removeModifyListener(ModifyListener listener);
-
-	/**
-	 * Set the ISnippetItem to edit.
-	 * 
-	 * @param item
-	 *            the item to edit
-	 */
-	void setItem(SnippetPaletteItem item);
-
-	/**
-	 * Update the ISnippetItem being edited, usually because the values of the
-	 * dialog's controls have been changed or it is being closed.
-	 */
-	void updateItem();
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/editors/VariableItemEditor.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/editors/VariableItemEditor.java
deleted file mode 100644
index a25ad75..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/editors/VariableItemEditor.java
+++ /dev/null
@@ -1,541 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-package org.eclipse.wst.common.snippets.internal.editors;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextOperationTarget;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.contentassist.ContentAssistant;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
-import org.eclipse.jface.text.contentassist.IContentAssistant;
-import org.eclipse.jface.text.contentassist.IContextInformation;
-import org.eclipse.jface.text.contentassist.IContextInformationValidator;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.jface.text.source.SourceViewer;
-import org.eclipse.jface.text.source.SourceViewerConfiguration;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.accessibility.ACC;
-import org.eclipse.swt.accessibility.AccessibleAdapter;
-import org.eclipse.swt.accessibility.AccessibleEvent;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.custom.VerifyKeyListener;
-import org.eclipse.swt.events.ModifyEvent;
-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.VerifyEvent;
-import org.eclipse.swt.events.VerifyListener;
-import org.eclipse.swt.graphics.Image;
-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.Label;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.common.snippets.core.ISnippetItem;
-import org.eclipse.wst.common.snippets.core.ISnippetVariable;
-import org.eclipse.wst.common.snippets.internal.IHelpContextIds;
-import org.eclipse.wst.common.snippets.internal.Logger;
-import org.eclipse.wst.common.snippets.internal.SnippetsMessages;
-import org.eclipse.wst.common.snippets.internal.palette.SnippetPaletteItem;
-import org.eclipse.wst.common.snippets.internal.palette.SnippetVariable;
-import org.eclipse.wst.common.snippets.internal.ui.StringPropertyTableViewer;
-import org.eclipse.wst.common.snippets.internal.ui.ValueChangedListener;
-import org.eclipse.wst.common.snippets.internal.util.Sorter;
-import org.eclipse.wst.common.snippets.internal.util.StringUtils;
-
-import com.ibm.icu.text.Collator;
-
-/**
- * A snippet item editor that can define snippet variables
- */
-public class VariableItemEditor implements ISnippetEditor {
-	private static class CompletionProposalSorter extends Sorter {
-		Collator collator = Collator.getInstance();
-
-		public boolean compare(Object elementOne, Object elementTwo) {
-			/**
-			 * Returns true if elementTwo is 'greater than' elementOne This is
-			 * the 'ordering' method of the sort operation. Each subclass
-			 * overides this method with the particular implementation of the
-			 * 'greater than' concept for the objects being sorted.
-			 */
-			ICompletionProposal proposal1 = (ICompletionProposal) elementOne;
-			ICompletionProposal proposal2 = (ICompletionProposal) elementTwo;
-			return (collator.compare(proposal1.getDisplayString(), proposal2.getDisplayString())) < 0;
-		}
-	}
-
-	private class ItemEditorSourceViewerConfiguration extends SourceViewerConfiguration {
-		private IContentAssistProcessor fProcessor = null;
-
-		public ItemEditorSourceViewerConfiguration() {
-			super();
-			fProcessor = new IContentAssistProcessor() {
-				char[] autochars = new char[]{};
-
-				public ICompletionProposal[] computeCompletionProposals(ITextViewer viewer, int documentOffset) {
-					java.util.List vars = new ArrayList();
-					final ITextViewer textViewer = viewer;
-					Iterator keys = fTableViewer.getColumnData()[0].keySet().iterator();
-					while (keys.hasNext()) {
-						Object key = keys.next();
-						final String varID = (String) fTableViewer.getColumnData()[0].get(key);
-						if (varID != null) {
-							ICompletionProposal p = new ICompletionProposal() {
-								protected int fReplacementOffset = textViewer.getSelectedRange().x;
-								protected String varname = varID;
-
-								public void apply(IDocument document) {
-									try {
-										document.replace(textViewer.getSelectedRange().x, 0, "${" + getDisplayString() + "}"); //$NON-NLS-1$ //$NON-NLS-2$
-									}
-									catch (BadLocationException e) {
-										Logger.logException(e);
-									}
-								}
-
-								public String getAdditionalProposalInfo() {
-									return null;
-								}
-
-								public IContextInformation getContextInformation() {
-									return null;
-								}
-
-								public String getDisplayString() {
-									String display = varname;
-									if (display == null)
-										display = ""; //$NON-NLS-1$
-									return display;
-								}
-
-								public Image getImage() {
-									return null;
-								}
-
-								public Point getSelection(IDocument document) {
-									return new Point(fReplacementOffset + 3 + getDisplayString().length(), 0);
-								}
-							};
-							vars.add(p);
-						}
-					}
-					ICompletionProposal[] proposals = new ICompletionProposal[vars.size()];
-					vars.toArray(proposals);
-					return sortProposals(proposals);
-				}
-
-				public IContextInformation[] computeContextInformation(ITextViewer viewer, int documentOffset) {
-					return null;
-				}
-
-				public char[] getCompletionProposalAutoActivationCharacters() {
-					return autochars;
-				}
-
-				public char[] getContextInformationAutoActivationCharacters() {
-					return null;
-				}
-
-				public IContextInformationValidator getContextInformationValidator() {
-					return null;
-				}
-
-				public String getErrorMessage() {
-					return null;
-				}
-
-				public ICompletionProposal[] sortProposals(ICompletionProposal[] proposals) {
-					if (proposals == null || proposals.length == 0)
-						return proposals;
-					Object sortedProposals[] = new CompletionProposalSorter().sort(proposals);
-					List sortedList = new ArrayList();
-					for (int i = 0; i < sortedProposals.length; i++)
-						sortedList.add(sortedProposals[i]);
-					ICompletionProposal[] results = new ICompletionProposal[sortedProposals.length];
-					sortedList.toArray(results);
-					return results;
-				}
-			};
-		}
-
-		/*
-		 * @see SourceViewerConfiguration#getContentAssistant(ISourceViewer)
-		 */
-		public IContentAssistant getContentAssistant(ISourceViewer sourceViewer) {
-			ContentAssistant assistant = new ContentAssistant();
-			assistant.setContentAssistProcessor(fProcessor, IDocument.DEFAULT_CONTENT_TYPE);
-
-			assistant.enableAutoActivation(false);
-			assistant.setAutoActivationDelay(500);
-			assistant.setProposalPopupOrientation(IContentAssistant.PROPOSAL_OVERLAY);
-			assistant.setContextInformationPopupOrientation(IContentAssistant.CONTEXT_INFO_ABOVE);
-
-			// Color background= something;
-			// assistant.setContextInformationPopupBackground(background);
-			// assistant.setContextSelectorBackground(background);
-			// assistant.setProposalSelectorBackground(background);
-
-			return assistant;
-		}
-	}
-
-	protected StyledText content = null;
-	protected SnippetPaletteItem fItem = null;
-	protected StringPropertyTableViewer fTableViewer = null;
-	private ModifyListener modifyListener = null;
-
-	protected java.util.List modifyListeners = null;
-
-	public VariableItemEditor() {
-		super();
-	}
-
-	public void addModifyListener(ModifyListener listener) {
-		getListeners().add(listener);
-	}
-
-	public Control createContents(Composite parent) {
-		// create the contents of the variable editing dialog
-
-		// the container for the variables fTableViewer and new/remove buttons
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, IHelpContextIds.DIALOG_EDIT_VARITEM);
-
-		Composite variableComposite = new Composite(parent, SWT.NONE);
-		variableComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		((GridData) variableComposite.getLayoutData()).widthHint = parent.getDisplay().getClientArea().width / 3;
-		GridLayout sublayout = new GridLayout();
-		sublayout.numColumns = 2;
-		sublayout.marginWidth = 0;
-		sublayout.makeColumnsEqualWidth = false;
-		variableComposite.setLayout(sublayout);
-
-		Label nameLabel = new Label(variableComposite, SWT.NONE);
-		nameLabel.setText(SnippetsMessages.Variables__4); //$NON-NLS-1$
-		GridData doubleData = new GridData(GridData.FILL_HORIZONTAL);
-		nameLabel.setLayoutData(doubleData);
-
-		Label throwAway = new Label(variableComposite, SWT.NONE);
-		throwAway.setLayoutData(new GridData());
-
-		// saved and made final here to update the template text area below
-		final String nameProperty = SnippetsMessages.Name_5; //$NON-NLS-1$
-		fTableViewer = new StringPropertyTableViewer();
-		fTableViewer.setColumnNames(new String[]{nameProperty, SnippetsMessages.Description_6, SnippetsMessages.Default_Value_7}); //$NON-NLS-1$ //$NON-NLS-2$
-		fTableViewer.createContents(variableComposite);
-
-		GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL);
-		data.heightHint = fTableViewer.getTable().getItemHeight() * 6;
-		fTableViewer.getControl().setLayoutData(data);
-
-		// For now, each column gets its data from a separate hashtable. In
-		// each,
-		// the key is the ID of the variable with the values being the name,
-		// description, and default value.
-		ISnippetVariable[] variables = fItem.getVariables();
-		for (int i = 0; i < variables.length; i++) {
-			SnippetVariable var = (SnippetVariable) variables[i];
-			fTableViewer.getColumnData()[0].put(var.getId(), var.getName());
-			if (var.getDescription() != null)
-				fTableViewer.getColumnData()[1].put(var.getId(), var.getDescription());
-			else
-				fTableViewer.getColumnData()[1].put(var.getId(), ""); //$NON-NLS-1$
-			if (var.getDefaultValue() != null)
-				fTableViewer.getColumnData()[2].put(var.getId(), var.getDefaultValue());
-			else
-				fTableViewer.getColumnData()[2].put(var.getId(), ""); //$NON-NLS-1$
-		}
-		fTableViewer.refresh();
-
-		Composite variableButtons = new Composite(variableComposite, SWT.NULL);
-		variableButtons.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING | GridData.HORIZONTAL_ALIGN_END));
-		variableButtons.setLayout(new GridLayout());
-
-		// Add the New button with a listener to add a new variable without
-		// user
-		// input.
-		// TODO: for usability, throw up a dialog in the middle
-		Button addButton = new Button(variableButtons, SWT.PUSH);
-		addButton.setText(SnippetsMessages.New_1); //$NON-NLS-1$
-		addButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		addButton.addSelectionListener(new SelectionListener() {
-			public void widgetDefaultSelected(SelectionEvent e) {
-				widgetSelected(e);
-			}
-
-			public void widgetSelected(SelectionEvent e) {
-				int i = 1;
-				String newId = "name_" + i; //$NON-NLS-1$
-				// https://bugs.eclipse.org/bugs/show_bug.cgi?id=183699 - check both ID and visible name
-				while (fTableViewer.getColumnData()[0].containsKey(newId)||fTableViewer.getColumnData()[0].containsValue(newId)) {
-					newId = "name_" + i++; //$NON-NLS-1$
-				}
-				fTableViewer.getColumnData()[0].put(newId, newId);
-				fTableViewer.getColumnData()[1].put(newId, ""); //$NON-NLS-1$
-				fTableViewer.getColumnData()[2].put(newId, ""); //$NON-NLS-1$
-				fTableViewer.refresh();
-			}
-		});
-		// add the Remove button with a listener to enable it only when a
-		// cell is selected and in focus
-		final Button removeButton = new Button(variableButtons, SWT.PUSH);
-		removeButton.setText(SnippetsMessages.Remove_15); //$NON-NLS-1$
-		removeButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-		nameLabel = new Label(parent, SWT.NONE);
-		nameLabel.setText(SnippetsMessages.Template_Pattern__16); //$NON-NLS-1$
-		nameLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-		// create a source viewer for to edit the text (makes it easier to
-		// hook into content assist)
-		final SourceViewer sourceViewer = new SourceViewer(parent, null, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
-		sourceViewer.setEditable(true);
-		
-		// Update EOLs bug 80231
-		String systemEOL = System.getProperty("line.separator"); //$NON-NLS-1$
-		String text = StringUtils.replace(fItem.getContentString(), "\r\n", "\n"); //$NON-NLS-1$ //$NON-NLS-2$
-		text = StringUtils.replace(text, "\r", "\n"); //$NON-NLS-1$ //$NON-NLS-2$
-		if (!"\n".equals(systemEOL) && systemEOL != null) { //$NON-NLS-1$
-			text = StringUtils.replace(text, "\n", systemEOL); //$NON-NLS-1$
-		}
-		sourceViewer.setDocument(new Document(text));
-		
-		final SourceViewerConfiguration sourceViewerConfiguration = new ItemEditorSourceViewerConfiguration();
-		sourceViewer.configure(sourceViewerConfiguration);
-		content = sourceViewer.getTextWidget();
-		content.addModifyListener(getModifyListener());
-
-		// add a listener to the Remove button to remove the variable
-		// corresponding to the selected row
-		removeButton.addSelectionListener(new SelectionListener() {
-			public void widgetDefaultSelected(SelectionEvent e) {
-				widgetSelected(e);
-			}
-
-			public void widgetSelected(SelectionEvent e) {
-				Object id = fTableViewer.getSelection();
-				if (id == null)
-					return;
-				// remove from template as well
-				Object varKey = fTableViewer.getColumnData()[0].get(id);
-				String template = sourceViewer.getDocument().get();
-				sourceViewer.getDocument().set(StringUtils.replace(template, "${" + varKey + "}", "")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				fTableViewer.getColumnData()[0].remove(id);
-				fTableViewer.getColumnData()[1].remove(id);
-				fTableViewer.getColumnData()[2].remove(id);
-
-				// #222898, clear selection so that SWT errors are avoided
-				fTableViewer.getTable().setSelection(new int[0]);
-
-				fTableViewer.refresh();
-				removeButton.setEnabled(false);
-			}
-		});
-
-		GridData contentData = new GridData(GridData.FILL_BOTH);
-		contentData.heightHint = parent.getDisplay().getClientArea().height / 5;
-		content.setLayoutData(contentData);
-		content.setFont(org.eclipse.jface.resource.JFaceResources.getTextFont());
-		content.setHorizontalPixel(2);
-		// add a verify key listener to trigger the source viewer's undo
-		// action
-		content.addVerifyKeyListener(new VerifyKeyListener() {
-			public void verifyKey(VerifyEvent event) {
-				if (!event.doit)
-					return;
-				boolean doContentAssistOperation = (event.stateMask == SWT.CTRL && event.character == ' ');
-				if (doContentAssistOperation) {
-					sourceViewer.doOperation(ISourceViewer.CONTENTASSIST_PROPOSALS);
-					event.doit = false;
-				}
-				// CTRL-Z (derived from the JDT template editor's way of
-				// assigning the event.character)
-				else if (event.stateMask == SWT.CTRL && (event.character == ('z' - 'a' + 1))) {
-					sourceViewer.doOperation(ITextOperationTarget.UNDO);
-					event.doit = false;
-				}
-			}
-		});
-		// add a verify listener to trigger the source viewer's content assist
-		// and undo actions
-		// TODO: determine if this is duplicated effort
-		content.addVerifyListener(new VerifyListener() {
-			public void verifyText(VerifyEvent event) {
-				if (!event.doit || !((event.stateMask & SWT.CTRL) == 1))
-					return;
-				boolean doContentAssistOperation = (event.stateMask == SWT.CTRL && event.character == ' ');
-				// prevent inserting a space character when content assist is
-				// invoked
-				if (doContentAssistOperation) {
-					event.doit = false;
-				}
-				// CTRL-Z
-				else if (event.stateMask == SWT.CTRL && event.character == ('z' - 'a' + 1)) {
-					event.doit = false;
-				}
-			}
-		});
-
-		// specifically associate the template pattern label w/ the content
-		// styled text so screen reader reads it
-		setAccessible(content, SnippetsMessages.Template_Pattern__16); //$NON-NLS-1$
-
-		// add a value change listener to the fTableViewer so that changes to
-		// the name property of a variable
-		// will rewrite the template text to use the new name immediately
-		// TODO: verify with the user that this is OK with them
-		fTableViewer.addValueChangedListener(new ValueChangedListener() {
-			public void valueChanged(String key, String property, String oldValue, String newValue) {
-				if (property.equals(nameProperty)) {
-					String newText = StringUtils.replace(content.getText(), "${" + oldValue + "}", "${" + newValue + "}"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-					content.setText(newText);
-				}
-			}
-		});
-
-		/*
-		 * Add the "Insert Variable Placeholder" button to invoke content
-		 * assist like the JDT Template editor.
-		 * 
-		 * I'm not sure I like this idea as it's mostly a crutch for not
-		 * making content assist obviously available in the source viewer.
-		 */
-		final Button insertVariableButton = new Button(parent, SWT.PUSH);
-		insertVariableButton.setText(SnippetsMessages.Insert_Variable_17); //$NON-NLS-1$
-		insertVariableButton.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING | GridData.VERTICAL_ALIGN_BEGINNING));
-		insertVariableButton.setEnabled(fTableViewer.getTable().getItemCount() > 0);
-		insertVariableButton.addSelectionListener(new SelectionListener() {
-			public void widgetDefaultSelected(SelectionEvent e) {
-				widgetSelected(e);
-			}
-
-			public void widgetSelected(SelectionEvent e) {
-				// JDT template editor invokes Content Assist on a
-				// configured Java Source Viewer. Not that simple here.
-				sourceViewer.getTextWidget().setFocus();
-				sourceViewer.doOperation(ISourceViewer.CONTENTASSIST_PROPOSALS);
-			}
-		});
-
-		fTableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				insertVariableButton.setEnabled(fTableViewer.getTable().getItemCount() > 0);
-				removeButton.setEnabled(fTableViewer.getControl().isFocusControl() && event.getSelection() != null && (!event.getSelection().isEmpty()));
-			}
-		});
-
-		addButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				insertVariableButton.setEnabled(true);
-			}
-		});
-		removeButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetDefaultSelected(SelectionEvent e) {
-				insertVariableButton.setEnabled(fTableViewer.getTable().getItemCount() > 0);
-			}
-
-			public void widgetSelected(SelectionEvent e) {
-				insertVariableButton.setEnabled(fTableViewer.getTable().getItemCount() > 0);
-			}
-		});
-		// set the initial enabled state
-		removeButton.setEnabled(false);
-
-		return parent;
-	}
-
-	protected void fireModification(ModifyEvent e) {
-		Iterator i = getListeners().iterator();
-		updateItem();
-		while (i.hasNext())
-			((ModifyListener) (i.next())).modifyText(e);
-	}
-
-	public ISnippetItem getItem() {
-		return fItem;
-	}
-
-	private java.util.List getListeners() {
-		if (modifyListeners == null)
-			modifyListeners = new ArrayList();
-		return modifyListeners;
-	}
-
-	protected ModifyListener getModifyListener() {
-		if (modifyListener == null) {
-			modifyListener = new ModifyListener() {
-				public void modifyText(ModifyEvent e) {
-					fireModification(e);
-				}
-			};
-		}
-		return modifyListener;
-	}
-
-	public void removeModifyListener(ModifyListener listener) {
-		getListeners().remove(listener);
-	}
-
-	/**
-	 * Specifically set the reporting name of a control for accessibility
-	 */
-	private void setAccessible(Control control, String name) {
-		if (control == null)
-			return;
-		final String n = name;
-		control.getAccessible().addAccessibleListener(new AccessibleAdapter() {
-			public void getName(AccessibleEvent e) {
-				if (e.childID == ACC.CHILDID_SELF)
-					e.result = n;
-			}
-		});
-	}
-
-	public void setItem(SnippetPaletteItem item) {
-		fItem = item;
-	}
-
-	public void updateItem() {
-		String text = content.getText();
-		// Update related to bug 80231
-		text = StringUtils.replace(text, "\r\n", "\n"); //$NON-NLS-1$ //$NON-NLS-2$
-		text = StringUtils.replace(text, "\r", "\n"); //$NON-NLS-1$ //$NON-NLS-2$
-		fItem.setContentString(text);
-		
-		ISnippetVariable[] variables = fItem.getVariables();
-		for (int i = 0; i < variables.length; i++) {
-			fItem.removeVariable(variables[i]);
-		}
-		Iterator ids = fTableViewer.getColumnData()[0].keySet().iterator();
-		while (ids.hasNext()) {
-			Object key = ids.next();
-			SnippetVariable var = new SnippetVariable();
-			var.setId((String) key);
-			var.setName((String) fTableViewer.getColumnData()[0].get(key));
-			var.setDescription((String) fTableViewer.getColumnData()[1].get(key));
-			var.setDefaultValue((String) fTableViewer.getColumnData()[2].get(key));
-			fItem.addVariable(var);
-		}
-	}
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/model/SnippetManager.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/model/SnippetManager.java
deleted file mode 100644
index 7df3422..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/model/SnippetManager.java
+++ /dev/null
@@ -1,521 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2009 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
- *******************************************************************************/
-package org.eclipse.wst.common.snippets.internal.model;
-
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.xml.parsers.DocumentBuilder;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.gef.palette.PaletteContainer;
-import org.eclipse.wst.common.snippets.core.ISnippetCategory;
-import org.eclipse.wst.common.snippets.core.ISnippetsEntry;
-import org.eclipse.wst.common.snippets.internal.IEntryChangeListener;
-import org.eclipse.wst.common.snippets.internal.ISnippetManager;
-import org.eclipse.wst.common.snippets.internal.Logger;
-import org.eclipse.wst.common.snippets.internal.SnippetDefinitions;
-import org.eclipse.wst.common.snippets.internal.SnippetsPlugin;
-import org.eclipse.wst.common.snippets.internal.palette.ModelFactoryForPlugins;
-import org.eclipse.wst.common.snippets.internal.palette.ModelFactoryForUser;
-import org.eclipse.wst.common.snippets.internal.palette.SnippetPaletteDrawer;
-import org.eclipse.wst.common.snippets.internal.palette.SnippetPaletteItem;
-import org.eclipse.wst.common.snippets.internal.palette.SnippetPaletteRoot;
-import org.eclipse.wst.common.snippets.internal.palette.UserModelDumper;
-import org.eclipse.wst.common.snippets.internal.palette.WorkspaceModelDumper;
-import org.eclipse.wst.common.snippets.internal.team.CategoryFileInfo;
-import org.eclipse.wst.common.snippets.internal.util.CommonXML;
-import org.osgi.framework.Bundle;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.SAXException;
-
-
-/**
- * 
- * SnippetManager
- * 
- * Manages the Library model across multiple views
- */
-public class SnippetManager implements ISnippetManager, PropertyChangeListener {
-
-	private static final String STORAGE_FOLDER_NAME = "storage"; //$NON-NLS-1$
-
-	private static File hiddenStateFile = new File("/hidden.xml"); //$NON-NLS-1$
-
-	private static SnippetManager instance = null;
-
-	public synchronized static SnippetManager getInstance() {
-		if (instance == null) {
-			instance = new SnippetManager();
-			try {
-				hiddenStateFile = SnippetsPlugin.getDefault().getStateLocation().append("hidden.xml").toFile();
-			}
-			catch (Exception e) {
-				hiddenStateFile = new File("/hidden.xml"); //$NON-NLS-1$
-			}
-			
-			try {
-				File storageLocation = SnippetsPlugin.getDefault().getStateLocation().append(STORAGE_FOLDER_NAME).toFile();
-				storageLocation.mkdirs();
-			}
-			catch (SecurityException e) {
-				Logger.logException(e);
-			}
-			// hook resource listener and load categories from workspace
-			// nsd_TODO: disable in-workspace support until fully stabilized
-			// SnippetsPlugin.getDefault().initializeResourceChangeListener();
-		}
-		return instance;
-	}
-
-	private SnippetDefinitions definitions = null;
-
-	protected IEntryChangeListener[] fListeners;
-
-	private SnippetPaletteRoot fRoot;
-
-	public SnippetManager() {
-		super();
-	}
-
-	public void addEntryChangeListener(IEntryChangeListener listener) {
-		if (fListeners == null) {
-			fListeners = new IEntryChangeListener[]{listener};
-		}
-		else {
-			IEntryChangeListener[] newListeners = new IEntryChangeListener[fListeners.length + 1];
-			newListeners[0] = listener;
-			System.arraycopy(fListeners, 0, newListeners, 1, fListeners.length);
-			fListeners = newListeners;
-		}
-	}
-
-	protected ISnippetsEntry findEntry(SnippetDefinitions defs, String id) {
-		List categories = defs.getCategories();
-		ISnippetsEntry match = null;
-		for (int i = 0; match == null && i < categories.size(); i++) {
-			SnippetPaletteDrawer category = (SnippetPaletteDrawer) categories.get(i);
-			if (category.getId().equals(id)) {
-				match = category;
-			}
-			else {
-				for (int j = 0; match == null && j < category.getChildren().size(); j++) {
-					SnippetPaletteItem item = (SnippetPaletteItem) category.getChildren().get(j);
-					if (item.getId().equals(id)) {
-						match = item;
-					}
-				}
-			}
-		}
-		return match;
-	}
-
-	/**
-	 * Find a ISnippetsEntry by it's ID field. Not at all efficient.
-	 * 
-	 * @param id
-	 * @return
-	 */
-	public ISnippetsEntry findEntry(String id) {
-		return findEntry(getDefinitions(), id);
-	}
-
-	/**
-	 * @param oldDefinitions
-	 * @param newDefinitions
-	 */
-	private void fireModelChanged(SnippetDefinitions oldDefinitions, SnippetDefinitions newDefinitions) {
-		if (fListeners == null)
-			return;
-		for (int i = 0; i < fListeners.length; i++)
-			fListeners[i].modelChanged(oldDefinitions, newDefinitions);
-	}
-
-	/**
-	 * @return
-	 */
-	public SnippetDefinitions getDefinitions() {
-		if (definitions == null) {
-			synchronized (getInstance()) {
-				// load definitions
-				definitions = loadDefinitions();
-				if (fRoot == null) {
-					fRoot = new SnippetPaletteRoot(definitions);
-				}
-				// hide categories so marked
-				String[] hiddenIDs = loadHiddenState();
-				for (int i = 0; i < hiddenIDs.length; i++) {
-					ISnippetsEntry entry = findEntry(definitions, hiddenIDs[i]);
-					if (entry != null) {
-						if (entry instanceof SnippetPaletteItem) {
-							((SnippetPaletteItem) entry).setVisible(false);
-						}
-						if (entry instanceof SnippetPaletteDrawer) {
-							((SnippetPaletteDrawer) entry).setVisible(false);
-						}
-					}
-				}
-			}
-		}
-		return definitions;
-	}
-
-	/**
-	 * @return
-	 */
-	public IEntryChangeListener[] getListeners() {
-		return fListeners;
-	}
-
-	public SnippetPaletteRoot getPaletteRoot() {
-		if (fRoot == null) {
-			fRoot = new SnippetPaletteRoot(getDefinitions());
-		}
-		return fRoot;
-	}
-
-	/**
-	 * @return
-	 */
-	protected SnippetDefinitions loadDefinitions() {
-		// nsd_TODO: Ensure selection is constant across views
-		// (LibrarySelectionManager?)
-		SnippetDefinitions defs = new SnippetDefinitions();
-
-		// Load all of the definitions from their sources (probably could
-		// break
-		// this into extensions with providers)
-		SnippetDefinitions pluginDefs = ModelFactoryForPlugins.getInstance().loadCurrent();
-		if (Logger.DEBUG_DEFINITION_PERSISTENCE)
-			System.out.println("SnippetManager loaded " + pluginDefs.getCategories().size() + " categories from plug-ins"); //$NON-NLS-1$ //$NON-NLS-2$
-		SnippetDefinitions userDefs = ModelFactoryForUser.getInstance().loadCurrent();
-		if (Logger.DEBUG_DEFINITION_PERSISTENCE)
-			System.out.println("SnippetManager loaded " + userDefs.getCategories().size() + " records for categories from user.xml"); //$NON-NLS-1$ //$NON-NLS-2$
-		// SnippetDefinitions sharedDefs =
-		// ModelFactoryForWorkspace.getInstance().loadCurrent();
-		// if (Logger.debugDefinitionPersistence)
-		// System.out.println("SnippetManager loaded " +
-		// userDefs.getCategories().size() + " records for categories from
-		// workspace"); //$NON-NLS-1$ //$NON-NLS-2$
-
-		// the user categories also store placeholders for the non-user
-		// categories
-		defs.getCategories().addAll(userDefs.getCategories());
-
-		// Merge plugin drawers by replacing the placeholder drawers with the
-		// ones generated from the plugins
-		for (int i = 0; i < pluginDefs.getCategories().size(); i++) {
-			SnippetPaletteDrawer category = (SnippetPaletteDrawer) pluginDefs.getCategories().get(i);
-			String id = category.getId();
-			ISnippetsEntry existingEntry = findEntry(defs, id);
-			int existingIndex = defs.getCategories().indexOf(existingEntry);
-			if (existingEntry != null && existingIndex > -1) {
-				// copy filters from existingEntry to pluginDefs category
-				category.setFilters(existingEntry.getFilters());
-				defs.getCategories().set(existingIndex, category);
-			}
-			else {
-				defs.getCategories().add(category);
-			}
-		}
-
-		// TODO: Merge workspace drawers
-
-		// Remove stale plugin/workspace contributed drawers
-		// Place-holders are stored without children so any that are not
-		// refilled
-		// should be removed. Empty contributed drawers will be removed as
-		// well.
-		Iterator it = defs.getCategories().iterator();
-		while (it.hasNext()) {
-			SnippetPaletteDrawer category = (SnippetPaletteDrawer) it.next();
-			if (category.getSourceType() != ISnippetsEntry.SNIPPET_SOURCE_USER && category.getChildren().isEmpty())
-				it.remove();
-		}
-
-		return defs;
-	}
-
-	/**
-	 * Load the list of categories that aren't to be visible
-	 */
-	protected String[] loadHiddenState() {
-		Document document = null;
-		String[] results = new String[0];
-		try {
-			DocumentBuilder builder = CommonXML.getDocumentBuilder();
-			if (builder != null) {
-				document = builder.parse(hiddenStateFile);
-			}
-			else {
-				Logger.log(Logger.ERROR, "SnippetManager couldn't obtain a DocumentBuilder"); //$NON-NLS-1$
-			}
-		}
-		catch (FileNotFoundException e) {
-			// typical of new workspace, don't log it
-			document = null;
-		}
-		catch (IOException e) {
-			Logger.logException("SnippetManager could not load hidden state", e); //$NON-NLS-1$
-		}
-		catch (SAXException e) {
-			Logger.logException("SnippetManager could not load hidden state", e); //$NON-NLS-1$
-		}
-		if (document != null) {
-			List names = new ArrayList(0);
-			Element hidden = document.getDocumentElement();
-			if (hidden != null) {
-				NodeList list = hidden.getChildNodes();
-				for (int i = 0; i < list.getLength(); i++) {
-					Node childNode = list.item(i);
-					if (childNode.getNodeType() == Node.ELEMENT_NODE && childNode.getNodeName().equals(SnippetsPlugin.NAMES.HIDE)) {
-						Element entry = (Element) childNode;
-						String id = null;
-						if (entry.hasAttribute(SnippetsPlugin.NAMES.CATEGORY)) {
-							id = entry.getAttribute(SnippetsPlugin.NAMES.CATEGORY);
-						}
-						else if (entry.hasAttribute(SnippetsPlugin.NAMES.ITEM)) {
-							id = entry.getAttribute(SnippetsPlugin.NAMES.ITEM);
-						}
-						if (id != null && id.length() > 0) {
-							names.add(id);
-						}
-					}
-				}
-				results = (String[]) names.toArray(results);
-			}
-		}
-		if (Logger.DEBUG_DEFINITION_PERSISTENCE)
-			System.out.println("SnippetManager remembered " + results.length + " hidden categories"); //$NON-NLS-1$ //$NON-NLS-2$
-		return results;
-	}
-
-	/**
-	 * @see java.beans.PropertyChangeListener#propertyChange(java.beans.PropertyChangeEvent)
-	 */
-	public void propertyChange(PropertyChangeEvent evt) {
-		if (evt.getPropertyName().equals(PaletteContainer.PROPERTY_CHILDREN)) {
-			SnippetDefinitions oldDefinitions = getDefinitions();
-			definitions = new SnippetDefinitions();
-			definitions.setCategories((List) evt.getNewValue());
-			fireModelChanged(oldDefinitions, definitions);
-		}
-	}
-
-	public void removeEntryChangeListener(IEntryChangeListener listener) {
-		if (fListeners.length == 1) {
-			fListeners = null;
-		}
-		else {
-			List newListenersList = new ArrayList(Arrays.asList(fListeners));
-			newListenersList.remove(listener);
-			IEntryChangeListener[] newListeners = new IEntryChangeListener[newListenersList.size() - 1];
-			newListeners = (IEntryChangeListener[]) newListenersList.toArray(newListeners);
-			fListeners = newListeners;
-		}
-	}
-
-	public void resetDefinitions() {
-		SnippetDefinitions oldDefinitions = definitions;
-		definitions = null;
-		if (fRoot != null)
-			fRoot.setDefinitions(getDefinitions());
-		fireModelChanged(oldDefinitions, getDefinitions());
-	}
-
-	public synchronized void saveDefinitions() {
-		if (definitions == null)
-			return;
-
-		// save the list of categories to not see
-		saveHiddenState();
-		if (Logger.DEBUG_DEFINITION_PERSISTENCE)
-			System.out.println("SnippetManager saved hidden state"); //$NON-NLS-1$
-
-		// save the model
-		UserModelDumper.getInstance().write(getDefinitions());
-		if (Logger.DEBUG_DEFINITION_PERSISTENCE)
-			System.out.println("SnippetManager wrote user records"); //$NON-NLS-1$
-		List categories = getDefinitions().getCategories();
-		final List workspaceCategories = new ArrayList();
-		for (int i = 0; i < categories.size(); i++) {
-			ISnippetCategory category = (ISnippetCategory) categories.get(i);
-			if (category.getSourceType() == ISnippetsEntry.SNIPPET_SOURCE_WORKSPACE) {
-				CategoryFileInfo info = (CategoryFileInfo) category.getSourceDescriptor();
-				if (info != null && info.getFile() != null) {
-					workspaceCategories.add(info);
-				}
-			}
-		}
-		for (int i = 0; i < workspaceCategories.size(); i++) {
-			CategoryFileInfo info = (CategoryFileInfo) workspaceCategories.get(i);
-			try {
-				if (Logger.DEBUG_DEFINITION_PERSISTENCE)
-					System.out.println("save workspace category: " + info.getCategory().getLabel()); //$NON-NLS-1$
-				WorkspaceModelDumper.getInstance().write(info.getCategory(), info.getFile());
-			}
-			catch (Exception e) {
-				Logger.logException(e);
-			}
-		}
-	}
-
-	/**
-	 * Save the list of categories that aren't visible
-	 */
-	protected void saveHiddenState() {
-		Document document = CommonXML.getDocumentBuilder().getDOMImplementation().createDocument(null, "hidden", null); //$NON-NLS-1$
-		try {
-			FileOutputStream ostream = new FileOutputStream(hiddenStateFile);
-			List categoryIDs = new ArrayList(0);
-			List itemIDs = new ArrayList(0);
-			// collect all of the hidden entry IDs
-			for (int i = 0; i < getDefinitions().getCategories().size(); i++) {
-				SnippetPaletteDrawer category = (SnippetPaletteDrawer) getDefinitions().getCategories().get(i);
-				if (!category.isVisible() && !categoryIDs.contains(category.getId())) {
-					categoryIDs.add(category.getId());
-				}
-				for (int j = 0; j < category.getChildren().size(); j++) {
-					SnippetPaletteItem entry = (SnippetPaletteItem) category.getChildren().get(j);
-					if (!entry.isVisible() && !itemIDs.contains(entry.getId())) {
-						itemIDs.add(entry.getId());
-					}
-				}
-			}
-			// save those IDs in <hide category="id"/> tags
-			for (int j = 0; j < categoryIDs.size(); j++) {
-				Element hidden = document.createElement(SnippetsPlugin.NAMES.HIDE);
-				hidden.setAttribute(SnippetsPlugin.NAMES.CATEGORY, categoryIDs.get(j).toString());
-				document.getDocumentElement().appendChild(hidden);
-			}
-			for (int j = 0; j < itemIDs.size(); j++) {
-				Element hidden = document.createElement(SnippetsPlugin.NAMES.HIDE);
-				hidden.setAttribute(SnippetsPlugin.NAMES.ITEM, itemIDs.get(j).toString());
-				document.getDocumentElement().appendChild(hidden);
-			}
-			CommonXML.serialize(document, ostream);
-			ostream.close();
-		}
-		catch (IOException e) {
-			Logger.logException(e);
-		}
-	}
-	
-	/**
-	 * @param id
-	 * @return the computed storage location for a snippet with this ID
-	 */
-	public IPath getStorageLocation(String id) {
-		Bundle bundle = Platform.getBundle(SnippetsPlugin.BUNDLE_ID);
-		return Platform.getStateLocation(bundle).append(STORAGE_FOLDER_NAME).addTrailingSeparator().append(id);
-	}
-	
-	/**
-	 * Helper method for saving resources in designated snippet resource folder.
-	 * 
-	 * @param snippetId - UID of the snippet that is saving content.
-	 * @param pathList - Project relative path list. The resources are copied in the same structure 
-	 * 					 in the storage path. e.g. having test.jsp file in project root will result in
-	 * 					 test.jsp in the storage root. If the jsp  is in [Project Root]/resources/test.jsp
-	 * 					 this will result in [Snippet Storage Root]/resources/test.jsp 
-	 * @return
-	 */
-	public IStatus moveFilesInStorageFolder(IPath snippetStorage, IPath[] pathList, IProject project){
-		File storageFolder = new File(snippetStorage.toOSString());
-		if (!storageFolder.exists()){
-			if (!storageFolder.mkdirs()){
-				return createErrorStatus("Could not create snippet storage folder.", null);
-			}
-		}
-		for (int i = 0; i < pathList.length; i++) {
-			IFile file = project.getFile(pathList[i]);
-			IPath destPath = snippetStorage.append(pathList[i]);
-			File destination = new File(destPath.toOSString());
-			if (!destination.getParentFile().exists()){
-				if (!destination.getParentFile().mkdirs()){
-					return createErrorStatus("Could not create snippet storage folder.", null);
-				}
-			}	
-			try {
-				copy(file, destination);
-			} catch (FileNotFoundException e) {
-				return createErrorStatus(e.getLocalizedMessage(), e);
-			} catch (IOException e) {
-				return createErrorStatus(e.getLocalizedMessage(), e);
-			} catch (CoreException e) {
-				return e.getStatus();
-			}
-		}
-		
-		return Status.OK_STATUS;
-	}
-	
-	public IStatus moveFilesInWorkspace(File[] fileList, IProject target, IPath storagePath) {
-		for (int i = 0; i < fileList.length; i++) {
-			String fileRelativePath = fileList[i].getAbsolutePath().substring(storagePath.toOSString().length());
-			IFile ifile = target.getFile(new Path(fileRelativePath));
-			try {
-				ifile.create(new FileInputStream(fileList[i]), true, new NullProgressMonitor());
-			} catch (FileNotFoundException e) {
-				return createErrorStatus(e.getLocalizedMessage(), e);
-			} catch (CoreException e) {
-				return createErrorStatus(e.getLocalizedMessage(), e);
-			}
-		}
-		
-		return Status.OK_STATUS;
-	}
-	
-	private void copy(IFile source, File destination) throws FileNotFoundException, IOException, CoreException{
-		copy(source.getContents(), new FileOutputStream(destination));
-	}	
-	
-	private void copy(InputStream in, OutputStream out) throws IOException {
-		byte[] buffer = new byte[4096];
-		try {
-			int n = in.read(buffer);
-			while (n > 0) {
-				out.write(buffer, 0, n);
-				n = in.read(buffer);
-			}
-		} finally {
-			in.close();
-			out.close();
-		}
-	}
-	
-	private IStatus createErrorStatus(String msg, Exception e) {
-		return new Status(IStatus.ERROR, SnippetsPlugin.BUNDLE_ID, msg, e);
-	}	
-
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/palette/AbstractModelFactory.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/palette/AbstractModelFactory.java
deleted file mode 100644
index 8771da9..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/palette/AbstractModelFactory.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2009 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
- *******************************************************************************/
-package org.eclipse.wst.common.snippets.internal.palette;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.gef.palette.PaletteDrawer;
-import org.eclipse.wst.common.snippets.core.ISnippetVariable;
-import org.eclipse.wst.common.snippets.core.ISnippetsEntry;
-import org.eclipse.wst.common.snippets.internal.Logger;
-import org.eclipse.wst.common.snippets.internal.SnippetDefinitions;
-import org.eclipse.wst.common.snippets.internal.SnippetsPlugin;
-import org.eclipse.wst.common.snippets.internal.util.SnippetProviderManager;
-
-public abstract class AbstractModelFactory {
-
-	public AbstractModelFactory() {
-		super();
-	}
-
-	protected void connectItemsAndCategories(SnippetDefinitions definitions) {
-		Iterator iterator = definitions.getCategories().iterator();
-		while (iterator.hasNext()) {
-			SnippetPaletteDrawer category = (SnippetPaletteDrawer) iterator.next();
-			category.getChildren().clear();
-		}
-
-		iterator = definitions.getItems().iterator();
-		while (iterator.hasNext()) {
-			SnippetPaletteItem item = (SnippetPaletteItem) iterator.next();
-			SnippetPaletteDrawer parentCategory = (SnippetPaletteDrawer) definitions.getCategory(item.getCategoryName());
-			if (parentCategory != null) {
-				parentCategory.add(item);
-			}
-			else {
-				Logger.log(Logger.WARNING, "Rejecting item " + item.getId() + " in missing category " + item.getCategoryName()); //$NON-NLS-1$ //$NON-NLS-2$
-				iterator.remove();
-			}
-		}
-
-	}
-
-	public SnippetPaletteDrawer createCategory(Object source) {
-		String id = getID(source);
-		if (id == null || id.length() == 0)
-			return null;
-
-		SnippetPaletteDrawer drawer = new SnippetPaletteDrawer(id);
-		drawer.setType(PaletteDrawer.PALETTE_TYPE_DRAWER);
-		setProperties(drawer, source);
-
-		migrate50to51(drawer);
-
-		return drawer;
-	}
-
-	public SnippetPaletteItem createItem(Object source) {
-		String id = getID(source);
-		if (id == null || id.length() == 0)
-			return null;
-
-		SnippetPaletteItem item = new SnippetPaletteItem(id);
-		item.setDescription(""); //$NON-NLS-1$
-		setProperties(item, source);
-
-		migrate50to51(item);
-		
-		return item;
-	}
-
-	public ISnippetVariable createVariable(Object source) {
-		if (source == null)
-			return null;
-		SnippetVariable var = new SnippetVariable();
-		setProperties(var, source);
-		return var;
-	}
-
-	protected List createVariables(Object[] sources) {
-		if (sources == null || sources.length < 1)
-			return null;
-		List variables = new ArrayList(sources.length);
-		for (int i = 0; i < sources.length; i++) {
-			ISnippetVariable variable = createVariable(sources[i]);
-			if (variable != null)
-				variables.add(variable);
-		}
-		return variables;
-	}
-
-	protected abstract String getID(Object source);
-
-	public abstract SnippetDefinitions loadCurrent();
-
-	protected void migrate50to51(ISnippetsEntry entry) {
-		if (entry.getDescription() != null && entry.getDescription().length() > 0 && (entry.getLabel() == null || entry.getLabel().length() == 0)) {
-			if (entry instanceof SnippetPaletteItem) {
-				((SnippetPaletteItem) entry).setLabel(entry.getDescription());
-				((SnippetPaletteItem) entry).setDescription(""); //$NON-NLS-1$
-			}
-			if (entry instanceof SnippetPaletteDrawer) {
-				((SnippetPaletteDrawer) entry).setLabel(entry.getDescription());
-				((SnippetPaletteDrawer) entry).setDescription(""); //$NON-NLS-1$
-			}
-		}
-	}
-
-	protected void setEntryProperty(ISnippetsEntry entry, String property, Object value) {
-		if (property == null || value == null)
-			return;
-		if (entry instanceof SnippetPaletteItem) {
-			if (property.equals(SnippetsPlugin.NAMES.DESCRIPTION))
-				((SnippetPaletteItem) entry).setDescription(value.toString());
-			else if (property.equals(SnippetsPlugin.NAMES.SMALLICON))
-				((SnippetPaletteItem) entry).setIconName(value.toString());
-			else if (property.equals(SnippetsPlugin.NAMES.ID))
-				((SnippetPaletteItem) entry).setId(value.toString());
-			else if (property.equals(SnippetsPlugin.NAMES.LABEL))
-				((SnippetPaletteItem) entry).setLabel(value.toString());
-			else if (property.equals(SnippetsPlugin.NAMES.LARGEICON))
-				((SnippetPaletteItem) entry).setLargeIconName(value.toString());
-			else if (property.equals("filters")) //$NON-NLS-1$
-				((SnippetPaletteItem) entry).setFilters((String[]) value);
-		}
-		if (entry instanceof SnippetPaletteDrawer) {
-			if (property.equals(SnippetsPlugin.NAMES.DESCRIPTION))
-				((SnippetPaletteDrawer) entry).setDescription(value.toString());
-			else if (property.equals(SnippetsPlugin.NAMES.SMALLICON))
-				((SnippetPaletteDrawer) entry).setIconName(value.toString());
-			else if (property.equals(SnippetsPlugin.NAMES.ID))
-				((SnippetPaletteDrawer) entry).setId(value.toString());
-			else if (property.equals(SnippetsPlugin.NAMES.LABEL))
-				((SnippetPaletteDrawer) entry).setLabel(value.toString());
-			else if (property.equals(SnippetsPlugin.NAMES.LARGEICON))
-				((SnippetPaletteDrawer) entry).setLargeIconName(value.toString());
-			else if (property.equals("filters")) //$NON-NLS-1$
-				((SnippetPaletteDrawer) entry).setFilters((String[]) value);
-		}
-	}
-
-	protected abstract void setProperties(SnippetPaletteDrawer category, Object source);
-
-	protected abstract void setProperties(SnippetPaletteItem item, Object source);
-
-	protected abstract void setProperties(SnippetVariable variable, Object source);
-
-	protected void setProperty(SnippetPaletteDrawer category, String property, Object value) {
-		if (property == null || value == null)
-			return;
-		else if (property.equals(SnippetsPlugin.NAMES.SHOW))
-			category.setVisible(Boolean.valueOf(value.toString()).booleanValue());
-		else
-			setEntryProperty(category, property, value);
-	}
-
-	protected void setProperty(SnippetPaletteItem item, String property, Object value) {
-		if (property == null)
-			return;
-		Object propertyValue = value;
-		if (propertyValue == null) {
-			propertyValue = ""; //$NON-NLS-1$
-		}
-		if (property.equals(SnippetsPlugin.NAMES.CATEGORY))
-			item.setCategoryName(propertyValue.toString());
-		else if (property.equals(SnippetsPlugin.NAMES.CLASSNAME))
-			item.setClassName(propertyValue.toString());
-		else if (property.equals(SnippetsPlugin.NAMES.CONTENT))
-			item.setContentString(propertyValue.toString());
-		else if (property.equals(SnippetsPlugin.NAMES.EDITORCLASSNAME))
-			item.setEditorClassName(propertyValue.toString());
-		else if (property.equals(SnippetsPlugin.NAMES.PROVIDER_ID))
-			item.setProvider(SnippetProviderManager.findProvider(propertyValue.toString()));
-		else
-			setEntryProperty(item, property, propertyValue);
-	}
-
-	protected void setProperty(SnippetVariable variable, String property, Object value) {
-		if (property == null)
-			return;
-		Object propertyValue = value;
-		if (propertyValue == null) {
-			propertyValue = ""; //$NON-NLS-1$
-		}
-		if (property.equals(SnippetsPlugin.NAMES.DEFAULT))
-			variable.setDefaultValue(propertyValue.toString());
-		else if (property.equals(SnippetsPlugin.NAMES.DESCRIPTION))
-			variable.setDescription(propertyValue.toString());
-		else if (property.equals(SnippetsPlugin.NAMES.NAME))
-			variable.setName(propertyValue.toString());
-		else if (property.equals(SnippetsPlugin.NAMES.ID))
-			variable.setId(propertyValue.toString());
-	}
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/palette/ModelFactoryForPlugins.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/palette/ModelFactoryForPlugins.java
deleted file mode 100644
index fb513d2..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/palette/ModelFactoryForPlugins.java
+++ /dev/null
@@ -1,201 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 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
- *******************************************************************************/
-package org.eclipse.wst.common.snippets.internal.palette;
-
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.PluginVersionIdentifier;
-import org.eclipse.gef.palette.PaletteDrawer;
-import org.eclipse.gef.palette.PaletteEntry;
-import org.eclipse.wst.common.snippets.core.ISnippetCategory;
-import org.eclipse.wst.common.snippets.core.ISnippetVariable;
-import org.eclipse.wst.common.snippets.core.ISnippetsEntry;
-import org.eclipse.wst.common.snippets.internal.Logger;
-import org.eclipse.wst.common.snippets.internal.PluginRecord;
-import org.eclipse.wst.common.snippets.internal.SnippetDefinitions;
-import org.eclipse.wst.common.snippets.internal.SnippetsPlugin;
-import org.eclipse.wst.common.snippets.internal.util.StringUtils;
-import org.osgi.framework.Bundle;
-
-public class ModelFactoryForPlugins extends AbstractModelFactory {
-	private static ModelFactoryForPlugins instance = null;
-
-	public synchronized static ModelFactoryForPlugins getInstance() {
-		if (instance == null)
-			instance = new ModelFactoryForPlugins();
-		return instance;
-	}
-
-	public ModelFactoryForPlugins() {
-		super();
-	}
-
-	protected void addDefinitionFromExtension(SnippetDefinitions definitions, IConfigurationElement element) {
-		String name = element.getName();
-		if (name.equals(SnippetsPlugin.NAMES.CATEGORY)) {
-			ISnippetCategory category = createCategory(element);
-			if (category != null) {
-				assignSource(category, definitions, element);
-				definitions.getCategories().add(category);
-				if (Logger.DEBUG_DEFINITION_PERSISTENCE) {
-					System.out.println("Plugin reader creating category " + ((SnippetPaletteDrawer) category).getId()); //$NON-NLS-1$
-				}
-
-				// add items for category
-				IConfigurationElement[] children = element.getChildren(SnippetsPlugin.NAMES.ITEM);
-				for (int i = 0; i < children.length; i++) {
-					IConfigurationElement child = children[i];
-					SnippetPaletteItem item = createItem(child);
-					if (item != null) {
-						// add item's associated category
-						setProperty(item, SnippetsPlugin.NAMES.CATEGORY, element.getAttribute(SnippetsPlugin.NAMES.ID));
-						assignSource(item, definitions, element);
-						definitions.getItems().add(item);
-						if (Logger.DEBUG_DEFINITION_PERSISTENCE)
-							System.out.println("Plugin reader creating item " + item.getId()); //$NON-NLS-1$
-					}
-				}
-			}
-		}
-	}
-
-	protected void assignSource(ISnippetsEntry entry, SnippetDefinitions definitions, IConfigurationElement element) {
-		PluginRecord record = getPluginRecordFor(definitions, element);
-		if (entry instanceof SnippetPaletteItem) {
-			((SnippetPaletteItem) entry).setSourceType(ISnippetsEntry.SNIPPET_SOURCE_PLUGINS);
-			((SnippetPaletteItem) entry).setSourceDescriptor(record);
-		}
-		if (entry instanceof SnippetPaletteDrawer) {
-			((SnippetPaletteDrawer) entry).setSourceType(ISnippetsEntry.SNIPPET_SOURCE_PLUGINS);
-			((SnippetPaletteDrawer) entry).setSourceDescriptor(record);
-		}
-		((PaletteEntry) entry).setUserModificationPermission(PaletteEntry.PERMISSION_HIDE_ONLY);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.common.snippets.internal.palette.AbstractModelFactory#createCategory(java.lang.Object)
-	 */
-	public SnippetPaletteDrawer createCategory(Object source) {
-		SnippetPaletteDrawer result = super.createCategory(source);
-		if (result != null)
-			result.setInitialState(PaletteDrawer.INITIAL_STATE_CLOSED);
-		return result;
-	}
-
-	protected String[] getDefaultFilters() {
-		return new String[]{"*"}; //$NON-NLS-1$
-	}
-
-	protected String getID(Object source) {
-		if (source instanceof IConfigurationElement)
-			return ((IConfigurationElement) source).getAttribute(SnippetsPlugin.NAMES.ID);
-		return null;
-	}
-
-	protected PluginRecord getPluginRecordFor(SnippetDefinitions definitions, IConfigurationElement element) {
-		String id = element.getDeclaringExtension().getNamespace();
-		Bundle bundle = Platform.getBundle(id);
-		String version = (String) bundle.getHeaders().get(org.osgi.framework.Constants.BUNDLE_VERSION);
-		PluginVersionIdentifier identifier = new PluginVersionIdentifier(version);
-
-		PluginRecord record = new PluginRecord();
-		record.setPluginName(id);
-		record.setPluginVersion(identifier.toString());
-		if (Logger.DEBUG_DEFINITION_PERSISTENCE)
-			System.out.println("Plugin reader creating plugin record for " + record.getPluginName() + "/" + record.getPluginVersion()); //$NON-NLS-1$ //$NON-NLS-2$
-		return record;
-	}
-
-	public SnippetDefinitions loadCurrent() {
-		IExtensionRegistry extensionRegistry = Platform.getExtensionRegistry();
-		IExtensionPoint point = extensionRegistry.getExtensionPoint(SnippetsPlugin.BUNDLE_ID, SnippetsPlugin.NAMES.EXTENSION_POINT_ID);
-		SnippetDefinitions definitions = new SnippetDefinitions();
-		if (point != null) {
-			IConfigurationElement[] elements = point.getConfigurationElements();
-			for (int i = 0; i < elements.length; i++) {
-				addDefinitionFromExtension(definitions, elements[i]);
-			}
-		}
-
-		connectItemsAndCategories(definitions);
-
-		return definitions;
-	}
-
-	protected void setProperties(SnippetPaletteDrawer category, Object source) {
-		if (!(source instanceof IConfigurationElement))
-			return;
-		IConfigurationElement element = ((IConfigurationElement) source);
-
-		setProperty(category, SnippetsPlugin.NAMES.DESCRIPTION, element.getAttribute(SnippetsPlugin.NAMES.DESCRIPTION));
-		setProperty(category, SnippetsPlugin.NAMES.SMALLICON, element.getAttribute(SnippetsPlugin.NAMES.SMALLICON));
-		setProperty(category, SnippetsPlugin.NAMES.ID, element.getAttribute(SnippetsPlugin.NAMES.ID));
-		setProperty(category, SnippetsPlugin.NAMES.LABEL, element.getAttribute(SnippetsPlugin.NAMES.LABEL));
-		setProperty(category, SnippetsPlugin.NAMES.LARGEICON, element.getAttribute(SnippetsPlugin.NAMES.LARGEICON));
-
-		String filtersAttr = element.getAttribute("filters"); //$NON-NLS-1$
-		String[] filters = null;
-		if (filtersAttr != null)
-			filters = StringUtils.asArray(element.getAttribute("filters")); //$NON-NLS-1$
-		else
-			filters = getDefaultFilters();
-		setProperty(category, "filters", filters); //$NON-NLS-1$
-	}
-
-	protected void setProperties(SnippetPaletteItem item, Object source) {
-		if (!(source instanceof IConfigurationElement))
-			return;
-		IConfigurationElement element = ((IConfigurationElement) source);
-
-		setProperty(item, SnippetsPlugin.NAMES.CATEGORY, element.getAttribute(SnippetsPlugin.NAMES.CATEGORY));
-		setProperty(item, SnippetsPlugin.NAMES.CLASSNAME, element.getAttribute(SnippetsPlugin.NAMES.CLASSNAME));
-		setProperty(item, SnippetsPlugin.NAMES.DESCRIPTION, element.getAttribute(SnippetsPlugin.NAMES.DESCRIPTION));
-		setProperty(item, SnippetsPlugin.NAMES.EDITORCLASSNAME, element.getAttribute(SnippetsPlugin.NAMES.EDITORCLASSNAME));
-		setProperty(item, SnippetsPlugin.NAMES.SMALLICON, element.getAttribute(SnippetsPlugin.NAMES.SMALLICON));
-		setProperty(item, SnippetsPlugin.NAMES.ID, element.getAttribute(SnippetsPlugin.NAMES.ID));
-		setProperty(item, SnippetsPlugin.NAMES.LABEL, element.getAttribute(SnippetsPlugin.NAMES.LABEL));
-		setProperty(item, SnippetsPlugin.NAMES.LARGEICON, element.getAttribute(SnippetsPlugin.NAMES.LARGEICON));
-
-		IConfigurationElement[] children = element.getChildren();
-		for (int i = 0; i < children.length; i++) {
-			if (children[i].getName().equals(SnippetsPlugin.NAMES.CONTENT))
-				setProperty(item, SnippetsPlugin.NAMES.CONTENT, children[i].getValue());
-			else if (children[i].getName().equals(SnippetsPlugin.NAMES.VARIABLES)) {
-				Iterator iterator = createVariables(children[i].getChildren()).iterator();
-				while (iterator.hasNext()) {
-					item.addVariable((ISnippetVariable) iterator.next());
-				}
-			}
-			else if (children[i].getName().equals(SnippetsPlugin.NAMES.VARIABLE)) {
-				ISnippetVariable var = createVariable(children[i]);
-				if (var != null)
-					item.addVariable(var);
-			}
-		}
-	}
-
-	protected void setProperties(SnippetVariable variable, Object source) {
-		if (!(source instanceof IConfigurationElement))
-			return;
-		IConfigurationElement element = ((IConfigurationElement) source);
-		setProperty(variable, SnippetsPlugin.NAMES.DEFAULT, element.getAttribute(SnippetsPlugin.NAMES.DEFAULT));
-		setProperty(variable, SnippetsPlugin.NAMES.DESCRIPTION, element.getAttribute(SnippetsPlugin.NAMES.DESCRIPTION));
-		setProperty(variable, SnippetsPlugin.NAMES.ID, element.getAttribute(SnippetsPlugin.NAMES.ID));
-		setProperty(variable, SnippetsPlugin.NAMES.NAME, element.getAttribute(SnippetsPlugin.NAMES.NAME));
-	}
-
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/palette/ModelFactoryForUser.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/palette/ModelFactoryForUser.java
deleted file mode 100644
index 8a68321..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/palette/ModelFactoryForUser.java
+++ /dev/null
@@ -1,386 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2009 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
- *******************************************************************************/
-package org.eclipse.wst.common.snippets.internal.palette;
-
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Iterator;
-
-import javax.xml.parsers.DocumentBuilder;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.gef.palette.PaletteDrawer;
-import org.eclipse.gef.palette.PaletteEntry;
-import org.eclipse.wst.common.snippets.core.ISnippetCategory;
-import org.eclipse.wst.common.snippets.core.ISnippetItem;
-import org.eclipse.wst.common.snippets.core.ISnippetVariable;
-import org.eclipse.wst.common.snippets.core.ISnippetsEntry;
-import org.eclipse.wst.common.snippets.internal.Logger;
-import org.eclipse.wst.common.snippets.internal.PluginRecord;
-import org.eclipse.wst.common.snippets.internal.SnippetDefinitions;
-import org.eclipse.wst.common.snippets.internal.SnippetsPlugin;
-import org.eclipse.wst.common.snippets.internal.util.CommonXML;
-import org.eclipse.wst.common.snippets.internal.util.StringUtils;
-import org.osgi.framework.Bundle;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-
-public class ModelFactoryForUser extends AbstractModelFactory {
-	private static ModelFactoryForUser instance = null;
-
-	public synchronized static ModelFactoryForUser getInstance() {
-		if (instance == null)
-			instance = new ModelFactoryForUser();
-		return instance;
-	}
-
-	public ModelFactoryForUser() {
-		super();
-	}
-
-	protected void addCategory(SnippetDefinitions definitions, Element categoryElement) {
-		SnippetPaletteDrawer category = createCategory(categoryElement);
-		if (category != null) {
-			assignSource(category, definitions, categoryElement);
-			String stateString = categoryElement.getAttribute(SnippetsPlugin.NAMES.INITIAL_STATE);
-			int state = PaletteDrawer.INITIAL_STATE_CLOSED;
-			if (stateString != null && stateString.length() > 0) {
-				try {
-					state = Integer.parseInt(stateString);
-				}
-				catch (NumberFormatException e) {
-					// leave unchanged
-				}
-			}
-			((PaletteDrawer) category).setInitialState(state);
-
-			definitions.getCategories().add(category);
-			if (Logger.DEBUG_DEFINITION_PERSISTENCE)
-				System.out.println("Plug-in reader creating category " + category.getId()); //$NON-NLS-1$
-			NodeList children = categoryElement.getChildNodes();
-			for (int i = 0; i < children.getLength(); i++) {
-				Node child = children.item(i);
-				if (child != null && child.getNodeType() == Node.ELEMENT_NODE && child.getNodeName().equalsIgnoreCase(SnippetsPlugin.NAMES.ITEM))
-					addChild(definitions, (Element) child);
-			}
-		}
-	}
-
-	protected void addChild(SnippetDefinitions definitions, Element child) {
-		SnippetPaletteItem item = createItem(child);
-		if (item != null) {
-			assignSource(item, definitions, child);
-			definitions.getItems().add(item);
-			if (Logger.DEBUG_DEFINITION_PERSISTENCE)
-				System.out.println("Plug-in reader creating item " + item.getId()); //$NON-NLS-1$
-		}
-	}
-
-	protected void assignSource(ISnippetsEntry entry, SnippetDefinitions definitions, Element element) {
-		if (entry instanceof ISnippetItem) {
-			SnippetPaletteItem item = (SnippetPaletteItem) entry;
-			item.setSourceType(ISnippetsEntry.SNIPPET_SOURCE_USER);
-			item.setUserModificationPermission(PaletteEntry.PERMISSION_FULL_MODIFICATION);
-			Object pluginRecord = createPluginRecord(definitions, element);
-			if (pluginRecord != null) {
-				item.setSourceDescriptor(pluginRecord);
-				((PaletteEntry) entry).setUserModificationPermission(PaletteEntry.PERMISSION_HIDE_ONLY);
-				item.setSourceType(ISnippetsEntry.SNIPPET_SOURCE_PLUGINS);
-			}
-			else if (element.getAttribute(SnippetsPlugin.NAMES.SHARED).equals(SnippetsPlugin.NAMES.SHARED)) {
-				item.setSourceType(ISnippetsEntry.SNIPPET_SOURCE_WORKSPACE);
-			}
-		}
-		if (entry instanceof ISnippetCategory) {
-			SnippetPaletteDrawer drawer = (SnippetPaletteDrawer) entry;
-			drawer.setSourceType(ISnippetsEntry.SNIPPET_SOURCE_USER);
-			((PaletteEntry) entry).setUserModificationPermission(PaletteEntry.PERMISSION_FULL_MODIFICATION);
-			Object pluginRecord = createPluginRecord(definitions, element);
-			if (pluginRecord != null) {
-				drawer.setSourceDescriptor(pluginRecord);
-				((PaletteEntry) entry).setUserModificationPermission(PaletteEntry.PERMISSION_HIDE_ONLY);
-				drawer.setSourceType(ISnippetsEntry.SNIPPET_SOURCE_PLUGINS);
-			}
-			else if (element.getAttribute(SnippetsPlugin.NAMES.SHARED).equals(SnippetsPlugin.NAMES.SHARED)) {
-				drawer.setSourceType(ISnippetsEntry.SNIPPET_SOURCE_WORKSPACE);
-			}
-		}
-	}
-
-	/**
-	 * @see org.eclipse.wst.common.snippets.internal.palette.AbstractModelFactory#createCategory(java.lang.Object)
-	 */
-	public SnippetPaletteDrawer createCategory(Object source) {
-		SnippetPaletteDrawer drawer = super.createCategory(source);
-		return drawer;
-	}
-
-	protected String createContent(Node item) {
-		String content = readCDATAofChildren(item, SnippetsPlugin.NAMES.CONTENT);
-
-		/*
-		 * EOL translation
-		 * (https://bugs.eclipse.org/bugs/show_bug.cgi?id=102941). Convert
-		 * '\n' to native EOL.
-		 */
-		String systemEOL = System.getProperty("line.separator"); //$NON-NLS-1$
-		if (!"\n".equals(systemEOL)) { //$NON-NLS-1$
-			content = StringUtils.replace(content, "\n", systemEOL); //$NON-NLS-1$
-		}
-		return content;
-	}
-
-	protected String createDescription(Node entryElement) {
-		return readCDATAofChildren(entryElement, SnippetsPlugin.NAMES.DESCRIPTION);
-	}
-
-	protected PluginRecord createPluginRecord(SnippetDefinitions definitions, Element element) {
-		String pluginName = element.getAttribute(SnippetsPlugin.NAMES.PLUGIN);
-		String pluginVersion = element.getAttribute(SnippetsPlugin.NAMES.VERSION);
-		PluginRecord record = null;
-
-		if (pluginName.length() > 0 && pluginVersion.length() > 0) {
-			record = new PluginRecord();
-			record.setPluginName(pluginName);
-			record.setPluginVersion(pluginVersion);
-		}
-		return record;
-	}
-
-	protected String[] getDefaultFilters() {
-		return new String[]{"*"}; //$NON-NLS-1$
-	}
-
-	public String getFilename() {
-		String name = null;
-		try {
-			Bundle bundle = Platform.getBundle(SnippetsPlugin.BUNDLE_ID);
-			name = Platform.getStateLocation(bundle).toOSString() + "/user.xml"; //$NON-NLS-1$ 
-		}
-		catch (Exception e) {
-			name = "/user.xml"; //$NON-NLS-1$
-		}
-		return name;
-	}
-
-	protected String getID(Object source) {
-		if (source instanceof Element)
-			return ((Element) source).getAttribute(SnippetsPlugin.NAMES.ID);
-		return null;
-	}
-
-	public SnippetDefinitions load(String filename) {
-		SnippetDefinitions definitions = new SnippetDefinitions();
-		Document document = null;
-		try {
-			DocumentBuilder builder = CommonXML.getDocumentBuilder();
-			if (builder != null) {
-				InputStream fis = new FileInputStream(filename);
-				document = builder.parse(new InputSource(fis));
-			}
-			else {
-				Logger.log(Logger.ERROR, "Couldn't obtain a DocumentBuilder"); //$NON-NLS-1$
-			}
-		}
-		catch (FileNotFoundException e) {
-			// typical of new workspace, don't log it
-			document = null;
-		}
-		catch (IOException e) {
-			Logger.logException("Could not load user items", e); //$NON-NLS-1$
-			return definitions;
-		}
-		catch (SAXException e) {
-			Logger.logException("Could not load user items", e); //$NON-NLS-1$
-			return definitions;
-		}
-		if (document == null)
-			return definitions;
-		Element library = document.getDocumentElement();
-		if (library == null || !library.getNodeName().equals(SnippetsPlugin.NAMES.SNIPPETS))
-			return definitions;
-		loadDefinitions(definitions, library);
-
-		connectItemsAndCategories(definitions);
-
-		return definitions;
-	}
-	
-	public SnippetDefinitions loadCurrent() {
-		return load(getFilename());
-	}
-
-	public SnippetDefinitions load(InputStream in) {
-		SnippetDefinitions definitions = new SnippetDefinitions();
-		Document document = null;
-		try {
-			DocumentBuilder builder = CommonXML.getDocumentBuilder();
-			if (builder != null) {
-				document = builder.parse(new InputSource(in));
-			}
-			else {
-				Logger.log(Logger.ERROR, "Couldn't obtain a DocumentBuilder"); //$NON-NLS-1$
-			}
-		}
-		catch (FileNotFoundException e) {
-			// typical of new workspace, don't log it
-			document = null;
-		}
-		catch (IOException e) {
-			Logger.logException("Could not load user items", e); //$NON-NLS-1$
-			return definitions;
-		}
-		catch (SAXException e) {
-			Logger.logException("Could not load user items", e); //$NON-NLS-1$
-			return definitions;
-		}
-		if (document == null)
-			return definitions;
-		Element library = document.getDocumentElement();
-		if (library == null || !library.getNodeName().equals(SnippetsPlugin.NAMES.SNIPPETS))
-			return definitions;
-		loadDefinitions(definitions, library);
-
-		connectItemsAndCategories(definitions);
-
-		return definitions;
-	}
-
-	protected void loadDefinitions(SnippetDefinitions definitions, Node library) {
-		NodeList children = library.getChildNodes();
-		int length = children.getLength();
-		Node child = null;
-		for (int i = 0; i < length; i++) {
-			child = children.item(i);
-			if (child.getNodeType() == Node.ELEMENT_NODE) {
-				if (child.getNodeName().equals(SnippetsPlugin.NAMES.ITEM)) {
-					addChild(definitions, (Element) child);
-				}
-				else if (child.getNodeName().equals(SnippetsPlugin.NAMES.CATEGORY)) {
-					addCategory(definitions, (Element) child);
-				}
-			}
-		}
-	}
-
-	/**
-	 * @param list
-	 * @return
-	 */
-	private Object[] nodesToArray(NodeList list) {
-		Object[] objects = new Object[list.getLength()];
-		for (int i = 0; i < list.getLength(); i++)
-			objects[i] = list.item(i);
-		return objects;
-	}
-
-	/**
-	 * Extracts the contents of a CDATA section arranged like this:
-	 * 
-	 * <node><otherChild/><childName><wrong element/> <![CDATA[ RETURNED
-	 * TEXT]]> </childName> </node>
-	 */
-	protected String readCDATAofChildren(Node parentNode, String elementName) {
-		StringBuffer s = new StringBuffer();
-		Node element = parentNode.getFirstChild();
-		while (element != null) {
-			if (element.getNodeType() == Node.ELEMENT_NODE && element.getNodeName().equals(elementName)) {
-				Node child = element.getFirstChild();
-				while (child != null) {
-					if (child.getNodeType() == Node.CDATA_SECTION_NODE) {
-						s.append(child.getNodeValue());
-					}
-					child = child.getNextSibling();
-				}
-				return s.toString(); //$NON-NLS-1$
-			}
-			element = element.getNextSibling();
-		}
-		return s.toString(); //$NON-NLS-1$
-	}
-
-	protected void setProperties(SnippetPaletteDrawer category, Object source) {
-		if (!(source instanceof Element))
-			return;
-		Element element = ((Element) source);
-
-		setProperty(category, SnippetsPlugin.NAMES.SMALLICON, element.getAttribute(SnippetsPlugin.NAMES.SMALLICON));
-		setProperty(category, SnippetsPlugin.NAMES.ID, element.getAttribute(SnippetsPlugin.NAMES.ID));
-		setProperty(category, SnippetsPlugin.NAMES.LABEL, element.getAttribute(SnippetsPlugin.NAMES.LABEL));
-		setProperty(category, SnippetsPlugin.NAMES.LARGEICON, element.getAttribute(SnippetsPlugin.NAMES.LARGEICON));
-		NodeList children = element.getChildNodes();
-		for (int i = 0; i < children.getLength(); i++) {
-			if (children.item(i).getNodeName().equals(SnippetsPlugin.NAMES.DESCRIPTION))
-				setProperty(category, SnippetsPlugin.NAMES.DESCRIPTION, createDescription(element));
-		}
-
-		String filtersAttr = element.getAttribute("filters"); //$NON-NLS-1$
-		String[] filters = null;
-		if (filtersAttr != null)
-			filters = StringUtils.asArray(element.getAttribute("filters")); //$NON-NLS-1$
-		else
-			filters = getDefaultFilters();
-		setProperty(category, "filters", filters); //$NON-NLS-1$
-	}
-
-	protected void setProperties(SnippetPaletteItem item, Object source) {
-		if (!(source instanceof Element))
-			return;
-		Element element = ((Element) source);
-
-		setProperty(item, SnippetsPlugin.NAMES.CATEGORY, element.getAttribute(SnippetsPlugin.NAMES.CATEGORY));
-		setProperty(item, SnippetsPlugin.NAMES.CLASSNAME, element.getAttribute(SnippetsPlugin.NAMES.CLASSNAME));
-		setProperty(item, SnippetsPlugin.NAMES.EDITORCLASSNAME, element.getAttribute(SnippetsPlugin.NAMES.EDITORCLASSNAME));
-		setProperty(item, SnippetsPlugin.NAMES.SMALLICON, element.getAttribute(SnippetsPlugin.NAMES.SMALLICON));
-		setProperty(item, SnippetsPlugin.NAMES.ID, element.getAttribute(SnippetsPlugin.NAMES.ID));
-		setProperty(item, SnippetsPlugin.NAMES.LABEL, element.getAttribute(SnippetsPlugin.NAMES.LABEL));
-		setProperty(item, SnippetsPlugin.NAMES.LARGEICON, element.getAttribute(SnippetsPlugin.NAMES.LARGEICON));
-		setProperty(item, SnippetsPlugin.NAMES.PROVIDER_ID, element.getAttribute(SnippetsPlugin.NAMES.PROVIDER_ID));
-
-		NodeList children = element.getChildNodes();
-		for (int i = 0; i < children.getLength(); i++) {
-			if (children.item(i).getNodeName().equals(SnippetsPlugin.NAMES.DESCRIPTION))
-				setProperty(item, SnippetsPlugin.NAMES.DESCRIPTION, createDescription(element));
-			else if (children.item(i).getNodeName().equals(SnippetsPlugin.NAMES.CONTENT))
-				setProperty(item, SnippetsPlugin.NAMES.CONTENT, createContent(element));
-			else if (children.item(i).getNodeName().equals(SnippetsPlugin.NAMES.VARIABLES)) {
-				Iterator variables = createVariables(nodesToArray(children.item(i).getChildNodes())).iterator();
-				while (variables.hasNext()) {
-					item.addVariable((ISnippetVariable) variables.next());
-				}
-			}
-			else if (children.item(i).getNodeName().equals(SnippetsPlugin.NAMES.VARIABLE)) {
-				ISnippetVariable var = createVariable(children.item(i));
-				if (var != null)
-					item.addVariable(var);
-			}
-		}
-	}
-
-	protected void setProperties(SnippetVariable variable, Object source) {
-		if (!(source instanceof Element))
-			return;
-		Element element = ((Element) source);
-
-		setProperty(variable, SnippetsPlugin.NAMES.DEFAULT, element.getAttribute(SnippetsPlugin.NAMES.DEFAULT));
-		setProperty(variable, SnippetsPlugin.NAMES.DESCRIPTION, element.getAttribute(SnippetsPlugin.NAMES.DESCRIPTION));
-		if (variable.getDescription() == null || variable.getDescription().length() == 0)
-			variable.setDescription(createDescription(element));
-		setProperty(variable, SnippetsPlugin.NAMES.ID, element.getAttribute(SnippetsPlugin.NAMES.ID));
-		setProperty(variable, SnippetsPlugin.NAMES.NAME, element.getAttribute(SnippetsPlugin.NAMES.NAME));
-	}
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/palette/ModelFactoryForWorkspace.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/palette/ModelFactoryForWorkspace.java
deleted file mode 100644
index c7ef31f..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/palette/ModelFactoryForWorkspace.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 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
- *******************************************************************************/
-package org.eclipse.wst.common.snippets.internal.palette;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.wst.common.snippets.internal.SnippetDefinitions;
-import org.eclipse.wst.common.snippets.internal.SnippetsPlugin;
-import org.eclipse.wst.common.snippets.internal.util.XMLDocumentProvider;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-
-public class ModelFactoryForWorkspace extends ModelFactoryForUser {
-	private static ModelFactoryForWorkspace instance = null;
-
-	public static ModelFactoryForWorkspace getWorkspaceInstance() {
-		if (instance == null)
-			instance = new ModelFactoryForWorkspace();
-		return instance;
-	}
-
-	public ModelFactoryForWorkspace() {
-		super();
-	}
-
-	public SnippetDefinitions loadCurrent() {
-		return null;
-	}
-
-	protected void loadDefinitions(SnippetDefinitions definitions, Node library) {
-		NodeList children = library.getChildNodes();
-		int length = children.getLength();
-		Node child = null;
-		for (int i = 0; i < length; i++) {
-			child = children.item(i);
-			if (child.getNodeType() == Node.ELEMENT_NODE) {
-				if (child.getNodeName().equals(SnippetsPlugin.NAMES.ITEM)) {
-					addChild(definitions, (Element) child);
-				}
-				else if (child.getNodeName().equals(SnippetsPlugin.NAMES.CATEGORY)) {
-					addCategory(definitions, (Element) child);
-				}
-			}
-		}
-	}
-
-	public SnippetDefinitions loadFrom(IFile input) {
-		SnippetDefinitions definitions = new SnippetDefinitions();
-		XMLDocumentProvider provider = new XMLDocumentProvider();
-		Document document = null;
-		try {
-			provider.setInputStream(input.getContents());
-			document = provider.getDocument();
-		}
-		catch (CoreException e) {
-			// typical of new workspace, don't log it
-			document = null;
-		}
-		if (document == null)
-			return definitions;
-		Element library = document.getDocumentElement();
-		if (library == null || !library.getNodeName().equals(SnippetsPlugin.NAMES.SNIPPETS))
-			return definitions;
-		loadDefinitions(definitions, library);
-
-		connectItemsAndCategories(definitions);
-
-		return definitions;
-	}
-
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/palette/SnippetCustomizerDialog.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/palette/SnippetCustomizerDialog.java
deleted file mode 100644
index 9926388..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/palette/SnippetCustomizerDialog.java
+++ /dev/null
@@ -1,396 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2009 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
- *******************************************************************************/
-package org.eclipse.wst.common.snippets.internal.palette;
-
-import java.io.BufferedInputStream;
-import java.io.BufferedOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.Enumeration;
-import java.util.List;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipException;
-import java.util.zip.ZipFile;
-import java.util.zip.ZipOutputStream;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.gef.palette.PaletteDrawer;
-import org.eclipse.gef.palette.PaletteEntry;
-import org.eclipse.gef.palette.PaletteRoot;
-import org.eclipse.gef.ui.palette.PaletteCustomizer;
-import org.eclipse.gef.ui.palette.customize.PaletteCustomizationAction;
-import org.eclipse.gef.ui.palette.customize.PaletteCustomizerDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.common.snippets.core.ISnippetCategory;
-import org.eclipse.wst.common.snippets.core.ISnippetItem;
-import org.eclipse.wst.common.snippets.internal.IHelpContextIds;
-import org.eclipse.wst.common.snippets.internal.SnippetDefinitions;
-import org.eclipse.wst.common.snippets.internal.SnippetsMessages;
-import org.eclipse.wst.common.snippets.internal.SnippetsPlugin;
-import org.eclipse.wst.common.snippets.internal.SnippetsPluginImageHelper;
-import org.eclipse.wst.common.snippets.internal.SnippetsPluginImages;
-import org.eclipse.wst.common.snippets.internal.model.SnippetManager;
-import org.eclipse.wst.common.snippets.internal.ui.SnippetsCustomizer;
-import org.osgi.framework.Bundle;
-
-public class SnippetCustomizerDialog extends PaletteCustomizerDialog {
-
-	private static class EXPORT_IMPORT_STRATEGY {
-		static EXPORT_IMPORT_STRATEGY ARCHIVE = new EXPORT_IMPORT_STRATEGY();
-		static EXPORT_IMPORT_STRATEGY XML = new EXPORT_IMPORT_STRATEGY();
-	}
-
-	private class ExportAction extends PaletteCustomizationAction {
-		public ExportAction() {
-			setEnabled(false);
-			setText(SnippetsMessages.SnippetCustomizerDialog_1); //$NON-NLS-1$
-			setImageDescriptor(SnippetsPluginImageHelper.getInstance().getImageDescriptor(SnippetsPluginImages.IMG_ELCL_EXPORT));
-			setDisabledImageDescriptor(SnippetsPluginImageHelper.getInstance().getImageDescriptor(SnippetsPluginImages.IMG_DLCL_EXPORT));
-			setHoverImageDescriptor(SnippetsPluginImageHelper.getInstance().getImageDescriptor(SnippetsPluginImages.IMG_CLCL_EXPORT));
-			PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IHelpContextIds.CUSTOMIZE_EXPORT_BUTTON);
-		}
-
-		protected void handleExport() {
-			PaletteDrawer exportCategory = (PaletteDrawer) getSelectedPaletteEntry();
-			EXPORT_IMPORT_STRATEGY strategy = exportStrategy(exportCategory);
-
-			if (EXPORT_IMPORT_STRATEGY.ARCHIVE == strategy) {
-				exportArchive(exportCategory);
-			}
-			else {
-				exportXML(exportCategory);
-			}
-			updateActions();
-		}
-
-		private EXPORT_IMPORT_STRATEGY exportStrategy(PaletteDrawer exportCategory) {
-			List children = exportCategory.getChildren();
-			for (int i = 0; i < children.size(); i++) {
-				ISnippetItem snippetItem = (ISnippetItem) children.get(i);
-				File folder = new File(SnippetManager.getInstance().getStorageLocation(snippetItem.getId()).toOSString());
-				if (folder.exists()) {
-					return EXPORT_IMPORT_STRATEGY.ARCHIVE;
-				}
-			}
-			return EXPORT_IMPORT_STRATEGY.XML;
-		}
-
-		private void exportArchive(PaletteDrawer exportCategory) {
-			String filename = openFileDialog("*.zip");//$NON-NLS-1$
-			if (filename != null) {
-				ZipOutputStream outputStream = null;
-				try {
-					SnippetDefinitions definitions = getCategory(exportCategory, filename);
-					outputStream = new ZipOutputStream(new FileOutputStream(filename));
-					ZipEntry descriptorFile = new ZipEntry("snippets.xml");
-					outputStream.putNextEntry(descriptorFile);
-					new UserModelDumper().write(definitions, outputStream);
-					ISnippetCategory existingCategory = definitions.getCategory(exportCategory.getId());
-					ISnippetItem[] items = existingCategory.getItems();
-					for (int i = 0; i < items.length; i++) {
-						File folder = new File(SnippetManager.getInstance().getStorageLocation(items[i].getId()).toOSString());
-						if (folder.exists()) {
-							addToZip(folder.getParentFile(), folder, outputStream);
-						}
-					}
-				}
-				catch (FileNotFoundException e) {
-					// should not have problem finding the output file
-					e.printStackTrace();
-				}
-				catch (IOException e) {
-					e.printStackTrace();
-				}
-				finally {
-					if (outputStream != null) {
-						try {
-							outputStream.close();
-						}
-						catch (IOException e) {
-							// should not have problem closing the output file
-							e.printStackTrace();
-						}
-					}
-				}
-			}
-		}
-
-		private void addToZip(File root, File folder, ZipOutputStream outputStream) throws IOException {
-			File[] listedFiles = folder.listFiles();
-			for (int i = 0; i < listedFiles.length; i++) {
-				if (listedFiles[i].isDirectory()) {
-					addToZip(root, listedFiles[i], outputStream);
-				}
-				else {
-					ZipEntry ze = new ZipEntry(listedFiles[i].getAbsolutePath().substring(root.getAbsolutePath().length() + 1));
-					outputStream.putNextEntry(ze);
-					BufferedInputStream bis = new BufferedInputStream(new FileInputStream(listedFiles[i]), 1024);
-					byte[] data = new byte[1024];
-					int count;
-					while ((count = bis.read(data, 0, 1024)) != -1) {
-						outputStream.write(data, 0, count);
-					}
-					bis.close();
-				}
-			}
-		}
-
-		private void exportXML(PaletteDrawer exportCategory) {
-			String filename = openFileDialog("*.xml");//$NON-NLS-1$
-
-			OutputStream outputStream = null;
-			if (filename != null) {
-				try {
-					SnippetDefinitions definitions = getCategory(exportCategory, filename);
-					outputStream = new FileOutputStream(filename);
-					new UserModelDumper().write(definitions, outputStream);
-				}
-				catch (FileNotFoundException e) {
-					// should not have problem finding the output file
-					e.printStackTrace();
-				}
-				finally {
-					if (outputStream != null) {
-						try {
-							outputStream.close();
-						}
-						catch (IOException e) {
-							// should not have problem closing the output file
-							e.printStackTrace();
-						}
-					}
-				}
-
-			}
-
-
-		}
-
-		private SnippetDefinitions getCategory(PaletteDrawer exportCategory, String fileName) {
-			SnippetDefinitions definitions = ModelFactoryForUser.getInstance().load(fileName);
-			ISnippetCategory existingCategory = definitions.getCategory(exportCategory.getId());
-
-			if (existingCategory == null)
-				definitions.getCategories().add(exportCategory);
-			else {
-				String title = SnippetsMessages.SnippetCustomizerDialog_2; //$NON-NLS-1$
-				String message = NLS.bind(SnippetsMessages.SnippetCustomizerDialog_4, new String[]{existingCategory.getLabel()});
-				boolean answer = MessageDialog.openConfirm(getShell(), title, message);
-				if (answer) {
-					definitions.getCategories().remove(existingCategory);
-					definitions.getCategories().add(exportCategory);
-				}
-			}
-			return definitions;
-		}
-
-		private String openFileDialog(String extension) {
-			final FileDialog fileDialog = new FileDialog(getShell(), SWT.SAVE);
-			fileDialog.setText(SnippetsMessages.Export_Snippets);
-			fileDialog.setFileName("snippets"+ extension.substring(1)); //$NON-NLS-1$
-			String[] filterExtensions = new String[2];
-			filterExtensions[0] = extension;
-			filterExtensions[1] = "*.*"; //$NON-NLS-1$
-			fileDialog.setFilterExtensions(filterExtensions);
-			String filename = fileDialog.open();
-			return filename;
-		}
-
-		public void run() {
-			handleExport();
-		}
-
-		public void update() {
-			boolean enabled = false;
-			PaletteEntry entry = getSelectedPaletteEntry();
-			if (entry != null) {
-				if (getCustomizer() instanceof SnippetsCustomizer) {
-					enabled = ((SnippetsCustomizer) getCustomizer()).canExport(entry);
-				}
-			}
-			setEnabled(enabled);
-		}
-	}
-
-	private class ImportAction extends PaletteCustomizationAction {
-		public ImportAction() {
-			setEnabled(false);
-			setText(SnippetsMessages.SnippetCustomizerDialog_0); //$NON-NLS-1$
-			setImageDescriptor(SnippetsPluginImageHelper.getInstance().getImageDescriptor(SnippetsPluginImages.IMG_ELCL_IMPORT));
-			setDisabledImageDescriptor(SnippetsPluginImageHelper.getInstance().getImageDescriptor(SnippetsPluginImages.IMG_DLCL_IMPORT));
-			setHoverImageDescriptor(SnippetsPluginImageHelper.getInstance().getImageDescriptor(SnippetsPluginImages.IMG_CLCL_IMPORT));
-			PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IHelpContextIds.CUSTOMIZE_IMPORT_BUTTON);
-		}
-
-		protected void handleImport() {
-			final FileDialog fileDialog = new FileDialog(getShell(), SWT.OPEN);
-			fileDialog.setText(SnippetsMessages.Import_Snippets);
-//			fileDialog.setFileName("snippets.xml"); //$NON-NLS-1$
-			String[] filterExtensions = new String[2];
-			filterExtensions[0] = "*.xml; *.zip"; //$NON-NLS-1$
-			filterExtensions[1] = "*.*"; //$NON-NLS-1$
-			fileDialog.setFilterExtensions(filterExtensions);
-			String filename = fileDialog.open();
-			try {
-				if (filename.toLowerCase().endsWith(".zip")) {
-					ZipFile zip = new ZipFile(new File(filename));
-					ZipEntry entry = zip.getEntry("snippets.xml");
-					loadMetadata(zip.getInputStream(entry));
-					Bundle bundle = Platform.getBundle(SnippetsPlugin.BUNDLE_ID);
-					unzip(zip, Platform.getStateLocation(bundle).toOSString());
-				}
-				else {
-					loadMetadata(new FileInputStream(filename));
-				}
-			}
-			catch (FileNotFoundException e) {
-				e.printStackTrace();
-			}
-			catch (ZipException e) {
-				// TODO Auto-generated catch block
-				e.printStackTrace();
-			}
-			catch (IOException e) {
-				// TODO Auto-generated catch block
-				e.printStackTrace();
-			}
-		}
-
-		private void loadMetadata(InputStream fileInputStream) {
-			if (fileInputStream != null) {
-				SnippetDefinitions definitions = ModelFactoryForUser.getInstance().load(fileInputStream);
-				List importCategories = definitions.getCategories();
-				List currentCategories = SnippetManager.getInstance().getDefinitions().getCategories();
-				PaletteEntry lastImportEntry = null;
-
-				for (int i = 0; i < importCategories.size(); i++) {
-					boolean found = false;
-					for (int j = 0; j < currentCategories.size(); j++) {
-						if (((PaletteEntry) currentCategories.get(j)).getId().compareToIgnoreCase((((PaletteEntry) importCategories.get(i))).getId()) == 0) {
-							String title = SnippetsMessages.SnippetCustomizerDialog_2; //$NON-NLS-1$
-							String message = NLS.bind(SnippetsMessages.SnippetCustomizerDialog_3, new String[]{((PaletteEntry) currentCategories.get(j)).getLabel()});
-							boolean answer = MessageDialog.openConfirm(getShell(), title, message);
-							if (answer) {
-								SnippetManager.getInstance().getPaletteRoot().remove((PaletteEntry) currentCategories.get(j));
-								SnippetManager.getInstance().getPaletteRoot().add((PaletteEntry) importCategories.get(i));
-								lastImportEntry = (PaletteEntry) importCategories.get(i);
-							}
-
-							found = true;
-							break;
-						}
-					}
-					if (!found) {
-						SnippetManager.getInstance().getPaletteRoot().add((PaletteEntry) importCategories.get(i));
-						lastImportEntry = (PaletteEntry) importCategories.get(i);
-					}
-				}
-				if (lastImportEntry != null) {
-					fTreeviewer.setSelection(new StructuredSelection(lastImportEntry), true);
-				}
-
-				updateActions();
-			}
-		}
-
-		public void run() {
-			handleImport();
-		}
-
-		public void update() {
-			boolean enabled = false;
-			PaletteEntry entry = getSelectedPaletteEntry();
-			if (entry != null) {
-				if (getCustomizer() instanceof SnippetsCustomizer) {
-					enabled = ((SnippetsCustomizer) getCustomizer()).canImport(entry);
-				}
-			}
-			setEnabled(enabled);
-		}
-	}
-
-	private TreeViewer fTreeviewer = null;
-
-	public SnippetCustomizerDialog(Shell shell, PaletteCustomizer customizer, PaletteRoot root) {
-		super(shell, customizer, root);
-	}
-
-	protected List createOutlineActions() {
-		List actions = super.createOutlineActions();
-
-		actions.add(new ImportAction());
-		actions.add(new ExportAction());
-
-		return actions;
-	}
-
-	protected TreeViewer createOutlineTreeViewer(Composite composite) {
-		fTreeviewer = super.createOutlineTreeViewer(composite);
-
-		return fTreeviewer;
-	}
-
-	public int open() {
-		// save the current state before open
-		save();
-
-		return super.open();
-	}
-
-	static final void copyInputStream(InputStream in, OutputStream out) throws IOException {
-		byte[] buffer = new byte[2048];
-		int len;
-
-		while ((len = in.read(buffer)) >= 0)
-			out.write(buffer, 0, len);
-
-		in.close();
-		out.close();
-	}
-
-	void unzip(ZipFile zipFile, String path) throws FileNotFoundException, IOException {
-		Enumeration entries;
-		entries = zipFile.entries();
-
-		while (entries.hasMoreElements()) {
-			ZipEntry entry = (ZipEntry) entries.nextElement();
-			File file = new File(path + File.separator + entry.getName());
-			if (entry.isDirectory()) {
-				file.mkdir();
-				continue;
-			}
-			if (!file.getParentFile().exists()) {
-				file.getParentFile().mkdirs();
-			}
-			if (entry.getName().toLowerCase().equals("snippets.xml")) {
-				continue;
-			}
-
-			copyInputStream(zipFile.getInputStream(entry), new BufferedOutputStream(new FileOutputStream(file)));
-		}
-
-		zipFile.close();
-	}
-
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/palette/SnippetImageDescriptorHelper.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/palette/SnippetImageDescriptorHelper.java
deleted file mode 100644
index 2beb38c..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/palette/SnippetImageDescriptorHelper.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 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
- *******************************************************************************/
-
-
-package org.eclipse.wst.common.snippets.internal.palette;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.wst.common.snippets.core.ISnippetsEntry;
-import org.eclipse.wst.common.snippets.internal.PluginRecord;
-import org.eclipse.wst.common.snippets.internal.SnippetsPluginImageHelper;
-import org.eclipse.wst.common.snippets.internal.SnippetsPluginImages;
-
-
-public class SnippetImageDescriptorHelper {
-	protected static SnippetImageDescriptorHelper instance = null;
-
-	/**
-	 * Gets the instance.
-	 * 
-	 * @return Returns a SnippetImageHelper
-	 */
-	public synchronized static SnippetImageDescriptorHelper getInstance() {
-		if (instance == null)
-			instance = new SnippetImageDescriptorHelper();
-		return instance;
-	}
-
-	public SnippetImageDescriptorHelper() {
-		super();
-	}
-
-	protected ImageDescriptor getDefaultDescriptor() {
-		return getImageDescriptor(SnippetsPluginImages.IMG_OBJ_SNIPPETS);
-	}
-
-	public ImageDescriptor getImageDescriptor(SnippetPaletteDrawer category) {
-		return getImageDescriptor(category, false);
-	}
-
-	public ImageDescriptor getImageDescriptor(SnippetPaletteDrawer category, boolean largeIcon) {
-		String iconName = largeIcon ? category.getLargeIconName() : category.getSmallIconName();
-		if (largeIcon && (iconName == null || iconName.length() == 0))
-			iconName = category.getSmallIconName();
-		if (category == null || iconName == null || iconName.length() == 0)
-			return getDefaultDescriptor();
-		ImageDescriptor image = null;
-		if (category.getSourceType() == ISnippetsEntry.SNIPPET_SOURCE_PLUGINS) {
-			PluginRecord record = (PluginRecord) category.getSourceDescriptor();
-			if (record != null && record.getPluginName() != null) {
-				image = getInstalledImage(record.getPluginName(), iconName);
-			}
-		}
-		else {
-			image = getImageDescriptor(iconName);
-		}
-		if (image == null || image.equals(ImageDescriptor.getMissingImageDescriptor()))
-			image = getDefaultDescriptor();
-		return image;
-	}
-
-	public ImageDescriptor getImageDescriptor(SnippetPaletteItem item) {
-		return getImageDescriptor(item, false);
-	}
-
-	public ImageDescriptor getImageDescriptor(SnippetPaletteItem item, boolean largeIcon) {
-		ImageDescriptor image = null;
-		String iconName = largeIcon ? item.getLargeIconName() : item.getSmallIconName();
-		if (largeIcon && (iconName == null || iconName.length() == 0))
-			iconName = item.getSmallIconName();
-		if (item.getSourceType() == ISnippetsEntry.SNIPPET_SOURCE_PLUGINS) {
-			PluginRecord record = (PluginRecord) item.getSourceDescriptor();
-			if (record != null && record.getPluginName() != null) {
-				image = getInstalledImage(record.getPluginName(), iconName);
-				if (image == null && item.getCategory() != null) {
-					image = getImageDescriptor((SnippetPaletteDrawer) item.getCategory(), largeIcon);
-				}
-			}
-		}
-		else {
-			if (iconName == null || iconName.length() < 1)
-				image = getImageDescriptor((SnippetPaletteDrawer) item.getCategory(), largeIcon);
-			else
-				image = getImageDescriptor(iconName);
-		}
-		if (image == null || image.equals(ImageDescriptor.getMissingImageDescriptor()))
-			image = getDefaultDescriptor();
-		return image;
-	}
-
-	public ImageDescriptor getImageDescriptor(String resource) {
-		ImageDescriptor image = null;
-		if (resource != null) {
-			image = SnippetsPluginImageHelper.getInstance().getImageDescriptor(resource);
-		}
-		if (image == null || image.equals(ImageDescriptor.getMissingImageDescriptor()))
-			image = getDefaultDescriptor();
-		return image;
-	}
-
-	/**
-	 * @param image
-	 * @param iconName
-	 * @param plugin
-	 * @return
-	 */
-	protected ImageDescriptor getInstalledImage(String plugin, String iconName) {
-		ImageDescriptor image = null;
-		if (iconName != null && iconName.length() > 0) {
-			if (plugin != null) {
-				image = SnippetsPluginImageHelper.getInstance().getImageDescriptor(iconName, plugin);
-			}
-		}
-		if (image == null || image.equals(ImageDescriptor.getMissingImageDescriptor()))
-			image = getDefaultDescriptor();
-		return image;
-	}
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/palette/SnippetPaletteDrawer.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/palette/SnippetPaletteDrawer.java
deleted file mode 100644
index 621e092..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/palette/SnippetPaletteDrawer.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 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
- *******************************************************************************/
-
-
-package org.eclipse.wst.common.snippets.internal.palette;
-
-import org.eclipse.gef.palette.PaletteDrawer;
-import org.eclipse.gef.palette.PaletteTemplateEntry;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.wst.common.snippets.core.ISnippetCategory;
-import org.eclipse.wst.common.snippets.core.ISnippetItem;
-
-public class SnippetPaletteDrawer extends PaletteDrawer implements ISnippetCategory {
-	protected String[] fFilters = new String[0];
-
-	protected String fIconName;
-	protected String fId;
-	protected String fLargeIconName;
-
-	protected Object fSourceDescriptor;
-	protected Object fSourceType = SNIPPET_SOURCE_USER;
-
-	/**
-	 * @param label
-	 */
-	public SnippetPaletteDrawer(String label) {
-		super(label);
-		setDrawerType(PaletteTemplateEntry.PALETTE_TYPE_TEMPLATE);
-		setType(PaletteDrawer.PALETTE_TYPE_DRAWER);
-	}
-
-	/**
-	 * @param label
-	 * @param icon
-	 */
-	public SnippetPaletteDrawer(String label, ImageDescriptor icon) {
-		super(label, icon);
-		setDrawerType(PaletteTemplateEntry.PALETTE_TYPE_TEMPLATE);
-		setType(PaletteDrawer.PALETTE_TYPE_DRAWER);
-	}
-
-	public void add(SnippetPaletteItem item) {
-		super.add(item);
-		item.setCategory(this);
-		item.setParent(this);
-	}
-
-	public String[] getFilters() {
-		return fFilters;
-	}
-
-	/**
-	 * Gets the id.
-	 * 
-	 * @return Returns a String
-	 */
-	public String getId() {
-		return fId;
-	}
-
-	public ISnippetItem[] getItems() {
-		return (ISnippetItem[]) getChildren().toArray(new ISnippetItem[0]);
-	}
-
-	public ImageDescriptor getLargeIcon() {
-		ImageDescriptor icon = super.getLargeIcon();
-		if (icon == null) {
-			icon = SnippetImageDescriptorHelper.getInstance().getImageDescriptor(this, true);
-			setLargeIcon(icon);
-		}
-		return icon;
-	}
-
-	/**
-	 * @return String
-	 */
-	public String getLargeIconName() {
-		return fLargeIconName;
-	}
-
-	/**
-	 * @see PaletteEntry#getSmallIcon()
-	 */
-	public ImageDescriptor getSmallIcon() {
-		ImageDescriptor icon = super.getSmallIcon();
-		if (icon == null) {
-			icon = SnippetImageDescriptorHelper.getInstance().getImageDescriptor(this);
-			setSmallIcon(icon);
-		}
-		return icon;
-	}
-
-	/**
-	 * Gets the iconName.
-	 * 
-	 * @return Returns a String
-	 */
-	public String getSmallIconName() {
-		return fIconName;
-	}
-
-	public Object getSourceDescriptor() {
-		return fSourceDescriptor;
-	}
-
-	public Object getSourceType() {
-		return fSourceType;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.common.snippets.ui.ISnippetCategory#remove(org.eclipse.wst.common.snippets.ui.ISnippetItem)
-	 */
-	public void remove(SnippetPaletteItem item) {
-		super.remove(item);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.common.snippets.ui.ISnippetsEntry#setFilters(java.lang.String[])
-	 */
-	public void setFilters(String[] filters) {
-		fFilters = filters;
-	}
-
-	/**
-	 * Sets the iconName.
-	 * 
-	 * @param iconName
-	 *            The iconName to set
-	 */
-	public void setIconName(String iconName) {
-		fIconName = iconName;
-	}
-
-	/**
-	 * Sets the id.
-	 * 
-	 * @param id
-	 *            The id to set
-	 */
-	public void setId(String id) {
-		fId = id;
-	}
-
-	/**
-	 * Sets the largeIconName.
-	 * 
-	 * @param largeIconName
-	 *            The largeIconName to set
-	 */
-	public void setLargeIconName(String largeIconName) {
-		fLargeIconName = largeIconName;
-	}
-
-	/**
-	 * Sets the sourceDescriptor.
-	 * 
-	 * @param sourceDescriptor
-	 *            The sourceDescriptor to set
-	 */
-	public void setSourceDescriptor(Object sourceDescriptor) {
-		fSourceDescriptor = sourceDescriptor;
-	}
-
-	/**
-	 * Sets the sourceType.
-	 * 
-	 * @param sourceType
-	 *            The sourceType to set
-	 */
-	public void setSourceType(Object sourceType) {
-		fSourceType = sourceType;
-	}
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/palette/SnippetPaletteDrawerFactory.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/palette/SnippetPaletteDrawerFactory.java
deleted file mode 100644
index e72e562..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/palette/SnippetPaletteDrawerFactory.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 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
- *******************************************************************************/
-package org.eclipse.wst.common.snippets.internal.palette;
-
-import org.eclipse.gef.palette.PaletteDrawer;
-import org.eclipse.gef.palette.PaletteEntry;
-import org.eclipse.gef.palette.PaletteTemplateEntry;
-import org.eclipse.gef.ui.palette.customize.PaletteDrawerFactory;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.wst.common.snippets.internal.SnippetsMessages;
-import org.eclipse.wst.common.snippets.internal.SnippetsPluginImageHelper;
-import org.eclipse.wst.common.snippets.internal.SnippetsPluginImages;
-
-public class SnippetPaletteDrawerFactory extends PaletteDrawerFactory {
-
-	public SnippetPaletteDrawerFactory() {
-		super();
-		setLabel(SnippetsMessages.New_Category_Title); //$NON-NLS-1$
-		setImageDescriptor(SnippetsPluginImageHelper.getInstance().getImageDescriptor(SnippetsPluginImages.IMG_CLCL_NEW_CATEGORY));
-	}
-
-	/**
-	 * @see org.eclipse.gef.ui.palette.customize.PaletteEntryFactory#createNewEntry(org.eclipse.swt.widgets.Shell)
-	 */
-	protected PaletteEntry createNewEntry(Shell shell) {
-		SnippetPaletteDrawer drawer = new SnippetPaletteDrawer(SnippetsMessages.Unnamed_Category); //$NON-NLS-1$
-		drawer.setType(PaletteDrawer.PALETTE_TYPE_DRAWER);
-		drawer.setDrawerType(PaletteTemplateEntry.PALETTE_TYPE_TEMPLATE);
-		drawer.setId(SnippetsMessages.category + "_" + System.currentTimeMillis()); //$NON-NLS-1$ //$NON-NLS-2$
-		drawer.setUserModificationPermission(PaletteEntry.PERMISSION_FULL_MODIFICATION);
-		drawer.setFilters(getDefaultFilters());
-		return drawer;
-	}
-
-	protected String[] getDefaultFilters() {
-		return new String[]{"*"}; //$NON-NLS-1$
-	}
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/palette/SnippetPaletteItem.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/palette/SnippetPaletteItem.java
deleted file mode 100644
index 33a0e2d..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/palette/SnippetPaletteItem.java
+++ /dev/null
@@ -1,239 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2009 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
- *******************************************************************************/
-
-
-package org.eclipse.wst.common.snippets.internal.palette;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.gef.palette.PaletteContainer;
-import org.eclipse.gef.palette.PaletteTemplateEntry;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.wst.common.snippets.core.ISnippetCategory;
-import org.eclipse.wst.common.snippets.core.ISnippetItem;
-import org.eclipse.wst.common.snippets.core.ISnippetProvider;
-import org.eclipse.wst.common.snippets.core.ISnippetVariable;
-import org.eclipse.wst.common.snippets.internal.model.SnippetManager;
-
-public class SnippetPaletteItem extends PaletteTemplateEntry implements ISnippetItem {
-
-	protected SnippetPaletteDrawer fCategory;
-	protected String fCategoryName;
-
-	protected String fClassName;
-	protected String fContentString;
-	protected String fEditorClassName;
-	protected String[] fFilters = new String[0];
-	protected String fIconName;
-	protected String fId;
-	protected String fLargeIconName;
-	protected Object fSourceDescriptor;
-	protected Object fSourceType = SNIPPET_SOURCE_USER;
-	protected List fVariables;
-	private ISnippetProvider provider;
-
-	/**
-	 * @param label
-	 * @param shortDesc
-	 * @param template
-	 * @param iconSmall
-	 * @param iconLarge
-	 */
-	public SnippetPaletteItem(String label) {
-		super(label, label, null, null, null);
-		fVariables = new ArrayList(0);
-	}
-
-	public void addVariable(ISnippetVariable variable) {
-		fVariables.add(variable);
-	}
-
-	public ISnippetCategory getCategory() {
-		return fCategory;
-	}
-
-	// public SnippetPaletteItem(Tool tool, String label) {
-	// super(tool, label);
-	// }
-	//
-	// public SnippetPaletteItem(Tool tool, String label, String shortDesc) {
-	// super(tool, label, shortDesc);
-	// }
-	//
-	// public SnippetPaletteItem(Tool tool, String label, String shortDesc,
-	// ImageDescriptor iconSmall, ImageDescriptor iconLarge) {
-	// super(tool, label, shortDesc, iconSmall, iconLarge);
-	// }
-
-	public String getCategoryName() {
-		if (fCategory == null)
-			return fCategoryName;
-		return fCategory.getId();
-	}
-
-	public String getClassName() {
-		return fClassName;
-	}
-
-	public String getContentString() {
-		return fContentString;
-	}
-
-	public String getEditorClassName() {
-		return fEditorClassName;
-	}
-
-	public String[] getFilters() {
-		return fFilters;
-	}
-
-	public String getSmallIconName() {
-		return fIconName;
-	}
-
-	public String getId() {
-		return fId;
-	}
-
-	public ImageDescriptor getLargeIcon() {
-		ImageDescriptor icon = super.getLargeIcon();
-		if (icon == null) {
-			icon = SnippetImageDescriptorHelper.getInstance().getImageDescriptor(this, true);
-			setLargeIcon(icon);
-		}
-		return icon;
-	}
-
-	public String getLargeIconName() {
-		return fLargeIconName;
-	}
-
-	public ImageDescriptor getSmallIcon() {
-		ImageDescriptor icon = super.getSmallIcon();
-		if (icon == null) {
-			icon = SnippetImageDescriptorHelper.getInstance().getImageDescriptor(this);
-			setSmallIcon(icon);
-		}
-		return icon;
-	}
-
-	public Object getSourceDescriptor() {
-		return fSourceDescriptor;
-	}
-
-	public Object getSourceType() {
-		return fSourceType;
-	}
-
-	public ISnippetVariable[] getVariables() {
-		return (ISnippetVariable[]) fVariables.toArray(new ISnippetVariable[fVariables.size()]);
-	}
-
-	public void removeVariable(ISnippetVariable variable) {
-		fVariables.remove(variable);
-	}
-
-	public void setCategory(ISnippetCategory category) {
-		fCategory = (SnippetPaletteDrawer) category;
-		super.setParent((PaletteContainer) category);
-		if (fCategory == null)
-			setCategoryName(null);
-		else
-			setCategoryName(fCategory.getId());
-	}
-
-	public void setCategoryName(String categoryName) {
-		fCategoryName = categoryName;
-	}
-
-	public void setClassName(String className) {
-		fClassName = className;
-	}
-
-	public void setContentString(String contentString) {
-		fContentString = contentString;
-	}
-
-	public void setEditorClassName(String editorClassName) {
-		fEditorClassName = editorClassName;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.common.snippets.ui.ISnippetsEntry#setFilters(java.lang.String[])
-	 */
-	public void setFilters(String[] filters) {
-		fFilters = filters;
-	}
-
-	public void setIconName(String iconName) {
-		fIconName = iconName;
-	}
-
-	public void setId(String id) {
-		fId = id;
-	}
-
-	public void setLargeIconName(String largeIconName) {
-		fLargeIconName = largeIconName;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.gef.palette.PaletteEntry#setParent(org.eclipse.gef.palette.PaletteContainer)
-	 */
-	public void setParent(PaletteContainer newParent) {
-		setCategory((ISnippetCategory) newParent);
-	}
-
-	/**
-	 * Sets the sourceDescriptor.
-	 * 
-	 * @param sourceDescriptor
-	 *            The sourceDescriptor to set
-	 */
-	public void setSourceDescriptor(Object sourceDescriptor) {
-		fSourceDescriptor = sourceDescriptor;
-	}
-
-	/**
-	 * Sets the sourceType.
-	 * 
-	 * @param sourceType
-	 *            The sourceType to set
-	 */
-	public void setSourceType(Object sourceType) {
-		fSourceType = sourceType;
-	}
-
-	protected void setVariables(ISnippetVariable[] variables) {
-		fVariables = new ArrayList(variables.length);
-		fVariables.addAll(Arrays.asList(variables));
-	}
-
-	public IPath getStorageLocation() {
-		return SnippetManager.getInstance().getStorageLocation(getId());
-	}
-
-
-	public ISnippetProvider getProvider() {
-		return provider;
-	}
-
-	public void setProvider(ISnippetProvider provider) {
-		this.provider = provider;
-	}
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/palette/SnippetPaletteItemFactory.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/palette/SnippetPaletteItemFactory.java
deleted file mode 100644
index a036c8f..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/palette/SnippetPaletteItemFactory.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 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
- *******************************************************************************/
-package org.eclipse.wst.common.snippets.internal.palette;
-
-import org.eclipse.gef.palette.PaletteEntry;
-import org.eclipse.gef.ui.palette.customize.PaletteEntryFactory;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.wst.common.snippets.internal.SnippetsMessages;
-import org.eclipse.wst.common.snippets.internal.SnippetsPluginImageHelper;
-import org.eclipse.wst.common.snippets.internal.SnippetsPluginImages;
-
-public class SnippetPaletteItemFactory extends PaletteEntryFactory {
-
-	/**
-	 * 
-	 */
-	public SnippetPaletteItemFactory() {
-		super();
-		setLabel(SnippetsMessages.New_Item_Title); //$NON-NLS-1$
-		setImageDescriptor(SnippetsPluginImageHelper.getInstance().getImageDescriptor(SnippetsPluginImages.IMG_CLCL_NEW_TEMPLATE));
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.gef.ui.palette.customize.PaletteEntryFactory#createNewEntry(org.eclipse.swt.widgets.Shell)
-	 */
-	protected PaletteEntry createNewEntry(Shell shell) {
-		SnippetPaletteItem item = new SnippetPaletteItem(SnippetsMessages.Unnamed_Template_1); //$NON-NLS-1$
-		item.setId(SnippetsMessages.item + "_" + System.currentTimeMillis()); //$NON-NLS-1$ //$NON-NLS-2$
-		item.setLabel(SnippetsMessages.Unnamed_Template_1); //$NON-NLS-1$
-		item.setUserModificationPermission(PaletteEntry.PERMISSION_FULL_MODIFICATION);
-		return item;
-	}
-
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/palette/SnippetPaletteRoot.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/palette/SnippetPaletteRoot.java
deleted file mode 100644
index 1fbd949..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/palette/SnippetPaletteRoot.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 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
- *******************************************************************************/
-
-
-package org.eclipse.wst.common.snippets.internal.palette;
-
-import java.util.List;
-
-import org.eclipse.gef.palette.PaletteEntry;
-import org.eclipse.gef.palette.PaletteRoot;
-import org.eclipse.wst.common.snippets.internal.IEntryChangeListener;
-import org.eclipse.wst.common.snippets.internal.Logger;
-import org.eclipse.wst.common.snippets.internal.SnippetDefinitions;
-import org.eclipse.wst.common.snippets.internal.model.SnippetManager;
-
-
-public class SnippetPaletteRoot extends PaletteRoot implements IEntryChangeListener {
-
-	protected SnippetDefinitions fDefinitions = null;
-
-	public SnippetPaletteRoot(SnippetDefinitions definitions) {
-		super();
-		setDefinitions(definitions);
-	}
-
-	public void connect() {
-		SnippetManager.getInstance().addEntryChangeListener(this);
-		addPropertyChangeListener(SnippetManager.getInstance());
-	}
-
-	public void disconnect() {
-		removePropertyChangeListener(SnippetManager.getInstance());
-		SnippetManager.getInstance().removeEntryChangeListener(this);
-	}
-
-	/**
-	 * Gets the definitions.
-	 * 
-	 * @return Returns a SnippetDefinitions
-	 */
-	public SnippetDefinitions getDefinitions() {
-		return fDefinitions;
-	}
-
-
-	public void modelChanged(SnippetDefinitions oldDefinitions, SnippetDefinitions newDefinitions) {
-		setDefinitions(newDefinitions);
-	}
-
-	/**
-	 * @param definitions
-	 */
-	public void setDefinitions(SnippetDefinitions newDefinitions) {
-		SnippetDefinitions oldDefinitions = getDefinitions();
-		this.fDefinitions = newDefinitions;
-		List oldChildren = null;
-		if (oldDefinitions != null)
-			oldChildren = oldDefinitions.getCategories();
-		this.children = fDefinitions.getCategories();
-		for (int i = 0; i < children.size(); i++) {
-			((PaletteEntry) children.get(i)).setParent(this);
-		}
-		if (Logger.DEBUG_VIEWER_CONTENT)
-			System.out.println(getClass().getName() + '@' + hashCode() + " setting categories to: " + children); //$NON-NLS-1$
-		listeners.firePropertyChange(PROPERTY_CHILDREN, oldChildren, children);
-	}
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/palette/SnippetVariable.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/palette/SnippetVariable.java
deleted file mode 100644
index b56fb33..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/palette/SnippetVariable.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 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
- *******************************************************************************/
-
-
-package org.eclipse.wst.common.snippets.internal.palette;
-
-import org.eclipse.wst.common.snippets.core.ISnippetVariable;
-
-public class SnippetVariable implements ISnippetVariable {
-	protected String fDefaultValue;
-	protected String fDescription;
-
-	protected String fId;
-
-	protected String fName;
-
-	public SnippetVariable() {
-		super();
-	}
-
-	/**
-	 * Gets the defaultValue.
-	 * 
-	 * @return Returns a String
-	 */
-	public String getDefaultValue() {
-		if (fDefaultValue == null)
-			fDefaultValue = ""; //$NON-NLS-1$
-		return fDefaultValue;
-	}
-
-	/**
-	 * Gets the description.
-	 * 
-	 * @return Returns a String
-	 */
-	public String getDescription() {
-		return fDescription;
-	}
-
-	/**
-	 * Gets the id.
-	 * 
-	 * @return Returns a String
-	 */
-	public String getId() {
-		return fId;
-	}
-
-	/**
-	 * Gets the name.
-	 * 
-	 * @return Returns a String
-	 */
-	public String getName() {
-		if (fName == null || fName.length() == 0)
-			return fId;
-		return fName;
-	}
-
-	/**
-	 * Sets the defaultValue.
-	 * 
-	 * @param defaultValue
-	 *            The defaultValue to set
-	 */
-	public void setDefaultValue(String defaultValue) {
-		fDefaultValue = defaultValue;
-	}
-
-	/**
-	 * Sets the description.
-	 * 
-	 * @param description
-	 *            The description to set
-	 */
-	public void setDescription(String description) {
-		fDescription = description;
-	}
-
-	/**
-	 * Sets the id.
-	 * 
-	 * @param id
-	 *            The id to set
-	 */
-	public void setId(String id) {
-		fId = id;
-	}
-
-	/**
-	 * Sets the name.
-	 * 
-	 * @param name
-	 *            The name to set
-	 */
-	public void setName(String name) {
-		fName = name;
-	}
-
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/palette/UserModelDumper.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/palette/UserModelDumper.java
deleted file mode 100644
index 0e17e74..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/palette/UserModelDumper.java
+++ /dev/null
@@ -1,289 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2009 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
- *******************************************************************************/
-package org.eclipse.wst.common.snippets.internal.palette;
-
-import java.io.ByteArrayOutputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.UnsupportedEncodingException;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.gef.palette.PaletteDrawer;
-import org.eclipse.wst.common.snippets.core.ISnippetCategory;
-import org.eclipse.wst.common.snippets.core.ISnippetItem;
-import org.eclipse.wst.common.snippets.core.ISnippetVariable;
-import org.eclipse.wst.common.snippets.core.ISnippetsEntry;
-import org.eclipse.wst.common.snippets.internal.Logger;
-import org.eclipse.wst.common.snippets.internal.PluginRecord;
-import org.eclipse.wst.common.snippets.internal.SnippetDefinitions;
-import org.eclipse.wst.common.snippets.internal.SnippetsPlugin;
-import org.eclipse.wst.common.snippets.internal.util.CommonXML;
-import org.eclipse.wst.common.snippets.internal.util.StringUtils;
-import org.osgi.framework.Bundle;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-public class UserModelDumper {
-
-	private static UserModelDumper dumper = null;
-
-	public synchronized static UserModelDumper getInstance() {
-		if (dumper == null) {
-			dumper = new UserModelDumper();
-		}
-		return dumper;
-	}
-
-	protected UserModelDumper() {
-		super();
-	}
-
-	/**
-	 * Save the properties known for ISnippetsEntry
-	 */
-	protected void assignEntryProperties(ISnippetsEntry entry, Element owningElement) {
-		if (entry instanceof SnippetPaletteDrawer) {
-			owningElement.setAttribute(SnippetsPlugin.NAMES.ID, ((SnippetPaletteDrawer) entry).getId());
-			if (((SnippetPaletteDrawer) entry).getSmallIconName() != null)
-				owningElement.setAttribute(SnippetsPlugin.NAMES.SMALLICON, ((SnippetPaletteDrawer) entry).getSmallIconName());
-			if (entry.getLabel() != null)
-				owningElement.setAttribute(SnippetsPlugin.NAMES.LABEL, entry.getLabel());
-			if (((SnippetPaletteDrawer) entry).getLargeIconName() != null)
-				owningElement.setAttribute(SnippetsPlugin.NAMES.LARGEICON, ((SnippetPaletteDrawer) entry).getLargeIconName());
-		}
-		if (entry instanceof SnippetPaletteItem) {
-			owningElement.setAttribute(SnippetsPlugin.NAMES.ID, ((SnippetPaletteItem) entry).getId());
-			if (((SnippetPaletteItem) entry).getSmallIconName() != null)
-				owningElement.setAttribute(SnippetsPlugin.NAMES.SMALLICON, ((SnippetPaletteItem) entry).getSmallIconName());
-			if (entry.getLabel() != null)
-				owningElement.setAttribute(SnippetsPlugin.NAMES.LABEL, entry.getLabel());
-			if (((SnippetPaletteItem) entry).getLargeIconName() != null)
-				owningElement.setAttribute(SnippetsPlugin.NAMES.LARGEICON, ((SnippetPaletteItem) entry).getLargeIconName());
-		}
-		owningElement.appendChild(createDescription(owningElement.getOwnerDocument(), entry.getDescription()));
-	}
-
-	/**
-	 * If the ISnippetsEntry has a PluginRecord, save the plugin information
-	 */
-	protected void assignSourceFor(ISnippetsEntry entry, Element owningElement) {
-		if (entry.getSourceType() == ISnippetsEntry.SNIPPET_SOURCE_PLUGINS) {
-			PluginRecord record = (PluginRecord) entry.getSourceDescriptor();
-			owningElement.setAttribute(SnippetsPlugin.NAMES.PLUGIN, record.getPluginName());
-			owningElement.setAttribute(SnippetsPlugin.NAMES.VERSION, record.getPluginVersion());
-		}
-		else if (entry.getSourceType() == ISnippetsEntry.SNIPPET_SOURCE_WORKSPACE) {
-			owningElement.setAttribute(SnippetsPlugin.NAMES.SHARED, SnippetsPlugin.NAMES.SHARED);
-		}
-	}
-
-	/**
-	 * Create and save the properties known for LibraryCategories
-	 */
-	protected Element createCategory(Document doc, ISnippetCategory category) {
-		Element element = doc.createElement(SnippetsPlugin.NAMES.CATEGORY);
-		assignSourceFor(category, element);
-		// if the category came from a plugin, only store a placeholder
-		// to maintain the ordering [it will be reloaded in subsequent
-		// sessions directly from the plugin definitions]
-		element.setAttribute(SnippetsPlugin.NAMES.ID, ((SnippetPaletteDrawer) category).getId());
-		if (category instanceof PaletteDrawer) {
-			element.setAttribute(SnippetsPlugin.NAMES.INITIAL_STATE, Integer.toString(((PaletteDrawer) category).getInitialState()));
-		}
-		String[] filters = category.getFilters();
-		if (filters.length > 0) {
-			String filtersAttr = filters[0];
-			if (filters.length > 1) {
-				for (int i = 1; i < filters.length; i++) {
-					filtersAttr += " " + filters[i]; //$NON-NLS-1$
-				}
-			}
-			element.setAttribute("filters", filtersAttr); //$NON-NLS-1$
-		}
-		if (category.getSourceType() == ISnippetsEntry.SNIPPET_SOURCE_USER) {
-			assignEntryProperties(category, element);
-
-			for (int i = 0; i < category.getItems().length; i++) {
-				ISnippetItem item = category.getItems()[i];
-				Element child = createItem(doc, item);
-				element.appendChild(child);
-			}
-		}
-
-		if (Logger.DEBUG_DEFINITION_PERSISTENCE)
-			System.out.println("User item writer saving category " + ((SnippetPaletteDrawer) category).getId()); //$NON-NLS-1$
-		return element;
-	}
-
-	/**
-	 * Create and save the content property of a ISnippetItem - always place
-	 * it in a CDATA section for consistency
-	 */
-	protected Element createContent(Document doc, ISnippetItem item) {
-		Element element = doc.createElement(SnippetsPlugin.NAMES.CONTENT);
-		String contents = item.getContentString();
-		if (contents != null && contents.length() > 0) {
-			/*
-			 * EOL translation
-			 * (https://bugs.eclipse.org/bugs/show_bug.cgi?id=102941).
-			 * Normalize to '\n'.
-			 */
-			contents = StringUtils.replace(contents, "\r\n", "\n"); //$NON-NLS-1$ //$NON-NLS-2$
-			contents = StringUtils.replace(contents, "\r", "\n"); //$NON-NLS-1$ //$NON-NLS-2$
-			element.appendChild(doc.createCDATASection(contents));
-		}
-		return element;
-	}
-
-	/**
-	 * Create and save the content property of a ISnippetItem - always place
-	 * it in a CDATA section for consistency
-	 */
-	protected Element createDescription(Document doc, String description) {
-		Element element = doc.createElement(SnippetsPlugin.NAMES.DESCRIPTION);
-		if (description != null && description.length() > 0)
-			element.appendChild(doc.createCDATASection(description));
-		return element;
-	}
-
-	protected Document createDocument(SnippetDefinitions defs) {
-		Document document = CommonXML.getDocumentBuilder().getDOMImplementation().createDocument(null, SnippetsPlugin.NAMES.SNIPPETS, null);
-		Element root = document.getDocumentElement();
-		for (int i = 0; i < defs.getCategories().size(); i++) {
-			ISnippetCategory category = (ISnippetCategory) defs.getCategories().get(i);
-			Element categoryElement = createCategory(document, category);
-			root.appendChild(categoryElement);
-		}
-		return document;
-	}
-
-	/**
-	 * Create and save the properties known for LibraryItems
-	 */
-	protected Element createItem(Document doc, ISnippetItem item) {
-		Element element = doc.createElement(SnippetsPlugin.NAMES.ITEM);
-		assignEntryProperties(item, element);
-		assignSourceFor(item, element);
-		element.setAttribute(SnippetsPlugin.NAMES.CATEGORY, ((SnippetPaletteDrawer) item.getCategory()).getId());
-		if (((SnippetPaletteItem) item).getClassName() != null)
-			element.setAttribute(SnippetsPlugin.NAMES.CLASSNAME, ((SnippetPaletteItem) item).getClassName());
-		if (((SnippetPaletteItem) item).getEditorClassName() != null)
-			element.setAttribute(SnippetsPlugin.NAMES.EDITORCLASSNAME, ((SnippetPaletteItem) item).getEditorClassName());
-		if (((SnippetPaletteItem) item).getProvider() != null)
-			element.setAttribute(SnippetsPlugin.NAMES.PROVIDER_ID, ((SnippetPaletteItem) item).getProvider().getId());
-		element.appendChild(createContent(doc, item));
-		ISnippetVariable[] variables = item.getVariables();
-		for (int i = 0; i < variables.length; i++) {
-			Element variable = createVariable(doc, variables[i]);
-			element.appendChild(variable);
-		}
-		if (Logger.DEBUG_DEFINITION_PERSISTENCE)
-			System.out.println("User item writer saving item " + ((SnippetPaletteDrawer) item.getCategory()).getId() + ":" + ((SnippetPaletteItem) item).getId()); //$NON-NLS-1$ //$NON-NLS-2$
-		return element;
-	}
-
-	/**
-	 * Save the list of plugins already seen as there may no longer be
-	 * references to them in the remaining categories and items
-	 */
-	protected Element createPluginRecord(Document doc, PluginRecord record) {
-		Element element = doc.createElement(SnippetsPlugin.NAMES.PLUGIN);
-		element.setAttribute(SnippetsPlugin.NAMES.NAME, record.getPluginName());
-		element.setAttribute(SnippetsPlugin.NAMES.VERSION, record.getPluginVersion());
-		if (Logger.DEBUG_DEFINITION_PERSISTENCE)
-			System.out.println("User item writer saving plugin record " + record.getPluginName() + "/" + record.getPluginVersion()); //$NON-NLS-1$ //$NON-NLS-2$
-		return element;
-	}
-
-	/**
-	 * Create and save the values for a ISnippetVariable
-	 */
-	protected Element createVariable(Document doc, ISnippetVariable variable) {
-		Element element = doc.createElement(SnippetsPlugin.NAMES.VARIABLE);
-		element.setAttribute(SnippetsPlugin.NAMES.ID, ((SnippetVariable) variable).getId());
-		if (variable.getName() != null)
-			element.setAttribute(SnippetsPlugin.NAMES.NAME, variable.getName());
-		if (variable.getDefaultValue() != null)
-			element.setAttribute(SnippetsPlugin.NAMES.DEFAULT, variable.getDefaultValue());
-		element.appendChild(createDescription(doc, variable.getDescription()));
-		return element;
-	}
-
-	protected String getFilename() {
-		String name = null;
-		try {
-			Bundle bundle = Platform.getBundle(SnippetsPlugin.BUNDLE_ID);
-			name = Platform.getStateLocation(bundle).toOSString() + "/user.xml"; //$NON-NLS-1$
-		}
-		catch (Exception e) {
-			name = "/user.xml"; //$NON-NLS-1$
-		}
-		return name;
-	}
-
-	public String toXML(ISnippetsEntry entry) {
-		Document document = CommonXML.getDocumentBuilder().getDOMImplementation().createDocument(null, SnippetsPlugin.NAMES.SNIPPETS, null);
-		ByteArrayOutputStream output = new ByteArrayOutputStream();
-
-		if (entry instanceof ISnippetItem) {
-			ISnippetItem item = (ISnippetItem) entry;
-			Element itemElement = createItem(document, item);
-			document.getDocumentElement().appendChild(itemElement);
-		}
-		else {
-			ISnippetCategory category = (ISnippetCategory) entry;
-			Element categoryElement = createCategory(document, category);
-			document.getDocumentElement().appendChild(categoryElement);
-		}
-
-		try {
-			CommonXML.serialize(document, output);
-		}
-		catch (IOException e) {
-			return e.getMessage();
-		}
-		String retVal = null;
-		try {
-			retVal = new String(output.toByteArray(), "utf16"); //$NON-NLS-1$
-		}
-		catch (UnsupportedEncodingException e1) {
-			retVal = new String(output.toByteArray());
-		}
-		return retVal;
-	}
-
-	public void write(SnippetDefinitions definitions) {
-		try {
-			FileOutputStream ostream = new FileOutputStream(getFilename());
-			write(definitions, ostream);
-		}
-		catch (IOException e) {
-			Logger.logException("could not save " + getFilename(), e); //$NON-NLS-1$
-		}
-	}
-
-	public void write(SnippetDefinitions definitions, OutputStream stream) {
-		Document document = createDocument(definitions);
-		try {
-			CommonXML.serialize(document, stream);
-			stream.flush();
-		}
-		catch (IOException e) {
-			Logger.log(Logger.ERROR, "could not save " + stream, e); //$NON-NLS-1$
-		}
-		finally {
-			//				stream.close();
-			document = null;
-		}
-	}
-
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/palette/WorkspaceModelDumper.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/palette/WorkspaceModelDumper.java
deleted file mode 100644
index 4c649a8..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/palette/WorkspaceModelDumper.java
+++ /dev/null
@@ -1,256 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 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
- *******************************************************************************/
-
-
-package org.eclipse.wst.common.snippets.internal.palette;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.UnsupportedEncodingException;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.wst.common.snippets.core.ISnippetCategory;
-import org.eclipse.wst.common.snippets.core.ISnippetItem;
-import org.eclipse.wst.common.snippets.core.ISnippetVariable;
-import org.eclipse.wst.common.snippets.core.ISnippetsEntry;
-import org.eclipse.wst.common.snippets.internal.Logger;
-import org.eclipse.wst.common.snippets.internal.PluginRecord;
-import org.eclipse.wst.common.snippets.internal.SnippetsPlugin;
-import org.eclipse.wst.common.snippets.internal.util.CommonXML;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-public class WorkspaceModelDumper {
-
-	private static WorkspaceModelDumper dumper = null;
-
-	public synchronized static WorkspaceModelDumper getInstance() {
-		if (dumper == null) {
-			dumper = new WorkspaceModelDumper();
-		}
-		return dumper;
-	}
-
-	protected WorkspaceModelDumper() {
-		super();
-	}
-
-	/**
-	 * Save the properties known for ISnippetsEntry
-	 */
-	protected void assignEntryProperties(ISnippetsEntry entry, Element owningElement) {
-		if (entry instanceof SnippetPaletteDrawer) {
-			SnippetPaletteDrawer drawer = (SnippetPaletteDrawer) entry;
-			owningElement.setAttribute(SnippetsPlugin.NAMES.ID, drawer.getId());
-			owningElement.setAttribute(SnippetsPlugin.NAMES.SMALLICON, drawer.getSmallIconName());
-			owningElement.setAttribute(SnippetsPlugin.NAMES.LABEL, drawer.getLabel());
-			owningElement.setAttribute(SnippetsPlugin.NAMES.LARGEICON, drawer.getLargeIconName());
-		}
-		if (entry instanceof SnippetPaletteItem) {
-			SnippetPaletteItem item = (SnippetPaletteItem) entry;
-			owningElement.setAttribute(SnippetsPlugin.NAMES.ID, item.getId());
-			owningElement.setAttribute(SnippetsPlugin.NAMES.SMALLICON, item.getSmallIconName());
-			owningElement.setAttribute(SnippetsPlugin.NAMES.LABEL, item.getLabel());
-			owningElement.setAttribute(SnippetsPlugin.NAMES.LARGEICON, item.getLargeIconName());
-		}
-		owningElement.appendChild(createDescription(owningElement.getOwnerDocument(), entry.getDescription()));
-	}
-
-	/**
-	 * If the ISnippetsEntry has a PluginRecord, save the plugin information
-	 */
-	protected void assignSourceFor(ISnippetsEntry entry, Element owningElement) {
-		if (entry.getSourceType() == ISnippetsEntry.SNIPPET_SOURCE_WORKSPACE) {
-			owningElement.setAttribute(SnippetsPlugin.NAMES.SHARED, SnippetsPlugin.NAMES.SHARED);
-		}
-	}
-
-	/**
-	 * Create and save the properties known for LibraryCategories
-	 */
-	protected Element createCategory(Document doc, ISnippetCategory category) {
-		Element element = doc.createElement(SnippetsPlugin.NAMES.CATEGORY);
-		assignSourceFor(category, element);
-		// if the category came from a plugin, only store a placeholder
-		// to maintain the ordering [it will be reloaded in subsequent
-		// sessions directly from the plugin definitions]
-		element.setAttribute(SnippetsPlugin.NAMES.ID, ((SnippetPaletteDrawer) category).getId());
-		String[] filters = category.getFilters();
-		if (filters.length > 0) {
-			String filtersAttr = filters[0];
-			if (filters.length > 1) {
-				for (int i = 1; i < filters.length; i++) {
-					filtersAttr += " " + filters[i]; //$NON-NLS-1$
-				}
-			}
-			element.setAttribute("filters", filtersAttr); //$NON-NLS-1$
-		}
-		if (category.getSourceType() == ISnippetsEntry.SNIPPET_SOURCE_WORKSPACE) {
-			assignEntryProperties(category, element);
-
-			for (int i = 0; i < category.getItems().length; i++) {
-				ISnippetItem item = category.getItems()[i];
-				Element child = createItem(doc, item);
-				element.appendChild(child);
-			}
-		}
-
-		if (Logger.DEBUG_DEFINITION_PERSISTENCE)
-			System.out.println("User item writer saving category " + ((SnippetPaletteDrawer) category).getId()); //$NON-NLS-1$
-		return element;
-	}
-
-	/**
-	 * Create and save the content property of a ISnippetItem - always place
-	 * it in a CDATA section for consistency
-	 */
-	protected Element createContent(Document doc, ISnippetItem item) {
-		Element element = doc.createElement(SnippetsPlugin.NAMES.CONTENT);
-		element.appendChild(doc.createCDATASection(item.getContentString()));
-		return element;
-	}
-
-	/**
-	 * Create and save the content property of a ISnippetItem - always place
-	 * it in a CDATA section for consistency
-	 */
-	protected Element createDescription(Document doc, String description) {
-		Element element = doc.createElement(SnippetsPlugin.NAMES.DESCRIPTION);
-		if (description != null)
-			element.appendChild(doc.createCDATASection(description));
-		else
-			element.appendChild(doc.createCDATASection("")); //$NON-NLS-1$
-		return element;
-	}
-
-	protected Document createDocument(ISnippetCategory category) {
-		Document document = CommonXML.getDocumentBuilder().getDOMImplementation().createDocument(null, SnippetsPlugin.NAMES.SNIPPETS, null);
-		Element root = document.getDocumentElement();
-		Element categoryElement = createCategory(document, category);
-		root.appendChild(categoryElement);
-		return document;
-	}
-
-	/**
-	 * Create and save the properties known for LibraryItems
-	 */
-	protected Element createItem(Document doc, ISnippetItem item) {
-		Element element = doc.createElement(SnippetsPlugin.NAMES.ITEM);
-		assignEntryProperties(item, element);
-		assignSourceFor(item, element);
-		element.setAttribute(SnippetsPlugin.NAMES.CATEGORY, ((SnippetPaletteDrawer) item.getCategory()).getId());
-		element.setAttribute(SnippetsPlugin.NAMES.CLASSNAME, ((SnippetPaletteItem) item).getClassName());
-		element.setAttribute(SnippetsPlugin.NAMES.EDITORCLASSNAME, ((SnippetPaletteItem) item).getEditorClassName());
-		element.appendChild(createContent(doc, item));
-		ISnippetVariable[] variables = item.getVariables();
-		for (int i = 0; i < variables.length; i++) {
-			Element variable = createVariable(doc, variables[i]);
-			element.appendChild(variable);
-		}
-		if (Logger.DEBUG_DEFINITION_PERSISTENCE)
-			System.out.println("User item writer saving item " + ((SnippetPaletteDrawer) item.getCategory()).getId() + ":" + ((SnippetPaletteItem) item).getId()); //$NON-NLS-1$ //$NON-NLS-2$
-		return element;
-	}
-
-	/**
-	 * Save the list of plugins already seen as there may no longer be
-	 * references to them in the remaining categories and items
-	 */
-	protected Element createPluginRecord(Document doc, PluginRecord record) {
-		Element element = doc.createElement(SnippetsPlugin.NAMES.PLUGIN);
-		element.setAttribute(SnippetsPlugin.NAMES.NAME, record.getPluginName());
-		element.setAttribute(SnippetsPlugin.NAMES.VERSION, record.getPluginVersion());
-		if (Logger.DEBUG_DEFINITION_PERSISTENCE)
-			System.out.println("User item writer saving plugin record " + record.getPluginName() + "/" + record.getPluginVersion()); //$NON-NLS-1$ //$NON-NLS-2$
-		return element;
-	}
-
-	/**
-	 * Create and save the values for a ISnippetVariable
-	 */
-	protected Element createVariable(Document doc, ISnippetVariable variable) {
-		Element element = doc.createElement(SnippetsPlugin.NAMES.VARIABLE);
-		element.setAttribute(SnippetsPlugin.NAMES.ID, ((SnippetVariable) variable).getId());
-		element.setAttribute(SnippetsPlugin.NAMES.NAME, variable.getName());
-		element.setAttribute(SnippetsPlugin.NAMES.DEFAULT, variable.getDefaultValue());
-		element.appendChild(createDescription(doc, variable.getDescription()));
-		return element;
-	}
-
-	public String toXML(ISnippetsEntry entry) {
-		Document document = CommonXML.getDocumentBuilder().getDOMImplementation().createDocument(null, SnippetsPlugin.NAMES.SNIPPETS, null);
-		ByteArrayOutputStream output = new ByteArrayOutputStream();
-
-		if (entry instanceof ISnippetItem) {
-			ISnippetItem item = (ISnippetItem) entry;
-			Element itemElement = createItem(document, item);
-			document.getDocumentElement().appendChild(itemElement);
-		}
-		else {
-			ISnippetCategory category = (ISnippetCategory) entry;
-			Element categoryElement = createCategory(document, category);
-			document.getDocumentElement().appendChild(categoryElement);
-		}
-
-		try {
-			CommonXML.serialize(document, output);
-		}
-		catch (IOException e) {
-			return e.getMessage();
-		}
-		String retVal = null;
-		try {
-			retVal = new String(output.toByteArray(), "utf16"); //$NON-NLS-1$
-		}
-		catch (UnsupportedEncodingException e1) {
-			retVal = new String(output.toByteArray());
-		}
-		return retVal;
-	}
-
-	// nsd_TODO: set a valid encoding
-	public void write(ISnippetCategory category, IFile file) {
-		ByteArrayOutputStream output = new ByteArrayOutputStream();
-		write(category, output);
-		byte[] array = output.toByteArray();
-		try {
-			file.setContents(new ByteArrayInputStream(array), false, false, new NullProgressMonitor());
-		}
-		catch (CoreException e) {
-			Logger.logException(e);
-		}
-	}
-
-	public void write(ISnippetCategory category, OutputStream ostream) {
-		Document document = createDocument(category);
-		try {
-			CommonXML.serialize(document, ostream); //$NON-NLS-1$
-			ostream.flush();
-		}
-		catch (IOException e) {
-			Logger.log(Logger.ERROR, "could not save " + ostream, e); //$NON-NLS-1$
-		}
-		finally {
-			try {
-				ostream.close();
-				document = null;
-			}
-			catch (IOException e) {
-				// do nothing
-			}
-		}
-	}
-
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/team/CategoryFileInfo.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/team/CategoryFileInfo.java
deleted file mode 100644
index 8b058da..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/team/CategoryFileInfo.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 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
- *******************************************************************************/
-package org.eclipse.wst.common.snippets.internal.team;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.wst.common.snippets.core.ISnippetCategory;
-
-
-/**
- * Describes
- */
-
-public class CategoryFileInfo {
-//	private final SnippetDefinitionResourceChangeListener fListener;
-	public ISnippetCategory ownerCategory;
-	public IFile ownerFile;
-
-	public CategoryFileInfo(SnippetDefinitionResourceChangeListener listener, IFile file, ISnippetCategory category) {
-		super();
-//		this.fListener = listener;
-		ownerFile = file;
-		ownerCategory = category;
-	}
-
-	public ISnippetCategory getCategory() {
-		return ownerCategory;
-	}
-
-	public IFile getFile() {
-		return ownerFile;
-	}
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/team/SnippetDefinitionResourceChangeListener.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/team/SnippetDefinitionResourceChangeListener.java
deleted file mode 100644
index 53d91d8..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/team/SnippetDefinitionResourceChangeListener.java
+++ /dev/null
@@ -1,363 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 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
- *******************************************************************************/
-package org.eclipse.wst.common.snippets.internal.team;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IResourceDeltaVisitor;
-import org.eclipse.core.resources.IResourceProxy;
-import org.eclipse.core.resources.IResourceProxyVisitor;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.gef.palette.PaletteDrawer;
-import org.eclipse.gef.palette.PaletteEntry;
-import org.eclipse.wst.common.snippets.core.ISnippetCategory;
-import org.eclipse.wst.common.snippets.internal.Logger;
-import org.eclipse.wst.common.snippets.internal.SnippetDefinitions;
-import org.eclipse.wst.common.snippets.internal.model.SnippetManager;
-import org.eclipse.wst.common.snippets.internal.palette.ModelFactoryForWorkspace;
-import org.eclipse.wst.common.snippets.internal.palette.SnippetPaletteDrawer;
-
-
-/**
- * Resource listener for Library Definition files. Each file contains exactly
- * one category.
- */
-
-public class SnippetDefinitionResourceChangeListener implements IResourceChangeListener {
-
-	/**
-	 * Visitor for handling resource deltas.
-	 */
-	protected class LibraryDefinitionVisitor implements IResourceDeltaVisitor {
-		/**
-		 * @see IResourceDeltaVisitor#visit(IResourceDelta)
-		 */
-		public boolean visit(IResourceDelta delta) {
-			if (delta == null) {
-				return false;
-			}
-			if (0 != (delta.getFlags() & IResourceDelta.OPEN)) {
-				if (delta.getResource() instanceof IProject) {
-					IProject project = (IProject) delta.getResource();
-					try {
-						if (project.isOpen()) {
-							SnippetDefinitionResourceChangeListener.this.projectOpened(project);
-						}
-						else {
-							SnippetDefinitionResourceChangeListener.this.projectClosed(project);
-						}
-					}
-					catch (CoreException e) {
-						Logger.logException(e);
-					}
-				}
-				return false;
-			}
-			IResource resource = delta.getResource();
-			if (resource instanceof IFile) {
-				IFile file = (IFile) resource;
-				if (SnippetDefinitionResourceChangeListener.SNIPPET_DEFINITION_EXTENSION.equals(file.getFileExtension())) {
-					IPath categoryPath = file.getLocation();
-					// If the file has already been deleted, reconstruct the
-					// full
-					// filesystem path
-					if (categoryPath == null) {
-						IPath workspaceRelativePath = delta.getFullPath();
-						categoryPath = SnippetDefinitionResourceChangeListener.this.getWorkspaceRoot().getLocation().append(workspaceRelativePath);
-					}
-					// TODO: Load category from disk.
-					CategoryFileInfo handle = SnippetDefinitionResourceChangeListener.this.createCategoryInfo(file);
-					switch (delta.getKind()) {
-						case IResourceDelta.ADDED :
-							SnippetDefinitionResourceChangeListener.this.categoryAdded(handle);
-							break;
-						case IResourceDelta.CHANGED :
-							SnippetDefinitionResourceChangeListener.this.categoryChanged(handle);
-							break;
-						case IResourceDelta.REMOVED :
-							SnippetDefinitionResourceChangeListener.this.categoryRemoved(handle);
-							break;
-					}
-				}
-				return false;
-			}
-			else if (resource instanceof IContainer) {
-				return true;
-			}
-			return true;
-		}
-	}
-
-	/**
-	 * Collects files whose extension matches the launch configuration file
-	 * extension.
-	 */
-	protected class ResourceProxyVisitor implements IResourceProxyVisitor {
-
-		protected List fList;
-
-		protected ResourceProxyVisitor(List list) {
-			fList = list;
-		}
-
-		/**
-		 * @see org.eclipse.core.resources.IResourceProxyVisitor#visit(org.eclipse.core.resources.IResourceProxy)
-		 */
-		public boolean visit(IResourceProxy proxy) throws CoreException {
-			if (proxy.getType() == IResource.FILE) {
-				if (SnippetDefinitionResourceChangeListener.SNIPPET_DEFINITION_EXTENSION.equalsIgnoreCase(proxy.requestFullPath().getFileExtension())) {
-					fList.add(proxy.requestResource());
-				}
-				return false;
-			}
-			return true;
-		}
-	}
-
-	public static final String SNIPPET_DEFINITION_EXTENSION = "snippet"; //$NON-NLS-1$
-
-	protected List fCategoryList = null;
-
-	protected LibraryDefinitionVisitor fVisitor = null;
-
-	/**
-	 * 
-	 */
-	public SnippetDefinitionResourceChangeListener() {
-		super();
-		initialize();
-	}
-
-	protected void categoryAdded(CategoryFileInfo info) { // add to
-		// definition list
-		categoryChanged(info);
-	}
-
-	protected void categoryChanged(CategoryFileInfo info) { // update in
-		// definition list
-		if (info.getCategory() == null)
-			return;
-		int oldIndex = -1;
-		List categories = SnippetManager.getInstance().getPaletteRoot().getChildren();
-		for (int i = 0; i < categories.size(); i++) {
-			if (((SnippetPaletteDrawer) categories.get(i)).getId().equals(((SnippetPaletteDrawer) info.getCategory()).getId())) {
-				SnippetManager.getInstance().getPaletteRoot().remove((PaletteEntry) categories.get(i));
-				oldIndex = i;
-				break;
-			}
-		}
-		SnippetManager.getInstance().getPaletteRoot().remove((PaletteEntry) info.getCategory());
-		if (oldIndex >= 0)
-			SnippetManager.getInstance().getPaletteRoot().add(oldIndex, (PaletteDrawer) info.getCategory());
-		else
-			SnippetManager.getInstance().getPaletteRoot().add((PaletteDrawer) info.getCategory());
-	}
-
-	protected void categoryRemoved(CategoryFileInfo info) {
-		if (info.getCategory() == null)
-			return;
-		SnippetManager.getInstance().getPaletteRoot().remove((PaletteEntry) info.getCategory());
-	}
-
-	protected CategoryFileInfo createCategoryInfo(IFile file) {
-		SnippetDefinitions defs = ModelFactoryForWorkspace.getWorkspaceInstance().loadFrom(file);
-		ISnippetCategory category = null;
-		if (defs.getCategories().size() > 0) {
-			category = (ISnippetCategory) defs.getCategories().get(0);
-		}
-		CategoryFileInfo result = new CategoryFileInfo(this, file, category);
-		if (category != null)
-			((SnippetPaletteDrawer) category).setSourceDescriptor(result);
-		return result;
-	}
-
-	/**
-	 * Finds and returns all launch configurations in the given container (and
-	 * subcontainers)
-	 * 
-	 * @param container
-	 *            the container to search
-	 * @exception CoreException
-	 *                an exception occurs traversing the container.
-	 * @return all launch configurations in the given container
-	 */
-	protected List findCategories(IContainer container) throws CoreException {
-		List list = new ArrayList(1);
-		if (container instanceof IProject && !((IProject) container).isOpen()) {
-			return list;
-		}
-		ResourceProxyVisitor visitor = new ResourceProxyVisitor(list);
-		try {
-			container.accept(visitor, IResource.NONE);
-		}
-		catch (CoreException ce) { // Closed project...should not be possible
-			// with previous check
-		}
-		Iterator iter = list.iterator();
-		List infos = new ArrayList(list.size());
-		while (iter.hasNext()) {
-			IFile file = (IFile) iter.next(); // TODO: create category from
-			// file
-			infos.add(createCategoryInfo(file));
-		}
-		return infos;
-	}
-
-	/**
-	 * Returns a collection of all categories in the workspace. This
-	 * collection is initialized lazily.
-	 * 
-	 * @return all launch configuration handles
-	 */
-	protected List getAllCategories() throws CoreException {
-		if (fCategoryList == null) {
-			fCategoryList = new ArrayList(0);
-			List categories = findCategories(getWorkspaceRoot());
-			fCategoryList.addAll(categories);
-		}
-		return fCategoryList;
-	}
-
-	/**
-	 * @return
-	 */
-	public List getCategoryList() {
-		if (fCategoryList == null)
-			fCategoryList = new ArrayList();
-		return fCategoryList;
-	}
-
-	/**
-	 * Returns all launch configurations that are stored as resources in the
-	 * given project.
-	 * 
-	 * @param project
-	 *            a project
-	 * @return collection of launch configurations that are stored as
-	 *         resources in the given project
-	 */
-	protected List getCategoryRecords(IProject project) throws CoreException {
-		Iterator iter = getAllCategories().iterator();
-		List infos = new ArrayList();
-		while (iter.hasNext()) {
-			CategoryFileInfo info = (CategoryFileInfo) iter.next();
-			IFile file = info.getFile();
-			if (file != null && file.getProject().equals(project)) {
-				infos.add(info);
-			}
-		}
-		return infos;
-	}
-
-	protected IWorkspace getWorkspace() {
-		return ResourcesPlugin.getWorkspace();
-	}
-
-	protected IWorkspaceRoot getWorkspaceRoot() {
-		return getWorkspace().getRoot();
-	}
-
-	/**
-	 * 
-	 */
-	protected void initialize() {
-		IProject[] projects = getWorkspaceRoot().getProjects();
-		for (int i = 0; i < projects.length; i++) {
-			if (projects[i].isOpen()) {
-				try {
-					projectOpened(projects[i]);
-				}
-				catch (CoreException e) {
-				}
-			}
-			else {
-				try {
-					projectClosed(projects[i]);
-				}
-				catch (CoreException e) {
-				}
-			}
-		}
-	}
-
-	/**
-	 * The specified project has just closed - remove its launch
-	 * configurations from the cached index.
-	 * 
-	 * @param project
-	 *            the project that has been closed
-	 * @exception CoreException
-	 *                if writing the index fails
-	 */
-	protected void projectClosed(IProject project) throws CoreException {
-		List infos = getCategoryRecords(project);
-		if (!infos.isEmpty()) {
-			Iterator iterator = infos.iterator();
-			while (iterator.hasNext()) { // TODO: remove the categories
-				// from the model
-				categoryRemoved((CategoryFileInfo) iterator.next());
-			}
-		}
-	}
-
-	/**
-	 * The specified project has just opened - add all launch configs in the
-	 * project to the index of all configs.
-	 * 
-	 * @param project
-	 *            the project that has been opened
-	 * @exception CoreException
-	 *                if reading the index fails
-	 */
-	protected void projectOpened(IProject project) throws CoreException {
-		// TODO: Add all of the definitions in this project to the model
-		List configs = getCategoryRecords(project);
-		if (!configs.isEmpty()) {
-			Iterator iterator = configs.iterator();
-			while (iterator.hasNext()) {
-				// TODO: remove the categories
-				// from the model
-				categoryAdded((CategoryFileInfo) iterator.next());
-			}
-		}
-	}
-
-	/**
-	 * @see org.eclipse.core.resources.IResourceChangeListener#resourceChanged(org.eclipse.core.resources.IResourceChangeEvent)
-	 */
-	public void resourceChanged(IResourceChangeEvent event) {
-		IResourceDelta delta = event.getDelta();
-		if (delta != null) {
-			try {
-				if (fVisitor == null) {
-					fVisitor = new LibraryDefinitionVisitor();
-				}
-				delta.accept(fVisitor);
-			}
-			catch (CoreException e) {
-				Logger.logException(e);
-			}
-		}
-	}
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/ui/EntryDeserializer.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/ui/EntryDeserializer.java
deleted file mode 100644
index 5d38303..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/ui/EntryDeserializer.java
+++ /dev/null
@@ -1,247 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2009 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
- *******************************************************************************/
-
-
-package org.eclipse.wst.common.snippets.internal.ui;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-
-import org.eclipse.wst.common.snippets.core.ISnippetVariable;
-import org.eclipse.wst.common.snippets.core.ISnippetsEntry;
-import org.eclipse.wst.common.snippets.internal.Logger;
-import org.eclipse.wst.common.snippets.internal.SnippetsPlugin;
-import org.eclipse.wst.common.snippets.internal.palette.SnippetPaletteItem;
-import org.eclipse.wst.common.snippets.internal.palette.SnippetVariable;
-import org.eclipse.wst.common.snippets.internal.util.CommonXML;
-import org.eclipse.wst.common.snippets.internal.util.SnippetProviderManager;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-
-
-public class EntryDeserializer {
-	private static EntryDeserializer reader = null;
-
-	public synchronized static EntryDeserializer getInstance() {
-		// cached definitions will be out of sync once new definitions are
-		// written to disk
-		reader = new EntryDeserializer();
-		return reader;
-	}
-
-	private EntryDeserializer() {
-		super();
-	}
-
-	private void assignEntryProperties(Element element, SnippetPaletteItem entry) {
-		entry.setId(element.getAttribute(SnippetsPlugin.NAMES.ID));
-		entry.setIconName(element.getAttribute(SnippetsPlugin.NAMES.SMALLICON));
-		String description = createDescription(element);
-		String label = element.getAttribute(SnippetsPlugin.NAMES.LABEL);
-		if ((label == null || label.length() == 0) && description != null) {
-			label = description;
-			description = ""; //$NON-NLS-1$
-		}
-		entry.setDescription(description);
-		entry.setLabel(label);
-	}
-
-	private String createContent(Node item) {
-		return readCDATAofChild(item, SnippetsPlugin.NAMES.CONTENT);
-	}
-
-	private String createDescription(Node entryElement) {
-		return readCDATAofChild(entryElement, SnippetsPlugin.NAMES.DESCRIPTION);
-	}
-
-	private SnippetPaletteItem createItem(Element element) {
-		SnippetPaletteItem item = new SnippetPaletteItem(element.getAttribute(SnippetsPlugin.NAMES.ID));
-		assignEntryProperties(element, item);
-		item.setContentString(createContent(element));
-		item.setCategoryName(element.getAttribute(SnippetsPlugin.NAMES.CATEGORY));
-		item.setClassName(element.getAttribute(SnippetsPlugin.NAMES.CLASSNAME));
-		item.setEditorClassName(element.getAttribute(SnippetsPlugin.NAMES.EDITORCLASSNAME));
-		item.setProvider(SnippetProviderManager.findProvider(element.getAttribute(SnippetsPlugin.NAMES.PROVIDER_ID)));
-		NodeList children = element.getChildNodes();
-		int length = children.getLength();
-		for (int i = 0; i < length; i++) {
-			Node child = children.item(i);
-			if (child.getNodeType() == Node.ELEMENT_NODE && child.getNodeName().equals(SnippetsPlugin.NAMES.VARIABLE)) {
-				ISnippetVariable var = createVariable((Element) child);
-				if (var != null)
-					item.addVariable(var);
-			}
-		}
-		if (Logger.DEBUG_DEFINITION_PERSISTENCE)
-			System.out.println("User item reader creating item " + item.getId()); //$NON-NLS-1$
-		return item;
-	}
-
-	private ISnippetVariable createVariable(Element element) {
-		SnippetVariable var = new SnippetVariable();
-		var.setId(element.getAttribute(SnippetsPlugin.NAMES.ID));
-		var.setName(element.getAttribute(SnippetsPlugin.NAMES.NAME));
-		var.setDescription(createDescription(element));
-		var.setDefaultValue(element.getAttribute(SnippetsPlugin.NAMES.DEFAULT));
-		return var;
-	}
-
-	public ISnippetsEntry fromXML(byte[] xml) {
-		ISnippetsEntry entry = null;
-		try {
-			Document document = CommonXML.getDocumentBuilder().parse(new InputSource(new ByteArrayInputStream(xml)));
-			Element el = document.getDocumentElement();
-			if (el != null && el.hasChildNodes()) {
-				Node child = el.getFirstChild();
-				while (child.getNodeType() != Node.ELEMENT_NODE)
-					child = child.getNextSibling();
-				if (child.getNodeName().equals(SnippetsPlugin.NAMES.ITEM)) {
-					SnippetPaletteItem item = createItem((Element) child);
-					item.setCategoryName(null);
-					item.setCategory(null);
-					item.setClassName(null);
-					item.setEditorClassName(null);
-					item.setIconName(null);
-					entry = item;
-				}
-				else if (child.getNodeName().equals(SnippetsPlugin.NAMES.CATEGORY)) {
-				}
-			}
-		}
-		catch (SAXException e) {
-		}
-		catch (IOException e) {
-		}
-		return entry;
-	}
-
-	/**
-	 * Extracts the contents of a CDATA section arranged like this:
-	 * 
-	 * <node><otherChild/><childName><wrong element/> <![CDATA[ RETURNED
-	 * TEXT]]> </childName> </node>
-	 */
-	private String readCDATAofChild(Node node, String childName) {
-		NodeList children = node.getChildNodes();
-		for (int i = 0; i < children.getLength(); i++) {
-			Node child = children.item(i);
-			if (child.getNodeType() == Node.ELEMENT_NODE && child.getNodeName().equals(childName)) {
-				NodeList descriptionChildren = child.getChildNodes();
-				for (int j = 0; j < descriptionChildren.getLength(); j++) {
-					Node descriptionChild = descriptionChildren.item(j);
-					if (descriptionChild.getNodeType() == Node.CDATA_SECTION_NODE) {
-						String value = descriptionChild.getNodeValue();
-						if (value != null)
-							return value;
-					}
-				}
-				return ""; //$NON-NLS-1$
-			}
-		}
-		return ""; //$NON-NLS-1$
-	}
-
-	//
-	// protected void assignPluginRecordFor(ISnippetsEntry entry, Element
-	// owningElement) {
-	// if (entry.getPluginRecord() != null) {
-	// owningElement.setAttribute(SnippetsPlugin.NAMES.PLUGIN,
-	// entry.getPluginRecord().getPluginName());
-	// owningElement.setAttribute(SnippetsPlugin.NAMES.VERSION,
-	// entry.getPluginRecord().getPluginVersion());
-	// }
-	// }
-	//
-	// protected Element createCategory(Document doc, ISnippetCategory
-	// category) {
-	// Element element = doc.createElement(SnippetsPlugin.NAMES.CATEGORY);
-	// assignEntryProperties(category, element);
-	// assignPluginRecordFor(category, element);
-	// for (int i = 0; i < category.getChildren().size(); i++) {
-	// ISnippetItem item = (ISnippetItem) category.getChildren().get(i);
-	// Element child = createItem(doc, item);
-	// element.appendChild(child);
-	// }
-	// return element;
-	// }
-	//
-	// protected Element createContent(Document doc, ISnippetItem item) {
-	// Element element = doc.createElement(SnippetsPlugin.NAMES.CONTENT);
-	// element.appendChild(doc.createCDATASection(item.getContentString()));
-	// return element;
-	// }
-	//	
-	// protected String readDescription(Element parent) {
-	// return "";
-	// }
-	//
-	// protected Document createDocument(SnippetDefinitions defs) {
-	// Document document =
-	// CommonXML.getDocumentBuilder().getDOMImplementation().createDocument(null,
-	// SnippetsPlugin.NAMES.SNIPPETS, null);
-	// Element root = document.getDocumentElement();
-	// for (int i = 0; i < defs.getKnownPlugins().size(); i++) {
-	// PluginRecord record = (PluginRecord) defs.getKnownPlugins().get(i);
-	// root.appendChild(createPluginRecord(document, record));
-	// }
-	// for (int i = 0; i < defs.getCategories().size(); i++) {
-	// ISnippetCategory category = (ISnippetCategory)
-	// defs.getCategories().get(i);
-	// Element categoryElement = createCategory(document, category);
-	// root.appendChild(categoryElement);
-	// }
-	// return document;
-	// }
-	//
-	// protected Element createItem(Document doc, ISnippetItem item) {
-	// Element element = doc.createElement(SnippetsPlugin.NAMES.ITEM);
-	// assignEntryProperties(item, element);
-	// assignPluginRecordFor(item, element);
-	// element.setAttribute(SnippetsPlugin.NAMES.CATEGORY,
-	// item.getCategory().getId());
-	// element.setAttribute(SnippetsPlugin.NAMES.CLASSNAME,
-	// item.getClassName());
-	// element.setAttribute(SnippetsPlugin.NAMES.EDITORCLASSNAME,
-	// item.getEditorClassName());
-	// element.appendChild(createContent(doc, item));
-	// for (int i = 0; i < item.getVariables().size(); i++) {
-	// Element variable = createVariable(doc, (ISnippetVariable)
-	// item.getVariables().get(i));
-	// element.appendChild(variable);
-	// }
-	// return element;
-	// }
-	//
-	// protected Element createPluginRecord(Document doc, PluginRecord record)
-	// {
-	// Element element = doc.createElement(SnippetsPlugin.NAMES.PLUGIN);
-	// element.setAttribute(SnippetsPlugin.NAMES.NAME,
-	// record.getPluginName());
-	// element.setAttribute(SnippetsPlugin.NAMES.VERSION,
-	// record.getPluginVersion());
-	// return element;
-	// }
-	//
-	// protected Element createVariable(Document doc, ISnippetVariable
-	// variable) {
-	// Element element = doc.createElement(SnippetsPlugin.NAMES.VARIABLE);
-	// element.setAttribute(SnippetsPlugin.NAMES.ID, variable.getId());
-	// element.setAttribute(SnippetsPlugin.NAMES.DEFAULT,
-	// variable.getDefaultValue());
-	// element.appendChild(createDescription(doc, variable.getDescription()));
-	// return element;
-	// }
-
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/ui/EntrySerializer.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/ui/EntrySerializer.java
deleted file mode 100644
index b24971c..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/ui/EntrySerializer.java
+++ /dev/null
@@ -1,172 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2009 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
- *******************************************************************************/
-
-
-package org.eclipse.wst.common.snippets.internal.ui;
-
-import java.io.ByteArrayOutputStream;
-
-import org.eclipse.wst.common.snippets.core.ISnippetItem;
-import org.eclipse.wst.common.snippets.core.ISnippetVariable;
-import org.eclipse.wst.common.snippets.core.ISnippetsEntry;
-import org.eclipse.wst.common.snippets.internal.Logger;
-import org.eclipse.wst.common.snippets.internal.SnippetsPlugin;
-import org.eclipse.wst.common.snippets.internal.palette.SnippetPaletteDrawer;
-import org.eclipse.wst.common.snippets.internal.palette.SnippetPaletteItem;
-import org.eclipse.wst.common.snippets.internal.palette.SnippetVariable;
-import org.eclipse.wst.common.snippets.internal.util.CommonXML;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-
-public class EntrySerializer {
-
-	private static EntrySerializer writer = null;
-
-	public synchronized static EntrySerializer getInstance() {
-		if (writer == null) {
-			writer = new EntrySerializer();
-		}
-		return writer;
-	}
-
-	private EntrySerializer() {
-		super();
-	}
-
-	/**
-	 * Save the properties known for ISnippetsEntry
-	 */
-	private void assignEntryProperties(ISnippetsEntry entry, Element owningElement) {
-		if (entry instanceof SnippetPaletteItem) {
-			SnippetPaletteItem item = (SnippetPaletteItem) entry;
-			owningElement.setAttribute(SnippetsPlugin.NAMES.ID, item.getId());
-			if (item.getSmallIconName() != null)
-				owningElement.setAttribute(SnippetsPlugin.NAMES.SMALLICON, item.getSmallIconName());
-		}
-		if (entry instanceof SnippetPaletteDrawer) {
-			SnippetPaletteDrawer drawer = (SnippetPaletteDrawer) entry;
-			owningElement.setAttribute(SnippetsPlugin.NAMES.ID, drawer.getId());
-			if (drawer.getSmallIconName() != null)
-				owningElement.setAttribute(SnippetsPlugin.NAMES.SMALLICON, drawer.getSmallIconName());
-		}
-		if (entry.getDescription() != null)
-			owningElement.appendChild(createDescription(owningElement.getOwnerDocument(), entry.getDescription()));
-		if (entry.getLabel() != null)
-			owningElement.setAttribute(SnippetsPlugin.NAMES.LABEL, entry.getLabel());
-	}
-
-	/**
-	 * Create and save the properties known for Snippet Categories
-	 */
-	private Element createCategory(Document doc, SnippetPaletteDrawer category) {
-		Element element = doc.createElement(SnippetsPlugin.NAMES.CATEGORY);
-		assignEntryProperties(category, element);
-		for (int i = 0; i < category.getChildren().size(); i++) {
-			SnippetPaletteItem item = (SnippetPaletteItem) category.getChildren().get(i);
-			Element child = createItem(doc, item);
-			element.appendChild(child);
-		}
-		if (Logger.DEBUG_DEFINITION_PERSISTENCE)
-			System.out.println("User item writer saving category " + category.getId()); //$NON-NLS-1$
-		return element;
-	}
-
-	/**
-	 * Create and save the content property of a ISnippetItem - always place
-	 * it in a CDATA section for consistency
-	 */
-	private Element createContent(Document doc, ISnippetItem item) {
-		Element element = doc.createElement(SnippetsPlugin.NAMES.CONTENT);
-		element.appendChild(doc.createCDATASection(item.getContentString()));
-		return element;
-	}
-
-	/**
-	 * Create and save the content property of a ISnippetItem - always place
-	 * it in a CDATA section for consistency
-	 */
-	private Element createDescription(Document doc, String description) {
-		Element element = doc.createElement(SnippetsPlugin.NAMES.DESCRIPTION);
-		if (description != null)
-			element.appendChild(doc.createCDATASection(description));
-		else
-			element.appendChild(doc.createCDATASection("")); //$NON-NLS-1$
-		return element;
-	}
-
-	/**
-	 * Create and save the properties known for LibraryItems
-	 */
-	private Element createItem(Document doc, SnippetPaletteItem item) {
-		Element element = doc.createElement(SnippetsPlugin.NAMES.ITEM);
-		assignEntryProperties(item, element);
-		// JAXP is very picky about null values
-		if (item.getCategory() != null)
-			element.setAttribute(SnippetsPlugin.NAMES.CATEGORY, ((SnippetPaletteDrawer) item.getCategory()).getId());
-		if (item.getClassName() != null)
-			element.setAttribute(SnippetsPlugin.NAMES.CLASSNAME, item.getClassName());
-		if (item.getEditorClassName() != null)
-			element.setAttribute(SnippetsPlugin.NAMES.EDITORCLASSNAME, item.getEditorClassName());
-		if (item.getProvider() != null)
-			element.setAttribute(SnippetsPlugin.NAMES.PROVIDER_ID, item.getProvider().getId());
-		if (item.getContentString() != null)
-			element.appendChild(createContent(doc, item));
-		ISnippetVariable[] variables = item.getVariables();
-		for (int i = 0; i < variables.length; i++) {
-			Element variable = createVariable(doc, variables[i]);
-			element.appendChild(variable);
-		}
-		if (Logger.DEBUG_DEFINITION_PERSISTENCE)
-			System.out.println("User item writer saving item " + ((SnippetPaletteDrawer) item.getCategory()).getId() + ":" + item.getId()); //$NON-NLS-1$ //$NON-NLS-2$
-		return element;
-	}
-
-	/**
-	 * Create and save the values for a ISnippetVariable
-	 */
-	private Element createVariable(Document doc, ISnippetVariable variable) {
-		Element element = doc.createElement(SnippetsPlugin.NAMES.VARIABLE);
-		element.setAttribute(SnippetsPlugin.NAMES.ID, ((SnippetVariable) variable).getId());
-		if (variable.getName() != null)
-			element.setAttribute(SnippetsPlugin.NAMES.NAME, variable.getName());
-		if (variable.getDefaultValue() != null)
-			element.setAttribute(SnippetsPlugin.NAMES.DEFAULT, variable.getDefaultValue());
-		if (variable.getDescription() != null)
-			element.appendChild(createDescription(doc, variable.getDescription()));
-		return element;
-	}
-
-	public byte[] toXML(ISnippetsEntry entry) {
-		Document document = CommonXML.getDocumentBuilder().getDOMImplementation().createDocument(null, SnippetsPlugin.NAMES.SNIPPETS, null);
-		ByteArrayOutputStream output = new ByteArrayOutputStream();
-
-		if (entry instanceof ISnippetItem) {
-			SnippetPaletteItem item = (SnippetPaletteItem) entry;
-			Element itemElement = createItem(document, item);
-			document.getDocumentElement().appendChild(itemElement);
-		}
-		else {
-			SnippetPaletteDrawer category = (SnippetPaletteDrawer) entry;
-			Element categoryElement = createCategory(document, category);
-			document.getDocumentElement().appendChild(categoryElement);
-		}
-
-		try {
-			CommonXML.serialize(document, output);
-		}
-		catch (Exception e) {
-			Logger.logException(e);
-		}
-		return output.toByteArray();
-	}
-
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/ui/SnippetDrawerEntryPage.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/ui/SnippetDrawerEntryPage.java
deleted file mode 100644
index 6e1968e..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/ui/SnippetDrawerEntryPage.java
+++ /dev/null
@@ -1,405 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 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
- *******************************************************************************/
-package org.eclipse.wst.common.snippets.internal.ui;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Comparator;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.core.runtime.content.IContentTypeManager;
-import org.eclipse.gef.palette.PaletteEntry;
-import org.eclipse.gef.ui.palette.customize.DrawerEntryPage;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.window.Window;
-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.events.SelectionListener;
-import org.eclipse.swt.graphics.Image;
-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.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.ElementListSelectionDialog;
-import org.eclipse.ui.dialogs.ListSelectionDialog;
-import org.eclipse.wst.common.snippets.core.ISnippetsEntry;
-import org.eclipse.wst.common.snippets.internal.IHelpContextIds;
-import org.eclipse.wst.common.snippets.internal.SnippetsMessages;
-import org.eclipse.wst.common.snippets.internal.palette.SnippetPaletteDrawer;
-import org.eclipse.wst.common.snippets.internal.util.VisibilityUtil;
-
-public class SnippetDrawerEntryPage extends DrawerEntryPage {
-
-	class ContentTypeLabelProvider implements ILabelProvider {
-
-		public void addListener(ILabelProviderListener listener) {
-		}
-
-		public void dispose() {
-		}
-
-		public Image getImage(Object element) {
-			return null;
-		}
-
-		public String getText(Object element) {
-			String text = ""; //$NON-NLS-1$
-
-			if (element != null && element instanceof IContentType)
-				text = ((IContentType) element).getName();
-
-			return text;
-		}
-
-		public boolean isLabelProperty(Object element, String property) {
-			return false;
-		}
-
-		public void removeListener(ILabelProviderListener listener) {
-		}
-	}
-
-	class ContentTypeSelectionDialog extends ElementListSelectionDialog {
-		public ContentTypeSelectionDialog(Shell parent, ILabelProvider renderer) {
-			super(parent, renderer);
-		}
-	}
-
-	class ContentTypeStructuredContentProvider implements IStructuredContentProvider {
-
-		public void dispose() {
-		}
-
-		public Object[] getElements(Object inputElement) {
-			IContentTypeManager manager = Platform.getContentTypeManager();
-			IContentType[] contentTypes = manager.getAllContentTypes();
-			Arrays.sort(contentTypes, new Comparator() {
-				public int compare(Object arg0, Object arg1) {
-					return ((IContentType) arg0).getName().compareTo(((IContentType) arg1).getName());
-				}
-			});
-
-			return contentTypes;
-		}
-
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		}
-	}
-
-	protected Button fAlwaysHideButton;
-	protected Button fAlwaysShowButton;
-	protected Button fBrowseButton;
-	protected Object[] fContentTypes = new Object[0];
-	protected Table fContentTypeTable = null;
-	protected Text fContentTypeText;
-	protected Button fCustomButton;
-	protected Table fFileTypeTable = null;
-	protected List fFileTypeTableItems = new ArrayList();
-	protected List fImagesToDispose = new ArrayList();
-
-	protected void browsePressed() {
-		ListSelectionDialog dialog = new ListSelectionDialog(getControl().getShell(), Platform.getContentTypeManager(), new ContentTypeStructuredContentProvider(), new ContentTypeLabelProvider(), null);
-		dialog.setTitle(SnippetsMessages.SnippetDrawerEntryPage_5); //$NON-NLS-1$
-		dialog.setMessage(SnippetsMessages.SnippetDrawerEntryPage_6); //$NON-NLS-1$
-		ArrayList initialSelections = new ArrayList();
-		IContentType[] contentTypes = Platform.getContentTypeManager().getAllContentTypes();
-		ISnippetsEntry snippetEntry = (ISnippetsEntry) getEntry();
-		String[] filters = snippetEntry.getFilters();
-		IContentTypeManager manager = Platform.getContentTypeManager();
-
-		if (filters.length >= 1) {
-			String firstFilter = filters[0];
-			if (firstFilter.compareTo("-") != 0) { //$NON-NLS-1$
-				if (firstFilter.compareTo("*") == 0) { //$NON-NLS-1$
-					for (int i = 0; i < contentTypes.length; i++) {
-						initialSelections.add(contentTypes[i]);
-					}
-				}
-				else {
-					for (int i = 0; i < contentTypes.length; i++) {
-						for (int j = 0; j < filters.length; j++) {
-							IContentType filterContentType = manager.getContentType(filters[j]);
-							if (filterContentType != null) {
-								if (contentTypes[i].getName().compareTo(filterContentType.getName()) == 0) {
-									initialSelections.add(contentTypes[i]);
-									break;
-								}
-							}
-						}
-					}
-				}
-			}
-		}
-		dialog.setInitialSelections(initialSelections.toArray());
-
-		// in order to set the infopop for the content type selection dialog,
-		// create the dialog
-		// first to get the dialog shell and set the infopop on it
-		dialog.create();
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(dialog.getShell(), IHelpContextIds.DIALOG_CONTENT_TYPE_SELECTION);
-
-		if (dialog.open() == Window.OK) {
-			fContentTypes = dialog.getResult();
-			refreshContentTypeText();
-			refreshEntryFilters();
-		}
-	}
-
-	protected Composite createContentTypeRadios(Composite panel) {
-		Composite radioGroup = new Composite(panel, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = layout.marginHeight = 0;
-		radioGroup.setLayout(layout);
-		GridData radioGroupGridData = new GridData(GridData.FILL_HORIZONTAL);
-		radioGroupGridData.horizontalIndent = 15;
-		radioGroup.setLayoutData(radioGroupGridData);
-		SelectionListener updateEnablement = new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				updateEnablement();
-				refreshEntryFilters();
-			}
-		};
-
-		fAlwaysShowButton = new Button(radioGroup, SWT.RADIO);
-		fAlwaysShowButton.setText(SnippetsMessages.SnippetDrawerEntryPage_1); //$NON-NLS-1$
-		fAlwaysShowButton.setSelection(true);
-		fAlwaysShowButton.addSelectionListener(updateEnablement);
-
-		fAlwaysHideButton = new Button(radioGroup, SWT.RADIO);
-		fAlwaysHideButton.setText(SnippetsMessages.SnippetDrawerEntryPage_2); //$NON-NLS-1$
-		fAlwaysHideButton.addSelectionListener(updateEnablement);
-
-		fCustomButton = new Button(radioGroup, SWT.RADIO);
-		fCustomButton.setText(SnippetsMessages.SnippetDrawerEntryPage_3); //$NON-NLS-1$
-		fCustomButton.addSelectionListener(updateEnablement);
-
-		return radioGroup;
-	}
-
-	protected Composite createContentTypeTextRow(Composite panel) {
-		Composite contentTypeTextRow = new Composite(panel, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = layout.marginHeight = 0;
-		layout.numColumns = 2;
-		contentTypeTextRow.setLayout(layout);
-		GridData contentTypeTextRowGridData = new GridData(GridData.FILL_HORIZONTAL);
-		contentTypeTextRowGridData.horizontalIndent = 33;
-		contentTypeTextRowGridData.widthHint = 0;
-		contentTypeTextRow.setLayoutData(contentTypeTextRowGridData);
-
-		fContentTypeText = new Text(contentTypeTextRow, SWT.SINGLE | SWT.BORDER | SWT.READ_ONLY);
-		fContentTypeText.setEnabled(false);
-		GridData contentTypeTextGridData = new GridData(GridData.FILL_HORIZONTAL);
-		fContentTypeText.setLayoutData(contentTypeTextGridData);
-
-		fBrowseButton = new Button(contentTypeTextRow, SWT.PUSH);
-		fBrowseButton.setText(SnippetsMessages.SnippetDrawerEntryPage_4); //$NON-NLS-1$
-		fBrowseButton.setEnabled(false);
-		GridData browseButtonGridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		fBrowseButton.setLayoutData(browseButtonGridData);
-		fBrowseButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				browsePressed();
-			}
-		});
-
-		return contentTypeTextRow;
-	}
-
-	public void createControl(Composite parent, PaletteEntry entry) {
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, IHelpContextIds.DIALOG_EDIT_CATEGORY);
-		super.createControl(parent, entry);
-		Composite panel = (Composite) getControl();
-		Control[] tablist = new Control[panel.getTabList().length + 2];
-		System.arraycopy(panel.getTabList(), 0, tablist, 0, tablist.length - 2);
-
-		createLabel(panel, SWT.NONE, SnippetsMessages.SnippetDrawerEntryPage_0); //$NON-NLS-1$
-		tablist[tablist.length - 2] = createContentTypeRadios(panel);
-
-		tablist[tablist.length - 1] = createContentTypeTextRow(panel);
-
-		initContentTypeOption();
-
-		panel.setTabList(tablist);
-
-		panel.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent e) {
-				if (fImagesToDispose != null) {
-					for (Iterator iterator = fImagesToDispose.iterator(); iterator.hasNext();) {
-						((Image) iterator.next()).dispose();
-					}
-					fImagesToDispose = null;
-				}
-			}
-		});
-	}
-
-	protected void initContentTypeOption() {
-		ISnippetsEntry snippetEntry = (ISnippetsEntry) getEntry();
-		String[] filters = snippetEntry.getFilters();
-
-		if (filters == null)
-			fAlwaysShowButton.setSelection(true);
-		else if (filters.length >= 1) {
-			String firstFilter = filters[0];
-			if (firstFilter.compareTo("*") == 0) { //$NON-NLS-1$
-				fAlwaysShowButton.setSelection(true);
-				fAlwaysHideButton.setSelection(false);
-				fCustomButton.setSelection(false);
-				fContentTypeText.setEnabled(false);
-				fBrowseButton.setEnabled(false);
-
-				fContentTypeText.setText(""); //$NON-NLS-1$
-			}
-			else if (firstFilter.compareTo("!") == 0) { //$NON-NLS-1$
-				fAlwaysShowButton.setSelection(false);
-				fAlwaysHideButton.setSelection(true);
-				fCustomButton.setSelection(false);
-				fContentTypeText.setEnabled(false);
-				fBrowseButton.setEnabled(false);
-
-				fContentTypeText.setText(""); //$NON-NLS-1$
-			}
-			else if (firstFilter.compareTo("-") == 0) { //$NON-NLS-1$
-				fAlwaysShowButton.setSelection(false);
-				fAlwaysHideButton.setSelection(false);
-				fCustomButton.setSelection(true);
-				fContentTypeText.setEnabled(true);
-				fBrowseButton.setEnabled(true);
-
-				fContentTypeText.setText(""); //$NON-NLS-1$
-			}
-			else {
-				fAlwaysShowButton.setSelection(false);
-				fAlwaysHideButton.setSelection(false);
-				fCustomButton.setSelection(true);
-				fContentTypeText.setEnabled(true);
-				fBrowseButton.setEnabled(true);
-
-				IContentTypeManager manager = Platform.getContentTypeManager();
-				String text = ""; //$NON-NLS-1$
-				for (int i = 0; i < filters.length; i++) {
-					IContentType contentType = manager.getContentType(filters[i]);
-					if (contentType != null) {
-						if (text.length() > 0)
-							text += ","; //$NON-NLS-1$
-						text += contentType.getName();
-					}
-				}
-				fContentTypeText.setText(text);
-			}
-		}
-	}
-
-	protected void refreshContentTypeText() {
-		switch (fContentTypes.length) {
-			case 0 :
-				fContentTypeText.setText(""); //$NON-NLS-1$
-				break;
-
-			case 1 :
-				fContentTypeText.setText(((IContentType) fContentTypes[0]).getName());
-				break;
-
-			default :
-				String text = ""; //$NON-NLS-1$
-				for (int i = 0; i < fContentTypes.length; i++) {
-					if (text.length() > 0)
-						text += ","; //$NON-NLS-1$
-					text += ((IContentType) fContentTypes[i]).getName();
-				}
-				fContentTypeText.setText(text);
-				break;
-		}
-	}
-
-	protected void refreshEntryFilters() {
-		SnippetPaletteDrawer snippetDrawer = (SnippetPaletteDrawer) getEntry();
-		if (fAlwaysShowButton.getSelection()) {
-			snippetDrawer.setFilters(new String[]{"*"}); //$NON-NLS-1$
-			snippetDrawer.setVisible(true);
-		}
-		else if (fAlwaysHideButton.getSelection()) {
-			snippetDrawer.setFilters(new String[]{"!"}); //$NON-NLS-1$
-			snippetDrawer.setVisible(false);
-		}
-		else {
-			if (fContentTypes.length == 0) {
-				snippetDrawer.setFilters(new String[]{"-"}); //$NON-NLS-1$
-				snippetDrawer.setVisible(false);
-			}
-			else {
-				String[] filters = new String[fContentTypes.length];
-				for (int i = 0; i < fContentTypes.length; i++) {
-					filters[i] = ((IContentType) fContentTypes[i]).getId();
-				}
-
-				boolean visible = false;
-				IEditorPart activeEditor = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor();
-				if (activeEditor == null)
-					visible = true;
-				else {
-					IEditorInput input = activeEditor.getEditorInput();
-					visible = VisibilityUtil.isContentType(input, filters);
-				}
-
-				snippetDrawer.setFilters(filters);
-				snippetDrawer.setVisible(visible);
-			}
-		}
-	}
-
-	protected void updateEnablement() {
-		if (fAlwaysShowButton.getSelection()) {
-			fAlwaysShowButton.setSelection(true);
-			fAlwaysHideButton.setSelection(false);
-			fCustomButton.setSelection(false);
-			fContentTypeText.setEnabled(false);
-			fBrowseButton.setEnabled(false);
-
-			fContentTypeText.setText(""); //$NON-NLS-1$
-		}
-		else if (fAlwaysHideButton.getSelection()) {
-			fAlwaysShowButton.setSelection(false);
-			fAlwaysHideButton.setSelection(true);
-			fCustomButton.setSelection(false);
-			fContentTypeText.setEnabled(false);
-			fBrowseButton.setEnabled(false);
-
-			fContentTypeText.setText(""); //$NON-NLS-1$
-		}
-		else {
-			fAlwaysShowButton.setSelection(false);
-			fAlwaysHideButton.setSelection(false);
-			fCustomButton.setSelection(true);
-			fContentTypeText.setEnabled(true);
-			fBrowseButton.setEnabled(true);
-
-			refreshContentTypeText();
-		}
-	}
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/ui/SnippetTemplateEntryPage.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/ui/SnippetTemplateEntryPage.java
deleted file mode 100644
index 1c4de6d..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/ui/SnippetTemplateEntryPage.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2009 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
- *******************************************************************************/
-package org.eclipse.wst.common.snippets.internal.ui;
-
-import org.eclipse.gef.palette.PaletteEntry;
-import org.eclipse.gef.ui.palette.customize.DefaultEntryPage;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.wst.common.snippets.core.ISnippetsEntry;
-import org.eclipse.wst.common.snippets.internal.editors.ISnippetEditor;
-import org.eclipse.wst.common.snippets.internal.editors.VariableItemEditor;
-import org.eclipse.wst.common.snippets.internal.palette.SnippetPaletteItem;
-
-
-public class SnippetTemplateEntryPage extends DefaultEntryPage implements ModifyListener {
-	public static final Class DEFAULT_EDITOR_CLASS = VariableItemEditor.class;
-	protected SnippetsCustomizer snippetsCustomizer = null;
-	protected ISnippetEditor editor = null;
-
-	public SnippetTemplateEntryPage(SnippetsCustomizer customizer) {
-		this.snippetsCustomizer = customizer;
-	}
-
-	public void createControl(Composite parent, PaletteEntry entry) {
-		super.createControl(parent, entry);
-		editor = getEditor((SnippetPaletteItem) entry);
-		if (editor != null) {
-			snippetsCustomizer.activeEditors.add(editor);
-			editor.addModifyListener(this);
-			editor.setItem((SnippetPaletteItem) entry);
-			editor.createContents((Composite) getControl());
-			/*
-			 * Can't be known in advance since the editor content is unknown
-			 */
-			((Composite) getControl()).setTabList(null);
-		}
-	}
-
-	protected ISnippetEditor getEditor(SnippetPaletteItem item) {
-		ISnippetEditor snippetEditor = null;
-		if (item.getSourceType() == ISnippetsEntry.SNIPPET_SOURCE_USER || item.getSourceType() == ISnippetsEntry.SNIPPET_SOURCE_WORKSPACE) {
-			if (item.getProvider() == null) {
-				snippetEditor = new VariableItemEditor();
-			}
-			else {
-				snippetEditor = item.getProvider().getSnippetEditor();
-			}
-		}
-		return snippetEditor;
-	}
-
-	public void modifyText(ModifyEvent e) {
-		if (editor != null && editor.getItem() != null && editor.getItem().getLabel().trim().length() == 0) {
-			getPageContainer().showProblem(""); //$NON-NLS-1$
-		}
-		else {
-			getPageContainer().clearProblem();
-		}
-	}
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/ui/SnippetVariableTableViewer.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/ui/SnippetVariableTableViewer.java
deleted file mode 100644
index 383c720..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/ui/SnippetVariableTableViewer.java
+++ /dev/null
@@ -1,286 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 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
- *******************************************************************************/
-package org.eclipse.wst.common.snippets.internal.ui;
-
-
-import java.util.ArrayList;
-import java.util.Hashtable;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ArrayContentProvider;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.wst.common.snippets.core.ISnippetVariable;
-import org.eclipse.wst.common.snippets.internal.palette.SnippetVariable;
-
-
-/**
- * Not ready yet.
- */
-
-public class SnippetVariableTableViewer {
-	protected List fLibraryVariables;
-	protected ISnippetVariable fSelection;
-
-	protected List fSelectionChangedListeners;
-
-
-	protected TableViewer fTableViewer = null;
-	protected List fValueChangedListeners;
-	protected Hashtable fValues = null;
-
-	/**
-	 * Constructor for VariableInsertionDialog.
-	 * 
-	 * @param parentShell
-	 */
-	public SnippetVariableTableViewer(Composite parent) {
-		super();
-		createContents(parent);
-	}
-
-	public void addSelectionChangedListener(ISelectionChangedListener listener) {
-		getSelectionChangedListeners().add(listener);
-	}
-
-	public void addValueChangedListener(ValueChangedListener listener) {
-		getValueChangeListeners().add(listener);
-	}
-
-	public Control createContents(Composite parent) {
-		// pity we can't just use a PropertySheetPage, but the column headers
-		// aren't customizable
-		fTableViewer = new TableViewer(new Table(parent, SWT.FULL_SELECTION | SWT.SINGLE | SWT.BORDER));
-
-		// GridData data = new GridData(GridData.FILL_BOTH);
-		// fTableViewer.getTable().setLayoutData(data);
-
-		fTableViewer.getTable().setHeaderVisible(true);
-		fTableViewer.getTable().setLinesVisible(true);
-
-		fTableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				ISelection sel = event.getSelection();
-				if (sel != null && !sel.isEmpty() && sel instanceof IStructuredSelection)
-					fSelection = (ISnippetVariable) ((IStructuredSelection) sel).getFirstElement();
-				else
-					fSelection = null;
-				fireSelectionChanged(event);
-			}
-		});
-
-		fTableViewer.setContentProvider(new ArrayContentProvider());
-
-		fTableViewer.setLabelProvider(new ITableLabelProvider() {
-
-			public void addListener(ILabelProviderListener listener) {
-			}
-
-			public void dispose() {
-			}
-
-			public Image getColumnImage(Object element, int columnIndex) {
-				return null;
-			}
-
-			public String getColumnText(Object element, int columnIndex) {
-				if (element == null)
-					return null;
-				SnippetVariable var = (SnippetVariable) element;
-				if (columnIndex == 0)
-					return var.getId();
-				else if (columnIndex == 1)
-					return (String) fValues.get(var.getId());
-				return ""; //$NON-NLS-1$
-			}
-
-			public boolean isLabelProperty(Object element, String property) {
-				return false;
-			}
-
-			public void removeListener(ILabelProviderListener listener) {
-			}
-		});
-
-		TableLayout tlayout = new TableLayout();
-		tlayout.addColumnData(new ColumnWeightData(35, true));
-		tlayout.addColumnData(new ColumnWeightData(65, true));
-		fTableViewer.getTable().setLayout(tlayout); // Create the Host column
-		TableColumn tc1 = new TableColumn(fTableViewer.getTable(), SWT.NONE);
-		tc1.setText("Variable ID"); //$NON-NLS-1$
-		tc1.setResizable(true);
-		tc1.setWidth(40);
-		TableColumn tc2 = new TableColumn(fTableViewer.getTable(), SWT.NONE);
-		tc2.setText("Value"); //$NON-NLS-1$
-		tc2.setResizable(true);
-		tc2.setWidth(40);
-
-		fTableViewer.setCellEditors(new CellEditor[]{new TextCellEditor(fTableViewer.getTable()), new TextCellEditor(fTableViewer.getTable())});
-
-		fTableViewer.setColumnProperties(new String[]{"id", "value"}); //$NON-NLS-1$ //$NON-NLS-2$
-		ICellModifier cellmodifier = new ICellModifier() {
-			public boolean canModify(Object element, String property) {
-				return property.equals("value"); //$NON-NLS-1$
-			}
-
-			public Object getValue(Object element, String property) {
-				if (property.equals("id")) //$NON-NLS-1$
-					return ((SnippetVariable) element).getId();
-				else if (property.equals("value")) //$NON-NLS-1$
-					return fValues.get(((SnippetVariable) element).getId());
-				return ""; //$NON-NLS-1$
-			}
-
-			public void modify(Object element, String property, Object value) {
-				TableItem item = (TableItem) element;
-				SnippetVariable var = (SnippetVariable) item.getData();
-				if (property.equals("value")) { //$NON-NLS-1$
-					String oldValue = (String) fValues.get(var.getId());
-					fValues.put(var.getId(), value);
-					item.setText(1, (String) value);
-					fireValueChanged(new String(var.getId()), property, oldValue, new String((String) value));
-				}
-			}
-		};
-		fTableViewer.setCellModifier(cellmodifier);
-		fTableViewer.setInput(getLibraryVariables());
-		refresh();
-		return getControl();
-	}
-
-	protected void fireSelectionChanged(SelectionChangedEvent event) {
-		ISelectionChangedListener[] listeners = new ISelectionChangedListener[getSelectionChangedListeners().size()];
-		getSelectionChangedListeners().toArray(listeners);
-		for (int i = 0; i < listeners.length; i++)
-			listeners[i].selectionChanged(event);
-	}
-
-	protected void fireValueChanged(String key, String property, String oldValue, String newValue) {
-		ValueChangedListener[] listeners = new ValueChangedListener[getValueChangeListeners().size()];
-		getValueChangeListeners().toArray(listeners);
-		for (int i = 0; i < listeners.length; i++)
-			listeners[i].valueChanged(key, property, oldValue, newValue);
-	}
-
-	public Control getControl() {
-
-		return getTable();
-	}
-
-	/**
-	 * Gets the libraryVariables.
-	 * 
-	 * @return Returns a List
-	 */
-	public List getLibraryVariables() {
-		if (fLibraryVariables == null)
-			fLibraryVariables = new ArrayList();
-		return fLibraryVariables;
-	}
-
-	public ISnippetVariable getSelectedVariable() {
-		return fSelection;
-	}
-
-	protected List getSelectionChangedListeners() {
-		if (fSelectionChangedListeners == null)
-			fSelectionChangedListeners = new ArrayList();
-		return fSelectionChangedListeners;
-	}
-
-	/**
-	 * Gets the tableViewer.
-	 * 
-	 * @return Returns a TableViewer
-	 */
-	public Table getTable() {
-		if (fTableViewer == null)
-			return null;
-		return fTableViewer.getTable();
-	}
-
-	public String getValue(ISnippetVariable var) {
-		return getValue(((SnippetVariable) var).getId());
-	}
-
-	public String getValue(String id) {
-		if (getValues().containsKey(id))
-			return (String) getValues().get(id);
-		return ""; //$NON-NLS-1$
-	}
-
-	protected List getValueChangeListeners() {
-		if (fValueChangedListeners == null)
-			fValueChangedListeners = new ArrayList();
-		return fValueChangedListeners;
-	}
-
-	/**
-	 * Gets the values.
-	 * 
-	 * @return Returns a Hashtable
-	 */
-	public Hashtable getValues() {
-		if (fValues == null)
-			fValues = new Hashtable();
-		return fValues;
-	}
-
-	protected void refresh() {
-		if (fLibraryVariables != null) {
-			fValues = null;
-			for (int i = 0; i < fLibraryVariables.size(); i++) {
-				SnippetVariable var = (SnippetVariable) fLibraryVariables.get(i);
-				getValues().put(var.getId(), var.getDefaultValue());
-			}
-		}
-		if (fTableViewer != null) {
-			fTableViewer.setInput(fLibraryVariables);
-		}
-	}
-
-	public void removeSelectionChangedListener(ISelectionChangedListener listener) {
-		getSelectionChangedListeners().remove(listener);
-	}
-
-	public void removeValueChangedListener(ValueChangedListener listener) {
-		getValueChangeListeners().remove(listener);
-	}
-
-	/**
-	 * Sets the libraryVariables.
-	 * 
-	 * @param libraryVariables
-	 *            The libraryVariables to set
-	 */
-	public void setLibraryVariables(List libraryVariables) {
-		fLibraryVariables = libraryVariables;
-		refresh();
-	}
-
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/ui/SnippetsCustomizer.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/ui/SnippetsCustomizer.java
deleted file mode 100644
index 20de354..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/ui/SnippetsCustomizer.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2009 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
- *******************************************************************************/
-package org.eclipse.wst.common.snippets.internal.ui;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.gef.palette.PaletteContainer;
-import org.eclipse.gef.palette.PaletteDrawer;
-import org.eclipse.gef.palette.PaletteEntry;
-import org.eclipse.gef.palette.PaletteTemplateEntry;
-import org.eclipse.gef.ui.palette.PaletteCustomizer;
-import org.eclipse.gef.ui.palette.customize.EntryPage;
-import org.eclipse.wst.common.snippets.core.ISnippetCategory;
-import org.eclipse.wst.common.snippets.core.ISnippetsEntry;
-import org.eclipse.wst.common.snippets.internal.Logger;
-import org.eclipse.wst.common.snippets.internal.editors.ISnippetEditor;
-import org.eclipse.wst.common.snippets.internal.model.SnippetManager;
-import org.eclipse.wst.common.snippets.internal.palette.SnippetPaletteDrawer;
-import org.eclipse.wst.common.snippets.internal.palette.SnippetPaletteDrawerFactory;
-import org.eclipse.wst.common.snippets.internal.palette.SnippetPaletteItem;
-import org.eclipse.wst.common.snippets.internal.palette.SnippetPaletteItemFactory;
-
-
-public class SnippetsCustomizer extends PaletteCustomizer {
-	
-	protected List activeEditors = new ArrayList();
-	protected List factories = null;
-	private List deletedIds = new ArrayList();
-
-	public SnippetsCustomizer() {
-		super();
-		factories = new ArrayList(2);
-		factories.add(new SnippetPaletteDrawerFactory());
-		factories.add(new SnippetPaletteItemFactory());
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.gef.ui.palette.PaletteCustomizer#canAdd(org.eclipse.gef.palette.PaletteContainer,
-	 *      org.eclipse.gef.palette.PaletteEntry)
-	 */
-	protected boolean canAdd(PaletteContainer container, PaletteEntry entry) {
-		if (entry instanceof ISnippetCategory) {
-			return super.canAdd(container, entry);
-		}
-		else if (entry.getType().equals(PaletteTemplateEntry.PALETTE_TYPE_TEMPLATE)) {
-			return container.getType().equals(PaletteDrawer.PALETTE_TYPE_DRAWER) && ((ISnippetsEntry) entry).getSourceType() != ISnippetsEntry.SNIPPET_SOURCE_PLUGINS && super.canAdd(container, entry);
-		}
-		return ((ISnippetsEntry) entry).getSourceType() != ISnippetsEntry.SNIPPET_SOURCE_PLUGINS && super.canAdd(container, entry);
-	}
-
-	public boolean canDelete(PaletteEntry entry) {
-		return ((ISnippetsEntry) entry).getSourceType() != ISnippetsEntry.SNIPPET_SOURCE_PLUGINS && super.canDelete(entry);
-	}
-
-	public boolean canExport(PaletteEntry entry) {
-		return ((ISnippetsEntry) entry).getSourceType() != ISnippetsEntry.SNIPPET_SOURCE_PLUGINS && entry.getType() == PaletteDrawer.PALETTE_TYPE_DRAWER;
-	}
-
-	public boolean canImport(PaletteEntry entry) {
-		return true;
-	}
-
-	public boolean canMoveDown(PaletteEntry entry) {
-		if (entry instanceof ISnippetCategory)
-			return super.canMoveDown(entry);
-		return ((ISnippetsEntry) entry).getSourceType() != ISnippetsEntry.SNIPPET_SOURCE_PLUGINS && super.canMoveDown(entry);
-	}
-
-	public boolean canMoveUp(PaletteEntry entry) {
-		if (entry instanceof ISnippetCategory)
-			return super.canMoveUp(entry);
-		return ((ISnippetsEntry) entry).getSourceType() != ISnippetsEntry.SNIPPET_SOURCE_PLUGINS && super.canMoveUp(entry);
-	}
-
-	/**
-	 * Find and instantiate the editor class
-	 */
-
-	public List getNewEntryFactories() {
-		return factories;
-	}
-
-	/**
-	 * @see org.eclipse.gef.ui.palette.PaletteCustomizer#getPropertiesPage(org.eclipse.gef.palette.PaletteEntry)
-	 */
-	public EntryPage getPropertiesPage(PaletteEntry entry) {
-		if (entry instanceof SnippetPaletteDrawer) {
-			return new SnippetDrawerEntryPage();
-		}
-		else if (entry instanceof SnippetPaletteItem && entry.getUserModificationPermission() == PaletteEntry.PERMISSION_FULL_MODIFICATION) {
-			return new SnippetTemplateEntryPage(this);
-		}
-		return super.getPropertiesPage(entry);
-	}
-
-	public void revertToSaved() {
-		activeEditors = new ArrayList(0);
-		SnippetManager.getInstance().resetDefinitions();
-	}
-
-	public void save() {
-		// The EntryPage's apply() is final, so we have to force updates now
-		for (int i = 0; i < activeEditors.size(); i++) {
-			try {
-				((ISnippetEditor) activeEditors.get(i)).updateItem();
-			}
-			catch (Exception e) {
-				Logger.logException(e);
-			}
-		}
-		
-		for (int i = 0; i < deletedIds.size(); i++) {
-			IPath path = SnippetManager.getInstance().getStorageLocation(deletedIds.get(i).toString());
-			File folder = new File(path.toOSString());
-			deleteFolders(folder);
-		}
-		deletedIds.clear();
-
-		activeEditors = new ArrayList(0);
-
-		try {
-			SnippetManager.getInstance().saveDefinitions();
-		}
-		catch (Exception e) {
-			Logger.logException(e);
-		}
-	}
-
-	private void deleteFolders(File folder) {
-		if (!folder.exists()) {
-			return;
-		}
-		File[] listFiles = folder.listFiles();
-		for (int i = 0; i < listFiles.length; i++) {
-			if (listFiles[i].isDirectory()) {
-				deleteFolders(listFiles[i]);
-			}
-			else {
-				listFiles[i].delete();
-			}
-		}
-		folder.delete();
-	}
-
-	public void performDelete(PaletteEntry entry) {
-		deletedIds.add(entry.getId());
-		super.performDelete(entry);
-	}
-
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/ui/SnippetsView.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/ui/SnippetsView.java
deleted file mode 100644
index 45ceda2..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/ui/SnippetsView.java
+++ /dev/null
@@ -1,888 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2009 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
- *******************************************************************************/
-package org.eclipse.wst.common.snippets.internal.ui;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.gef.DefaultEditDomain;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.palette.PaletteContainer;
-import org.eclipse.gef.palette.PaletteEntry;
-import org.eclipse.gef.palette.PaletteRoot;
-import org.eclipse.gef.ui.palette.DefaultPaletteViewerPreferences;
-import org.eclipse.gef.ui.palette.PaletteContextMenuProvider;
-import org.eclipse.gef.ui.palette.PaletteViewer;
-import org.eclipse.gef.ui.palette.PaletteViewerPreferences;
-import org.eclipse.gef.ui.palette.customize.PaletteCustomizerDialog;
-import org.eclipse.gef.ui.parts.PaletteViewerKeyHandler;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.util.TransferDragSourceListener;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.dnd.Clipboard;
-import org.eclipse.swt.dnd.DragSourceEvent;
-import org.eclipse.swt.dnd.TextTransfer;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseListener;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IPartListener;
-import org.eclipse.ui.IViewSite;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.part.ViewPart;
-import org.eclipse.wst.common.snippets.core.ISnippetCategory;
-import org.eclipse.wst.common.snippets.core.ISnippetItem;
-import org.eclipse.wst.common.snippets.core.ISnippetsEntry;
-import org.eclipse.wst.common.snippets.internal.IHelpContextIds;
-import org.eclipse.wst.common.snippets.internal.Logger;
-import org.eclipse.wst.common.snippets.internal.PluginRecord;
-import org.eclipse.wst.common.snippets.internal.SnippetDefinitions;
-import org.eclipse.wst.common.snippets.internal.SnippetTransfer;
-import org.eclipse.wst.common.snippets.internal.SnippetsMessages;
-import org.eclipse.wst.common.snippets.internal.SnippetsPlugin;
-import org.eclipse.wst.common.snippets.internal.SnippetsPluginImageHelper;
-import org.eclipse.wst.common.snippets.internal.SnippetsPluginImages;
-import org.eclipse.wst.common.snippets.internal.actions.DeleteCategoryAction;
-import org.eclipse.wst.common.snippets.internal.actions.DeleteItemAction;
-import org.eclipse.wst.common.snippets.internal.model.SnippetManager;
-import org.eclipse.wst.common.snippets.internal.palette.SnippetCustomizerDialog;
-import org.eclipse.wst.common.snippets.internal.palette.SnippetPaletteDrawer;
-import org.eclipse.wst.common.snippets.internal.palette.SnippetPaletteItem;
-import org.eclipse.wst.common.snippets.internal.palette.SnippetPaletteItemFactory;
-import org.eclipse.wst.common.snippets.internal.palette.SnippetPaletteRoot;
-import org.eclipse.wst.common.snippets.internal.util.UserDrawerSelector;
-import org.eclipse.wst.common.snippets.internal.util.VisibilityUtil;
-import org.eclipse.wst.common.snippets.ui.DefaultSnippetInsertion;
-import org.eclipse.wst.common.snippets.ui.ISnippetInsertion;
-import org.osgi.framework.Bundle;
-
-public class SnippetsView extends ViewPart {
-
-	protected class CopyAction extends Action {
-		public CopyAction() {
-			super(SnippetsMessages.Copy_2); //$NON-NLS-1$
-			setImageDescriptor(SnippetsPluginImageHelper.getInstance().getImageDescriptor(SnippetsPluginImages.IMG_ELCL_COPY));
-			setHoverImageDescriptor(SnippetsPluginImageHelper.getInstance().getImageDescriptor(SnippetsPluginImages.IMG_CLCL_COPY));
-			setDisabledImageDescriptor(SnippetsPluginImageHelper.getInstance().getImageDescriptor(SnippetsPluginImages.IMG_DLCL_COPY));
-			setToolTipText(getText());
-		}
-
-		public void run() {
-			super.run();
-			byte[] stringData = EntrySerializer.getInstance().toXML(getSelectedEntry());
-			getClipboard().setContents(new Object[]{stringData, getSelectedEntry().getLabel()}, new Transfer[]{SnippetTransfer.getTransferInstance(), TextTransfer.getInstance()});
-		}
-	}
-
-	protected class CutAction extends Action {
-		public CutAction() {
-			super(SnippetsMessages.Cut_2); //$NON-NLS-1$
-			setImageDescriptor(SnippetsPluginImageHelper.getInstance().getImageDescriptor(SnippetsPluginImages.IMG_ELCL_CUT));
-			setHoverImageDescriptor(SnippetsPluginImageHelper.getInstance().getImageDescriptor(SnippetsPluginImages.IMG_CLCL_CUT));
-			setDisabledImageDescriptor(SnippetsPluginImageHelper.getInstance().getImageDescriptor(SnippetsPluginImages.IMG_DLCL_CUT));
-			setToolTipText(getText());
-		}
-
-		public void run() {
-			super.run();
-			getCopyAction().run();
-			getDeleteAction().run();
-			SnippetsView.this.save();
-		}
-	}
-
-	protected class DeleteAction extends Action {
-		public DeleteAction() {
-			super(SnippetsMessages.Delete_1); //$NON-NLS-1$
-			setImageDescriptor(SnippetsPluginImageHelper.getInstance().getImageDescriptor(SnippetsPluginImages.IMG_ELCL_DELETE));
-			setHoverImageDescriptor(SnippetsPluginImageHelper.getInstance().getImageDescriptor(SnippetsPluginImages.IMG_CLCL_DELETE));
-			setDisabledImageDescriptor(SnippetsPluginImageHelper.getInstance().getImageDescriptor(SnippetsPluginImages.IMG_DLCL_DELETE));
-			setToolTipText(getText());
-		}
-
-		public void run() {
-			super.run();
-			if (getSelectedEntry() instanceof PaletteContainer)
-				new DeleteCategoryAction(SnippetsView.this, (PaletteContainer) getSelectedEntry()).run();
-			else if (getSelectedEntry() instanceof PaletteEntry)
-				new DeleteItemAction(getViewer(), (PaletteEntry) getSelectedEntry()).run();
-			SnippetsView.this.save();
-		}
-	}
-
-	protected class InsertAction extends Action {
-		public InsertAction() {
-			super(SnippetsMessages.Insert___);
-			setImageDescriptor(SnippetsPluginImageHelper.getInstance().getImageDescriptor(SnippetsPluginImages.IMG_ELCL_INSERT));
-			setHoverImageDescriptor(SnippetsPluginImageHelper.getInstance().getImageDescriptor(SnippetsPluginImages.IMG_CLCL_INSERT));
-			setDisabledImageDescriptor(SnippetsPluginImageHelper.getInstance().getImageDescriptor(SnippetsPluginImages.IMG_DLCL_INSERT));
-			setToolTipText(getText());
-			setAccelerator(SWT.CTRL | SWT.CR);
-		}
-
-		public void run() {
-			super.run();
-			insert();
-		}
-	}
-
-	class InsertionHelper {
-		protected InsertionHelper() {
-			super();
-		}
-
-		protected ISnippetInsertion getInsertion(SnippetPaletteItem item) {
-			ISnippetInsertion insertion = null;
-			String className = item.getClassName();
-
-			PluginRecord record = null;
-			if (item.getSourceType() == ISnippetsEntry.SNIPPET_SOURCE_PLUGINS)
-				record = (PluginRecord) item.getSourceDescriptor();
-			// ignore the version
-			if (record != null && record.getPluginName() != null && className != null) {
-				Class theClass = null;
-				Bundle bundle = Platform.getBundle(record.getPluginName());
-				try {
-					if (className != null && className.length() > 0)
-						theClass = bundle.loadClass(className);
-				}
-				catch (ClassNotFoundException e) {
-					try { // maybe it's local???
-						theClass = Class.forName(className);
-					}
-					catch (ClassNotFoundException f) {
-						Logger.logException("Could not load Insertion class", e); //$NON-NLS-1$
-					}
-					if (theClass == null)
-						Logger.logException("Could not load Insertion class", e); //$NON-NLS-1$
-				}
-				if (theClass != null) {
-					try {
-						insertion = (ISnippetInsertion) theClass.newInstance();
-					}
-					catch (IllegalAccessException e) {
-						Logger.logException("Could not access Insertion class", e); //$NON-NLS-1$
-					}
-					catch (InstantiationException e) {
-						Logger.logException("Could not instantiate Insertion class", e); //$NON-NLS-1$
-					}
-				}
-			}
-			 
-			if (insertion == null) {
-				if (item.getProvider()!= null){
-					insertion = item.getProvider().getSnippetInsertion();
-				} else {
-					insertion = new DefaultSnippetInsertion();
-				}
-			}
-			return insertion;
-		}
-
-		public boolean insert(SnippetPaletteItem item, IEditorPart editorPart) {
-			ISnippetInsertion insertion = getInsertion(item);
-			if (insertion != null) {
-				insertion.setItem(item);
-				insertion.insert(editorPart);
-				return true;
-			}
-			return false;
-		}
-	}
-
-	protected class InsertMouseListener extends MouseAdapter {
-		public void mouseDoubleClick(MouseEvent e) {
-			// doesn't detect if hitpoint is on internal scrollbars
-			if (e.button == 1) {
-				EditPart part = SnippetsView.this.getViewer().findObjectAt(new Point(e.x, e.y));
-				SnippetPaletteItem item = null;
-				if (part != null) {
-					if (part.getModel() instanceof SnippetPaletteItem)
-						item = (SnippetPaletteItem) part.getModel();
-				}
-				if (item != null)
-					insert(item);
-			}
-		}
-
-	}
-
-	private final class PartActivationListener implements IPartListener {
-		public void partActivated(IWorkbenchPart part) {
-			if (part instanceof IEditorPart) {
-				IEditorPart editorPart = (IEditorPart) part;
-				IEditorInput input = editorPart.getEditorInput();
-				if (input.getName() != null) {
-					SnippetDefinitions snippetDefinitions = SnippetManager.getInstance().getDefinitions();
-					List categories = snippetDefinitions.getCategories();
-					for (Iterator iter = categories.iterator(); iter.hasNext();) {
-						SnippetPaletteDrawer drawer = (SnippetPaletteDrawer) iter.next();
-						String[] filters = drawer.getFilters();
-						boolean drawerVisibility = VisibilityUtil.isContentType(input, filters);
-						drawer.setVisible(drawerVisibility);
-					}
-				}
-			}
-		}
-
-		public void partBroughtToTop(IWorkbenchPart part) {
-			// do nothing
-		}
-
-		public void partClosed(IWorkbenchPart part) {
-			updateActions(getSelectedEntry());
-		}
-
-		public void partDeactivated(IWorkbenchPart part) {
-			// do nothing
-		}
-
-		public void partOpened(IWorkbenchPart part) {
-			updateActions(getSelectedEntry());
-		}
-	}
-
-	protected class PasteAction extends Action {
-		public PasteAction() {
-			super(SnippetsMessages.Paste_4); //$NON-NLS-1$
-			setImageDescriptor(SnippetsPluginImageHelper.getInstance().getImageDescriptor(SnippetsPluginImages.IMG_ELCL_PASTE));
-			setHoverImageDescriptor(SnippetsPluginImageHelper.getInstance().getImageDescriptor(SnippetsPluginImages.IMG_CLCL_PASTE));
-			setDisabledImageDescriptor(SnippetsPluginImageHelper.getInstance().getImageDescriptor(SnippetsPluginImages.IMG_DLCL_PASTE));
-			setToolTipText(getText());
-		}
-
-		protected String getFirstLine(String text) {
-			if (text == null || text.length() < 1) {
-				return text;
-			}
-			IDocument doc = new Document(text);
-			try {
-				int lineNumber = doc.getLineOfOffset(0);
-				IRegion line = doc.getLineInformation(lineNumber);
-				return doc.get(line.getOffset(), line.getLength());
-			}
-			catch (BadLocationException e) {
-				// do nothing
-			}
-			return text;
-		}
-
-		protected void launchCustomizer(PaletteEntry entry) {
-			PaletteCustomizerDialog dialog = getViewer().getCustomizerDialog();
-			if (!(entry instanceof PaletteRoot)) {
-				dialog.setDefaultSelection(entry);
-			}
-			dialog.open();
-		}
-
-		public void run() {
-			super.run();
-			byte[] itemDefinition = (byte[]) getClipboard().getContents(SnippetTransfer.getTransferInstance());
-			if (itemDefinition != null) {
-				ISnippetsEntry entry = EntryDeserializer.getInstance().fromXML(itemDefinition);
-				ISnippetsEntry destination = getSelectedEntry();
-				// if the selected entry isn't user owned
-				if (destination == null || destination.getSourceType() == ISnippetsEntry.SNIPPET_SOURCE_PLUGINS) {
-					UserDrawerSelector selector = new UserDrawerSelector(getSite().getShell());
-					selector.setSelectionPrompt(SnippetsMessages.Cant_add_to_this); //$NON-NLS-1$
-					SnippetPaletteDrawer drawer = (SnippetPaletteDrawer) selector.getUserDrawer();
-					if (drawer != null)
-						destination = drawer;
-					else
-						return;
-				}
-				if (entry instanceof SnippetPaletteItem) {
-					SnippetPaletteItem item = (SnippetPaletteItem) entry;
-					if (destination instanceof SnippetPaletteDrawer) {
-						item.setId(((SnippetPaletteDrawer) destination).getId() + System.currentTimeMillis());
-						((SnippetPaletteDrawer) destination).add(item);
-						EditPart container = (EditPart) getViewer().getEditPartRegistry().get(destination);
-						container.refresh();
-					}
-					else if (destination instanceof ISnippetItem) {
-						SnippetPaletteDrawer category = (SnippetPaletteDrawer) ((ISnippetItem) destination).getCategory();
-						item.setId("item_" + System.currentTimeMillis()); //$NON-NLS-1$
-						category.add(item);
-						EditPart container = (EditPart) getViewer().getEditPartRegistry().get(category);
-						container.refresh();
-					}
-					EditPart part = (EditPart) getViewer().getEditPartRegistry().get(item);
-					if (part != null)
-						getViewer().select(part);
-				}
-				SnippetsView.this.save();
-			}
-			else {
-				String itemText = (String) getClipboard().getContents(TextTransfer.getInstance());
-				if (itemText == null)
-					itemText = ""; //$NON-NLS-1$
-
-				ISnippetCategory category = null;
-				ISnippetsEntry entry = SnippetsView.this.getSelectedEntry();
-				if (entry == null || entry.getSourceType() == ISnippetsEntry.SNIPPET_SOURCE_PLUGINS) {
-					UserDrawerSelector selector = new UserDrawerSelector(getSite().getShell());
-					selector.setSelectionPrompt(SnippetsMessages.Cant_add_to_this); //$NON-NLS-1$
-					SnippetPaletteDrawer drawer = (SnippetPaletteDrawer) selector.getUserDrawer();
-					if (drawer != null)
-						entry = drawer;
-					else
-						return;
-				}
-				if (entry instanceof ISnippetItem)
-					category = ((ISnippetItem) SnippetsView.this.getSelectedEntry()).getCategory();
-				else if (entry instanceof ISnippetCategory)
-					category = (ISnippetCategory) entry;
-				if (category == null)
-					return;
-				SnippetPaletteItem item = (SnippetPaletteItem) new SnippetPaletteItemFactory().createNewEntry(getViewer().getControl().getShell(), (PaletteEntry) category);
-				item.setDescription(getFirstLine(itemText));
-				item.setContentString(itemText);
-				launchCustomizer(item);
-			}
-		}
-
-		public void update() {
-			if (getClipboard().getContents(SnippetTransfer.getTransferInstance()) == null && getClipboard().getContents(TextTransfer.getInstance()) != null) {
-				setText(SnippetsMessages.Paste_as_Snippet); //$NON-NLS-1$
-			}
-			else {
-				setText(SnippetsMessages.Paste_4); //$NON-NLS-1$
-			}
-			setToolTipText(getText());
-		}
-	}
-
-	protected class SnippetsContextMenuListener implements IMenuListener {
-		protected PaletteContextMenuProvider baseProvider = null;
-		protected IMenuManager manager = null;
-
-		public SnippetsContextMenuListener(MenuManager mgr) {
-			this.manager = mgr;
-			baseProvider = new PaletteContextMenuProvider(SnippetsView.this.getViewer());
-		}
-
-		public void menuAboutToShow(IMenuManager menuManager) {
-			SnippetsView.this.fillContextMenu(menuManager);
-			baseProvider.buildContextMenu(menuManager);
-		}
-	}
-
-	protected class TransferDragSourceListenerImpl implements TransferDragSourceListener {
-		private Transfer fTransfer;
-
-		public TransferDragSourceListenerImpl(Transfer xfer) {
-			fTransfer = xfer;
-		}
-
-		public void dragFinished(DragSourceEvent event) {
-			if (Logger.DEBUG_DRAG_AND_DROP)
-				System.out.println("drag finished"); //$NON-NLS-1$
-		}
-
-		public void dragSetData(DragSourceEvent event) {
-			if (getSelectedEntry() == null)
-				return;
-			if (getSelectedEntry() instanceof ISnippetItem) {
-				ISnippetInsertion insertion = insertionHelper.getInsertion((SnippetPaletteItem) getSelectedEntry());
-				insertion.setEditorPart(getSite().getPage().getActiveEditor());
-				insertion.dragSetData(event, (ISnippetItem) getSelectedEntry());
-			}
-			else {
-				if (getSelectedEntry() != null)
-					event.data = getSelectedEntry().getLabel();
-				else
-					event.data = EMPTY_STRING;
-			}
-		}
-
-		public void dragStart(DragSourceEvent event) {
-			if (Logger.DEBUG_DRAG_AND_DROP)
-				System.out.println("drag begun"); //$NON-NLS-1$
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.util.TransferDragSourceListener#getTransfer()
-		 */
-		public Transfer getTransfer() {
-			return fTransfer;
-		}
-	}
-
-	protected Clipboard clipboard = null;
-
-	protected Action copyAction = null;
-	protected Action cutAction = null;
-	private Action deleteAction;
-
-	private final String EMPTY_STRING = ""; //$NON-NLS-1$
-	private PartActivationListener fPartActionUpdateListener = null;
-	protected SnippetPaletteRoot fRoot = null;
-	protected ISnippetsEntry fSelectedEntry;
-	protected ISelectionChangedListener fSelectionChangedListener = null;
-
-	protected List fTransferDragSourceListeners = null;
-
-	protected PaletteViewer fViewer = null;
-	protected Action insertAction = null;
-
-	protected InsertionHelper insertionHelper = null;
-
-	protected MouseListener insertListener = new InsertMouseListener();
-	protected PasteAction pasteAction = null;
-
-	/**
-	 * Constructor for SnippetsView.
-	 */
-	public SnippetsView() {
-		super();
-		insertionHelper = new InsertionHelper();
-	}
-
-	protected void addTextTransferListener() {
-		TransferDragSourceListener listener = new TransferDragSourceListenerImpl(TextTransfer.getInstance());
-		getViewer().addDragSourceListener(listener);
-		getTransferDragSourceListeners().add(listener);
-	}
-
-	private PaletteCustomizerDialog fPaletteCustomizerDialog = null;
-
-	/*
-	 * @see IWorkbenchPart#createPartControl(Composite)
-	 */
-	public void createPartControl(Composite parent) {
-		fViewer = new PaletteViewer() {
-			public PaletteCustomizerDialog getCustomizerDialog() {
-				if (fPaletteCustomizerDialog == null) {
-					fPaletteCustomizerDialog = new SnippetCustomizerDialog(getControl().getShell(), getCustomizer(), getPaletteRoot());
-				}
-				return fPaletteCustomizerDialog;
-			}
-		};
-
-		fViewer.enableVerticalScrollbar(true);
-
-		fViewer.createControl(parent);
-
-		fViewer.setKeyHandler(new PaletteViewerKeyHandler(fViewer) {
-			/* (non-Javadoc)
-			 * @see org.eclipse.gef.KeyHandler#keyReleased(org.eclipse.swt.events.KeyEvent)
-			 */
-			public boolean keyPressed(KeyEvent event) {
-				if (event.keyCode == SWT.CR && (event.stateMask & SWT.CTRL) > 0) {
-					if (insertAction.isEnabled())
-						insertAction.run();
-				}
-				return super.keyPressed(event);
-			}
-		});
-
-		DefaultEditDomain domain = new DefaultEditDomain(null);
-		fViewer.setEditDomain(domain);
-
-		fillLocalMenu(getViewSite().getActionBars().getMenuManager());
-		fillToolBar(getViewSite().getActionBars().getToolBarManager());
-
-		getCopyAction().setEnabled(false);
-		getCutAction().setEnabled(false);
-		getPasteAction().setEnabled(false);
-		getInsertAction().setEnabled(false);
-
-		if (fViewer.getContextMenu() == null)
-			fViewer.setContextMenu(new MenuManager("#popup", getClass().getName())); //$NON-NLS-1$
-		fViewer.getContextMenu().addMenuListener(new SnippetsContextMenuListener(fViewer.getContextMenu()));
-		fViewer.getContextMenu().setRemoveAllWhenShown(true);
-
-		fViewer.setCustomizer(new SnippetsCustomizer());
-
-		PaletteViewerPreferences palettePreferences = new DefaultPaletteViewerPreferences(SnippetsPlugin.getDefault().getPreferenceStore());
-		SnippetsPlugin.getDefault().getPreferenceStore().setDefault(PaletteViewerPreferences.PREFERENCE_AUTO_COLLAPSE, PaletteViewerPreferences.COLLAPSE_ALWAYS);
-		fViewer.setPaletteViewerPreferences(palettePreferences);
-
-		fViewer.setPaletteRoot(getRoot());
-
-		getViewer().addSelectionChangedListener(getSelectionChangedListener());
-
-		fViewer.getControl().addMouseListener(insertListener);
-
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(getViewer().getControl(), IHelpContextIds.MAIN_VIEW_GENERAL);
-
-		fPartActionUpdateListener = new PartActivationListener();
-		getViewSite().getPage().addPartListener(fPartActionUpdateListener);
-	}
-
-	protected PaletteRoot createRoot(SnippetDefinitions defs) {
-		fRoot = new SnippetPaletteRoot(defs);
-		fRoot.connect();
-		return fRoot;
-	}
-
-	/**
-	 * @see org.eclipse.ui.IWorkbenchPart#dispose()
-	 */
-	public void dispose() {
-		super.dispose();
-		if (fRoot != null)
-			fRoot.disconnect();
-		if (clipboard != null)
-			clipboard.dispose();
-		if (fPartActionUpdateListener != null)
-			getViewSite().getPage().removePartListener(fPartActionUpdateListener);
-		save();
-	}
-
-	protected void fillContextMenu(IMenuManager mgr) {
-		ISnippetsEntry entry = null;
-		EditPart part = getViewer().getFocusEditPart();
-		if (part != null && part.getModel() instanceof ISnippetsEntry)
-			entry = (ISnippetsEntry) part.getModel();
-
-		if (entry != null) {
-			if (getInsertAction().isEnabled()) {
-				mgr.add(getInsertAction());
-				mgr.add(new Separator());
-			}
-			// if (getCutAction().isEnabled())
-			mgr.add(getCutAction());
-			// if (getCopyAction().isEnabled())
-			mgr.add(getCopyAction());
-			// if (getPasteAction().isEnabled())
-			mgr.add(getPasteAction());
-		}
-	}
-
-	protected void fillLocalMenu(IMenuManager manager) {
-		manager.add(getInsertAction());
-		manager.add(new Separator());
-		manager.add(getCutAction());
-		manager.add(getCopyAction());
-		manager.add(getPasteAction());
-	}
-
-	protected void fillToolBar(IToolBarManager manager) {
-		manager.add(getInsertAction());
-	}
-
-	public Object getAdapter(Class adapter) {
-		return super.getAdapter(adapter);
-	}
-
-	/**
-	 * Returns the clipboard.
-	 * 
-	 * @return Clipboard
-	 */
-	protected Clipboard getClipboard() {
-		if (clipboard == null && getViewer() != null && getViewer().getControl() != null && !getViewer().getControl().isDisposed())
-			clipboard = new Clipboard(getViewer().getControl().getDisplay());
-		return clipboard;
-	}
-
-	// protected CollapseCategoriesAction getCollapseAction() {
-	// if(collapseCategoriesAction == null)
-	// collapseCategoriesAction = new CollapseCategoriesAction();
-	// return collapseCategoriesAction;
-	// }
-
-	/**
-	 * Returns the copyAction.
-	 * 
-	 * @return Action
-	 */
-	public Action getCopyAction() {
-		if (copyAction == null) {
-			copyAction = new CopyAction();
-			PlatformUI.getWorkbench().getHelpSystem().setHelp(copyAction, IHelpContextIds.MENU_COPY_SNIPPET);
-		}
-		return copyAction;
-	}
-
-	/**
-	 * Returns the cutAction.
-	 * 
-	 * @return Action
-	 */
-	public Action getCutAction() {
-		if (cutAction == null) {
-			cutAction = new CutAction();
-			PlatformUI.getWorkbench().getHelpSystem().setHelp(cutAction, IHelpContextIds.MENU_CUT_SNIPPET);
-		}
-		return cutAction;
-	}
-
-	/**
-	 * Returns the deleteAction.
-	 * 
-	 * @return Action
-	 */
-	protected Action getDeleteAction() {
-		if (deleteAction == null)
-			deleteAction = new DeleteAction();
-		return deleteAction;
-	}
-
-	// public void collapseCategories() {
-	// Iterator categories =
-	// getRoot().getDefinitions().getCategories().iterator();
-	// while (categories.hasNext()) {
-	// ISnippetCategory cat = (ISnippetCategory) categories.next();
-	// if (!cat.isVisible())
-	// continue;
-	// GraphicalEditPart catPart = (GraphicalEditPart)
-	// fViewer.getEditPartRegistry().get(cat);
-	// if (catPart != null && catPart instanceof DrawerEditPart)
-	// ((DrawerEditPart) catPart).setExpanded(false);
-	// }
-	// }
-
-	protected ISnippetsEntry getEntryFromSelection(ISelection selection) {
-		if (!selection.isEmpty()) {
-			if (selection instanceof IStructuredSelection) {
-				Object obj = ((IStructuredSelection) selection).getFirstElement();
-				if (obj instanceof EditPart) {
-					if (((EditPart) obj).getModel() instanceof ISnippetsEntry)
-						return (ISnippetsEntry) ((EditPart) obj).getModel();
-				}
-				else if (obj instanceof ISnippetsEntry)
-					return (ISnippetsEntry) obj;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the insertAction.
-	 * 
-	 * @return Action
-	 */
-	public Action getInsertAction() {
-		if (insertAction == null)
-			insertAction = new InsertAction();
-		return insertAction;
-	}
-
-	/**
-	 * Returns the pasteAction.
-	 * 
-	 * @return Action
-	 */
-	public PasteAction getPasteAction() {
-		if (pasteAction == null) {
-			pasteAction = new PasteAction();
-			PlatformUI.getWorkbench().getHelpSystem().setHelp(pasteAction, IHelpContextIds.MENU_PASTE_SNIPPET);
-		}
-		return pasteAction;
-	}
-
-	/**
-	 * Gets the model root -- should be identical across all instances
-	 * 
-	 * @return Returns a SnippetPaletteRoot
-	 */
-	public SnippetPaletteRoot getRoot() {
-		return SnippetManager.getInstance().getPaletteRoot();
-	}
-
-	/**
-	 * Returns the selected ISnippetsEntry.
-	 * 
-	 * @return ISnippetsEntry
-	 */
-	public ISnippetsEntry getSelectedEntry() {
-		return fSelectedEntry;
-	}
-
-	private ISelectionChangedListener getSelectionChangedListener() {
-		if (fSelectionChangedListener == null)
-			fSelectionChangedListener = new ISelectionChangedListener() {
-				public void selectionChanged(SelectionChangedEvent event) {
-					setSelectedEntry(getEntryFromSelection(event.getSelection()));
-				}
-			};
-		return fSelectionChangedListener;
-	}
-
-	/**
-	 * Returns the transferDragSourceListeners last set on the
-	 * GraphicalViewer.
-	 * 
-	 * @return List
-	 */
-	public List getTransferDragSourceListeners() {
-		if (fTransferDragSourceListeners == null)
-			fTransferDragSourceListeners = new ArrayList();
-		return fTransferDragSourceListeners;
-	}
-
-	/**
-	 * Returns the PaletteViewer
-	 * 
-	 * @return PaletteViewer
-	 */
-	public PaletteViewer getViewer() {
-		return fViewer;
-	}
-
-	public void init(IViewSite site, IMemento memento) throws PartInitException {
-		super.init(site, memento);
-		if (fViewer != null)
-			fViewer.restoreState(memento);
-	}
-
-	public void insert() {
-		if (getSelectedEntry() != null && getSelectedEntry() instanceof ISnippetItem) {
-			SnippetPaletteItem item = (SnippetPaletteItem) getSelectedEntry();
-			insert(item);
-		}
-	}
-
-	public void insert(SnippetPaletteItem item) {
-		insertionHelper.insert(item, getSite().getPage().getActiveEditor());
-	}
-
-	public void save() {
-		SnippetManager.getInstance().saveDefinitions();
-	}
-
-	public void saveState(IMemento memento) {
-		fViewer.saveState(memento);
-	}
-
-	public void setFocus() {
-		if (getViewer() != null && getViewer().getControl() != null && !getViewer().getControl().isDisposed())
-			getViewer().getControl().setFocus();
-	}
-
-	/**
-	 * Sets the root.
-	 * 
-	 * @param root
-	 *            The root to set
-	 */
-	public void setRoot(SnippetPaletteRoot root) {
-		fRoot = root;
-		fViewer.setPaletteRoot(root);
-	}
-
-	public void setSelectedEntry(ISnippetsEntry entry) {
-		if (Logger.DEBUG_PALETTE_SELECTION) {
-			if (fSelectedEntry == entry)
-				System.out.println("selection notification: " + entry + " (duplicated)"); //$NON-NLS-1$ //$NON-NLS-2$
-			else
-				System.out.println("selection notification: " + entry); //$NON-NLS-1$
-		}
-		if (fSelectedEntry == entry) {
-			return;
-		}
-		if (Logger.DEBUG_PALETTE_SELECTION)
-			System.out.println("processing selection: " + entry); //$NON-NLS-1$
-		fSelectedEntry = entry;
-		updateDragSource();
-		updateActions(entry);
-	}
-
-	protected void updateActions(ISnippetsEntry entry) {
-		boolean isItem = entry instanceof ISnippetItem;
-		boolean isFromPlugin = entry != null && entry.getSourceType() == ISnippetsEntry.SNIPPET_SOURCE_PLUGINS;
-
-		getCopyAction().setEnabled(entry != null && isItem);
-		getCutAction().setEnabled(entry != null && isItem && !isFromPlugin);
-		getPasteAction().setEnabled(getClipboard().getContents(TextTransfer.getInstance()) != null);
-		getPasteAction().update();
-		getInsertAction().setEnabled(entry != null && isItem && getSite().getPage().getEditorReferences().length > 0);
-	}
-
-	protected void updateDragSource() {
-		Transfer[] supportedTypes = null;
-		if (getSelectedEntry() != null && getSelectedEntry() instanceof ISnippetItem) {
-			SnippetPaletteItem item = (SnippetPaletteItem) getSelectedEntry();
-			ISnippetInsertion insertion = insertionHelper.getInsertion(item);
-			if (insertion != null) {
-				insertion.setItem(item);
-				insertion.setEditorPart(getSite().getPage().getActiveEditor());
-				supportedTypes = insertion.getTransfers();
-			}
-			else {
-				supportedTypes = new Transfer[]{TextTransfer.getInstance()};
-			}
-		}
-		else {
-			// Keep a transfer registered so that GEF doesn't unhook the drag
-			// source
-			// from the control. Not unhooking it would make it look like
-			// conditions
-			// where drag isn't supported would be (the cursor looks like it's
-			// dragging)
-			// when they shouldn't be draggable at all.
-			supportedTypes = new Transfer[]{TextTransfer.getInstance()};
-		}
-
-		/*
-		 * TRH suggested use of the event's doit field by the fListeners, but
-		 * there's no other way to guarantee that TextTransfer is considered
-		 * last
-		 */
-		Iterator iterator = getTransferDragSourceListeners().iterator();
-		ArrayList oldListeners = new ArrayList();
-		while (iterator.hasNext()) {
-			TransferDragSourceListener listener = (TransferDragSourceListener) iterator.next();
-			oldListeners.add(listener);
-			iterator.remove();
-		}
-
-		boolean addTextTransfer = false;
-		for (int i = 0; i < supportedTypes.length; i++) {
-			if (TextTransfer.class.equals(supportedTypes[i].getClass())) {
-				addTextTransfer = true;
-			}
-			else {
-				TransferDragSourceListener listener = new TransferDragSourceListenerImpl(supportedTypes[i]);
-				getViewer().addDragSourceListener(listener);
-				getTransferDragSourceListeners().add(listener);
-			}
-		}
-		iterator = oldListeners.iterator();
-		while (iterator.hasNext()) {
-			TransferDragSourceListener listener = (TransferDragSourceListener) iterator.next();
-			getViewer().removeDragSourceListener(listener);
-			iterator.remove();
-		}
-		if (addTextTransfer) {
-			addTextTransferListener();
-		}
-		if (Logger.DEBUG_DRAG_AND_DROP)
-			System.out.println("" + getTransferDragSourceListeners().size() + " transfer types"); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/ui/StringPropertyTableViewer.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/ui/StringPropertyTableViewer.java
deleted file mode 100644
index edefceb..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/ui/StringPropertyTableViewer.java
+++ /dev/null
@@ -1,382 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-package org.eclipse.wst.common.snippets.internal.ui;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.jface.viewers.ArrayContentProvider;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.wst.common.snippets.internal.SnippetsMessages;
-import org.eclipse.wst.common.snippets.internal.util.AccessibleTableViewer;
-
-public class StringPropertyTableViewer {
-
-	protected class MultiCastingSelectionChangedListener implements ISelectionChangedListener {
-
-		public void selectionChanged(SelectionChangedEvent event) {
-			ISelection sel = event.getSelection();
-			if (sel != null && !sel.isEmpty() && sel instanceof IStructuredSelection) {
-				setSelection((String) ((IStructuredSelection) sel).getFirstElement());
-			}
-			else
-				setSelection(null);
-			fireSelectionChanged(event);
-		}
-	}
-
-	protected class StringPropertyLabelProvider implements ITableLabelProvider {
-
-		public void addListener(ILabelProviderListener listener) {
-		}
-
-		public void dispose() {
-		}
-
-		public Image getColumnImage(Object element, int columnIndex) {
-			return null;
-		}
-
-		public String getColumnText(Object element, int columnIndex) {
-			String text = null;
-			if (element == null)
-				text = ""; //$NON-NLS-1$
-			else
-				text = (String) getColumnData()[columnIndex].get(element);
-			if (text == null)
-				text = ""; //$NON-NLS-1$
-			return text;
-		}
-
-		public boolean isLabelProperty(Object element, String property) {
-			return false;
-		}
-
-		public void removeListener(ILabelProviderListener listener) {
-		}
-	}
-
-	protected Map[] columnData = null;
-
-	protected String[] fColumnNames = null;
-
-	protected boolean fEditFirstColumn = true;
-	protected String fSelection;
-
-	protected List fSelectionChangedListeners;
-
-	protected AccessibleTableViewer fTableViewer = null;
-	protected List fValueChangedListeners;
-
-	/**
-	 * Constructor for StringPropertyTableViewer.
-	 */
-	public StringPropertyTableViewer() {
-		super();
-	}
-
-	/**
-	 * Constructor for VariableInsertionDialog.
-	 * 
-	 * @param parentShell
-	 */
-	public StringPropertyTableViewer(Composite parent, String[] columnNames) {
-		super();
-		setColumnNames(columnNames);
-		createContents(parent);
-	}
-
-	public void addSelectionChangedListener(ISelectionChangedListener listener) {
-		getSelectionChangedListeners().add(listener);
-	}
-
-	public void addValueChangedListener(ValueChangedListener listener) {
-		getValueChangedListeners().add(listener);
-	}
-
-	public void clear() {
-		for (int i = 0; i < getColumnNames().length; i++)
-			getColumnData()[i].clear();
-		refresh();
-	}
-
-	public Control createContents(Composite parent) {
-		// fTableViewer = new TableViewer(new Table(parent, SWT.FULL_SELECTION
-		// | SWT.V_SCROLL | SWT.H_SCROLL | SWT.SINGLE | SWT.BORDER));
-		// fTableViewer.getTable().addMouseListener(new EditMouseListener());
-		fTableViewer = new AccessibleTableViewer(new Table(parent, SWT.FULL_SELECTION | SWT.V_SCROLL | SWT.H_SCROLL | SWT.SINGLE | SWT.BORDER));
-		fTableViewer.setSingleClickCellSelect(true);
-
-		fTableViewer.getTable().setHeaderVisible(true);
-		fTableViewer.getTable().setLinesVisible(true);
-
-		fTableViewer.addSelectionChangedListener(new MultiCastingSelectionChangedListener());
-
-		fTableViewer.setLabelProvider(new StringPropertyLabelProvider());
-		fTableViewer.setContentProvider(new ArrayContentProvider());
-
-		TableLayout tlayout = new TableLayout();
-		CellEditor[] cellEditors = new CellEditor[getColumnNames().length];
-		columnData = new Map[getColumnNames().length];
-		for (int i = 0; i < getColumnNames().length; i++) {
-			// ensure that keys are ordered
-			getColumnData()[i] = new LinkedHashMap();
-			tlayout.addColumnData(new ColumnWeightData(40, true));
-			TableColumn tc = new TableColumn(fTableViewer.getTable(), SWT.NONE);
-			tc.setText(getColumnNames()[i]);
-			tc.setResizable(true);
-			tc.setWidth(40);
-			cellEditors[i] = new TextCellEditor(fTableViewer.getTable());
-		}
-		fTableViewer.getTable().setLayout(tlayout); // Create the Host column
-
-		fTableViewer.setCellEditors(cellEditors);
-
-		fTableViewer.setColumnProperties(getColumnNames());
-		ICellModifier cellmodifier = new ICellModifier() {
-			public boolean canModify(Object element, String property) {
-				if (getEditFirstColumn())
-					return true;
-				else if (getColumnNames().length > 1) {
-					for (int i = 1; i < getColumnNames().length; i++)
-						if (property.equals(getColumnNames()[i]))
-							return true;
-				}
-				return false;
-			}
-
-			public Object getValue(Object element, String property) {
-				String value = null;
-				for (int i = 0; i < getColumnNames().length; i++)
-					if (property.equals(getColumnNames()[i]))
-						value = (String) getColumnData()[i].get(element);
-				if (value == null)
-					value = ""; //$NON-NLS-1$
-				return value;
-			}
-
-			public void modify(Object element, String property, Object value) {
-				// Defect #213036, prevent zero-length names
-				// Defect #223942, prevent whitespace-only names
-				TableItem item = (TableItem) element;
-				String key = (String) item.getData();
-				if (property.equals(getColumnNames()[0]) && (value.toString().trim().length() < 1) || isNameExcluding(key, value.toString().trim())) {
-					return;
-				}
-				// Defect #222898, problems removing variables
-				if (getColumnData()[0].containsKey(key)) {
-					for (int i = 0; i < getColumnNames().length; i++) {
-						if (property.equals(getColumnNames()[i])) {
-							item.setText(i, (String) value);
-							String oldValue = (String) getColumnData()[i].get(key);
-							getColumnData()[i].put(key, value);
-							fireValueChanged(new String(key), property, oldValue, new String((String) value));
-						}
-					}
-				}
-			}
-		};
-		fTableViewer.setCellModifier(cellmodifier);
-		fTableViewer.setInput(new ArrayList(getColumnData()[0].keySet()));
-		return getControl();
-	}
-
-	/**
-	 * Closes and applies any editors in progress
-	 */
-	public void finishEditing() {
-		fTableViewer.finishEditing();
-	}
-
-	protected void fireSelectionChanged(SelectionChangedEvent event) {
-		ISelectionChangedListener[] listeners = new ISelectionChangedListener[getSelectionChangedListeners().size()];
-		getSelectionChangedListeners().toArray(listeners);
-		for (int i = 0; i < listeners.length; i++)
-			listeners[i].selectionChanged(event);
-	}
-
-	protected void fireValueChanged(String key, String property, String oldValue, String newValue) {
-		ValueChangedListener[] listeners = new ValueChangedListener[getValueChangedListeners().size()];
-		getValueChangedListeners().toArray(listeners);
-		for (int i = 0; i < listeners.length; i++)
-			listeners[i].valueChanged(key, property, oldValue, newValue);
-	}
-
-	/**
-	 * Gets the columnData.
-	 * 
-	 * @return Returns a HashMap[]
-	 */
-	public Map[] getColumnData() {
-		return columnData;
-	}
-
-	// /**
-	// * Sets the editNames.
-	// * @param editNames The editNames to set
-	// */
-	// protected void setEditNames(boolean editNames) {
-	// fEditNames = editNames;
-	// }
-
-	/**
-	 * Gets the columnNames.
-	 * 
-	 * @return Returns a String
-	 */
-	public String[] getColumnNames() {
-		if (fColumnNames == null)
-			return new String[]{SnippetsMessages.Variable_Name_3, SnippetsMessages.Value_4}; //$NON-NLS-1$ //$NON-NLS-2$
-		return fColumnNames;
-	}
-
-	public Control getControl() {
-
-		return getTable();
-	}
-
-	/**
-	 * Gets the editFirstColumn.
-	 * 
-	 * @return Returns a boolean
-	 */
-	public boolean getEditFirstColumn() {
-		return fEditFirstColumn;
-	}
-
-	public String getSelection() {
-		return fSelection;
-	}
-
-	protected List getSelectionChangedListeners() {
-		if (fSelectionChangedListeners == null)
-			fSelectionChangedListeners = new ArrayList();
-		return fSelectionChangedListeners;
-	}
-
-	/**
-	 * Gets the tableViewer.
-	 * 
-	 * @return Returns a TableViewer
-	 */
-	public Table getTable() {
-		if (fTableViewer == null)
-			return null;
-		return fTableViewer.getTable();
-	}
-
-	/**
-	 * Gets the valueChangedListeners.
-	 * 
-	 * @return Returns a List
-	 */
-	public List getValueChangedListeners() {
-		if (fValueChangedListeners == null)
-			fValueChangedListeners = new ArrayList();
-		return fValueChangedListeners;
-	}
-
-	/**
-	 * determines of a name is present anywhere but in the given element's row
-	 */
-	protected boolean isNameExcluding(Object element, Object value) {
-		return isValueExcluding(element, 0, value);
-	}
-
-	protected boolean isValueExcluding(Object element, int column, Object value) {
-		Iterator keys = getColumnData()[0].keySet().iterator();
-		boolean duplicated = false;
-		Object key = null;
-		while (keys.hasNext()) {
-			key = keys.next();
-			if (!key.equals(element) && getColumnData()[column].get(key).toString().trim().equals(value))
-				duplicated = true;
-		}
-		return duplicated;
-	}
-
-	public void refresh() {
-		if (fTableViewer != null) {
-			fTableViewer.setInput(new ArrayList(getColumnData()[0].keySet()));
-			// fTableViewer.refresh();
-		}
-	}
-
-	public void removeSelectionChangedListener(ISelectionChangedListener listener) {
-		getSelectionChangedListeners().remove(listener);
-	}
-
-	public void removeValueChangedListener(ValueChangedListener listener) {
-		getValueChangedListeners().remove(listener);
-	}
-
-	/**
-	 * Sets the columnData.
-	 * 
-	 * @param columnData
-	 *            The columnData to set
-	 */
-	public void setColumnData(HashMap[] newColumnData) {
-		this.columnData = newColumnData;
-	}
-
-	/**
-	 * Sets the columnNames.
-	 * 
-	 * @param columnNames
-	 *            The columnNames to set
-	 */
-	public void setColumnNames(String[] columnNames) {
-		fColumnNames = columnNames;
-	}
-
-	/**
-	 * Sets the editFirstColumn.
-	 * 
-	 * @param editFirstColumn
-	 *            The editFirstColumn to set
-	 */
-	public void setEditFirstColumn(boolean editFirstColumn) {
-		fEditFirstColumn = editFirstColumn;
-	}
-
-	/**
-	 * Sets the selection.
-	 * 
-	 * @param selection
-	 *            The selection to set
-	 */
-	public void setSelection(String selection) {
-		fSelection = selection;
-	}
-
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/ui/ValueChangedListener.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/ui/ValueChangedListener.java
deleted file mode 100644
index 2062cf3..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/ui/ValueChangedListener.java
+++ /dev/null
@@ -1,17 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 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
- *******************************************************************************/
-package org.eclipse.wst.common.snippets.internal.ui;
-
-
-
-public interface ValueChangedListener {
-	void valueChanged(String key, String property, String oldValue, String newValue);
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/util/AccessibleTableViewer.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/util/AccessibleTableViewer.java
deleted file mode 100644
index 13f1bc3..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/util/AccessibleTableViewer.java
+++ /dev/null
@@ -1,781 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 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
- *******************************************************************************/
-package org.eclipse.wst.common.snippets.internal.util;
-
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.IBaseLabelProvider;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.TableEditor;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Item;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.swt.widgets.Widget;
-
-/**
- * AccessibleTableViewer 
- * 
- * A concrete viewer based on a SWT <code>Table</code> control.
- * <p>
- * This class is not intended to be subclassed outside the viewer framework.
- * It is designed to be instantiated with a pre-existing SWT table control and
- * configured with a domain-specific content provider, table label provider,
- * element filter (optional), and element sorter (optional).
- * </p>
- * <p>
- * Label providers for table viewers must implement either the
- * <code>ITableLabelProvider</code> or the <code>ILabelProvider</code>
- * interface (see <code>TableViewer.setLabelProvider</code> for more
- * details).
- * </p>
- */
-public class AccessibleTableViewer extends StructuredViewer {
-
-	/**
-	 * This viewer's table control.
-	 */
-	protected Table fTable;
-
-	/**
-	 * This viewer's table editor.
-	 */
-	protected TableEditor fTableEditor;
-
-
-	/**
-	 * Internal table viewer implementation.
-	 */
-	protected TableViewerImpl fTableViewerImpl;
-
-	/**
-	 * Creates a table viewer on a newly-created table control under the given
-	 * parent. The table control is created using the SWT style bits
-	 * <code>MULTI, H_SCROLL, V_SCROLL,</code> and <code>BORDER</code>.
-	 * The viewer has no input, no content provider, a default label provider,
-	 * no sorter, and no filters. The table has no columns.
-	 * 
-	 * @param parent
-	 *            the parent control
-	 */
-	public AccessibleTableViewer(Composite parent) {
-		this(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
-	}
-
-	/**
-	 * Creates a table viewer on a newly-created table control under the given
-	 * parent. The table control is created using the given style bits. The
-	 * viewer has no input, no content provider, a default label provider, no
-	 * sorter, and no filters. The table has no columns.
-	 * 
-	 * @param parent
-	 *            the parent control
-	 * @param style
-	 *            SWT style bits
-	 */
-	public AccessibleTableViewer(Composite parent, int style) {
-		this(new Table(parent, style));
-	}
-
-	/**
-	 * Creates a table viewer on the given table control. The viewer has no
-	 * input, no content provider, a default label provider, no sorter, and no
-	 * filters.
-	 * 
-	 * @param table
-	 *            the table control
-	 */
-	public AccessibleTableViewer(Table table) {
-		fTable = table;
-		addKeyListener();
-		hookControl(table);
-		fTableEditor = new TableEditor(table);
-		initTableViewerImpl();
-	}
-
-	/**
-	 * Adds the given element to this table viewer. If this viewer does not
-	 * have a sorter, the element is added at the end; otherwise the element
-	 * is inserted at the appropriate position.
-	 * <p>
-	 * This method should be called (by the content provider) when a single
-	 * element has been added to the model, in order to cause the viewer to
-	 * accurately reflect the model. This method only affects the viewer, not
-	 * the model. Note that there is another method for efficiently processing
-	 * the simultaneous addition of multiple elements.
-	 * </p>
-	 * 
-	 * @param element
-	 *            the element to add
-	 */
-	public void add(Object element) {
-		add(new Object[]{element});
-	}
-
-	/**
-	 * Adds the given elements to this table viewer. If this viewer does not
-	 * have a sorter, the elements are added at the end in the order given;
-	 * otherwise the elements are inserted at appropriate positions.
-	 * <p>
-	 * This method should be called (by the content provider) when elements
-	 * have been added to the model, in order to cause the viewer to
-	 * accurately reflect the model. This method only affects the viewer, not
-	 * the model.
-	 * </p>
-	 * 
-	 * @param elements
-	 *            the elements to add
-	 */
-	public void add(Object[] elements) {
-		Object[] filtered = filter(elements);
-		for (int i = 0; i < filtered.length; i++) {
-			Object element = filtered[i];
-			int index = indexForElement(element);
-			updateItem(new TableItem(getTable(), SWT.NONE, index), element);
-		}
-	}
-
-	private void addKeyListener() {
-		if (fTable != null && !fTable.isDisposed()) {
-			fTable.addKeyListener(new KeyAdapter() {
-				public void keyPressed(KeyEvent e) {
-					if (e.character == '\r' || e.character == ' ') {
-						TableItem[] selectedItems = fTable.getSelection();
-						if (selectedItems != null && selectedItems.length == 1) {
-							fTableViewerImpl.setTableItem(selectedItems[0]);
-							fTableViewerImpl.activateFirstCellEditor();
-						}
-					}
-				}
-			});
-		}
-	}
-
-	/**
-	 * Cancels a currently active cell editor. All changes already done in the
-	 * cell editor are lost.
-	 */
-	public void cancelEditing() {
-		fTableViewerImpl.cancelEditing();
-	}
-
-	/*
-	 * (non-Javadoc) Method declared on StructuredViewer.
-	 */
-	protected Widget doFindInputItem(Object element) {
-		if (element.equals(getRoot()))
-			return getTable();
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc) Method declared on StructuredViewer.
-	 */
-	protected Widget doFindItem(Object element) {
-		TableItem[] children = fTable.getItems();
-		for (int i = 0; i < children.length; i++) {
-			TableItem item = children[i];
-			Object data = item.getData();
-			if (data != null && data.equals(element))
-				return item;
-		}
-
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc) Method declared on StructuredViewer.
-	 */
-	protected void doUpdateItem(Widget widget, Object element, boolean fullMap) {
-		if (widget instanceof TableItem) {
-			TableItem item = (TableItem) widget;
-
-			// remember element we are showing
-			if (fullMap) {
-				associate(element, item);
-			}
-			else {
-				item.setData(element);
-				mapElement(element, item);
-			}
-
-			IBaseLabelProvider prov = getLabelProvider();
-			ITableLabelProvider tprov = null;
-			ILabelProvider lprov = null;
-			if (prov instanceof ITableLabelProvider) {
-				tprov = (ITableLabelProvider) prov;
-			}
-			else {
-				lprov = (ILabelProvider) prov;
-			}
-			int columnCount = fTable.getColumnCount();
-			// Also enter loop if no columns added. See 1G9WWGZ: JFUIF:WINNT -
-			// TableViewer with 0 columns does not work
-			for (int column = 0; column < columnCount || column == 0; column++) {
-				// Similar code in TableTreeViewer.doUpdateItem()
-				TableItem ti = item;
-				String text = ""; //$NON-NLS-1$
-				Image image = null;
-				if (tprov != null) {
-					text = tprov.getColumnText(element, column);
-					image = tprov.getColumnImage(element, column);
-				}
-				else {
-					if (column == 0) {
-						text = lprov.getText(element);
-						image = lprov.getImage(element);
-					}
-				}
-				ti.setText(column, text);
-				if (ti.getImage(column) != image) {
-					ti.setImage(column, image);
-				}
-			}
-		}
-	}
-
-	/**
-	 * Starts editing the given element.
-	 * 
-	 * @param element
-	 *            the element
-	 * @param column
-	 *            the column number
-	 */
-	public void editElement(Object element, int column) {
-		fTableViewerImpl.editElement(element, column);
-	}
-
-	/**
-	 * Deactivates the currently active cell editor. All changes already done
-	 * in the cell editor are saved.
-	 */
-	public void finishEditing() {
-		fTableViewerImpl.applyEditorValue();
-	}
-
-	/**
-	 * Returns the cell editors of this table viewer.
-	 * 
-	 * @return the list of cell editors
-	 */
-	public CellEditor[] getCellEditors() {
-		return fTableViewerImpl.getCellEditors();
-	}
-
-	/**
-	 * Returns the cell modifier of this table viewer.
-	 * 
-	 * @return the cell modifier
-	 */
-	public ICellModifier getCellModifier() {
-		return fTableViewerImpl.getCellModifier();
-	}
-
-	/**
-	 * Returns the column properties of this table viewer. The properties must
-	 * correspond with the columns of the table control. They are used to
-	 * identify the column in a cell modifier.
-	 * 
-	 * @return the list of column properties
-	 */
-	public Object[] getColumnProperties() {
-		return fTableViewerImpl.getColumnProperties();
-	}
-
-	/*
-	 * (non-Javadoc) Method declared on Viewer.
-	 */
-	public Control getControl() {
-		return fTable;
-	}
-
-	/**
-	 * Returns the element with the given index from this table viewer.
-	 * Returns <code>null</code> if the index is out of range.
-	 * <p>
-	 * This method is internal to the framework.
-	 * </p>
-	 * 
-	 * @param index
-	 *            the zero-based index
-	 * @return the element at the given index, or <code>null</code> if the
-	 *         index is out of range
-	 */
-	public Object getElementAt(int index) {
-		if (index >= 0 && index < fTable.getItemCount()) {
-			TableItem i = fTable.getItem(index);
-			if (i != null)
-				return i.getData();
-		}
-		return null;
-	}
-
-	/**
-	 * The table viewer implementation of this <code>Viewer</code> framework
-	 * method returns the label provider, which in the case of table viewers
-	 * will be an instance of either <code>ITableLabelProvider</code> or
-	 * <code>ILabelProvider</code>. If it is an
-	 * <code>ITableLabelProvider</code>, then it provides a separate label
-	 * text and image for each column. If it is an <code>ILabelProvider</code>,
-	 * then it provides only the label text and image for the first column,
-	 * and any remaining columns are blank.
-	 */
-	public IBaseLabelProvider getLabelProvider() {
-		return super.getLabelProvider();
-	}
-
-	/*
-	 * (non-Javadoc) Method declared on StructuredViewer.
-	 */
-	protected List getSelectionFromWidget() {
-		Widget[] items = fTable.getSelection();
-		ArrayList list = new ArrayList(items.length);
-		for (int i = 0; i < items.length; i++) {
-			Widget item = items[i];
-			Object e = item.getData();
-			if (e != null)
-				list.add(e);
-		}
-		return list;
-	}
-
-	/**
-	 * Returns this table viewer's table control.
-	 * 
-	 * @return the table control
-	 */
-	public Table getTable() {
-		return fTable;
-	}
-
-	/*
-	 * (non-Javadoc) Method declared on StructuredViewer.
-	 */
-	protected void hookControl(Control control) {
-		super.hookControl(control);
-		Table tableControl = (Table) control;
-		tableControl.addSelectionListener(new SelectionListener() {
-
-			public void widgetDefaultSelected(SelectionEvent e) {
-				handleDoubleSelect(e);
-			}
-
-			public void widgetSelected(SelectionEvent e) {
-				handleSelect(e);
-			}
-		});
-		tableControl.addMouseListener(new MouseAdapter() {
-
-			public void mouseDoubleClick(MouseEvent e) {
-				fTableViewerImpl.handleMouseDoubleClick(e);
-			}
-
-			public void mouseDown(MouseEvent e) {
-				fTableViewerImpl.handleMouseDown(e);
-			}
-		});
-	}
-
-	/*
-	 * Returns the index where the item should be inserted.
-	 */
-	protected int indexForElement(Object element) {
-		ViewerSorter sorter = getSorter();
-		if (sorter == null)
-			return fTable.getItemCount();
-		int count = fTable.getItemCount();
-		int min = 0, max = count - 1;
-		while (min <= max) {
-			int mid = (min + max) / 2;
-			Object data = fTable.getItem(mid).getData();
-			int compare = sorter.compare(this, data, element);
-			if (compare == 0) {
-				// find first item > element
-				while (compare == 0) {
-					++mid;
-					if (mid >= count) {
-						break;
-					}
-					data = fTable.getItem(mid).getData();
-					compare = sorter.compare(this, data, element);
-				}
-				return mid;
-			}
-			if (compare < 0)
-				min = mid + 1;
-			else
-				max = mid - 1;
-		}
-		return min;
-	}
-
-	/**
-	 * Initializes the table viewer implementation.
-	 */
-	protected void initTableViewerImpl() {
-		fTableViewerImpl = new TableViewerImpl(fTable) {
-			Rectangle getBounds(Item item, int columnNumber) {
-				return ((TableItem) item).getBounds(columnNumber);
-			}
-
-			int getColumnCount() {
-				return getTable().getColumnCount();
-			}
-
-			Item[] getSelection() {
-				return getTable().getSelection();
-			}
-
-			void setEditor(Control w, Item item, int columnNumber) {
-				fTableEditor.setEditor(w, (TableItem) item, columnNumber);
-			}
-
-			void setLayoutData(CellEditor.LayoutData layoutData) {
-				fTableEditor.grabHorizontal = layoutData.grabHorizontal;
-				fTableEditor.horizontalAlignment = layoutData.horizontalAlignment;
-				fTableEditor.minimumWidth = layoutData.minimumWidth;
-			}
-
-			void setSelection(StructuredSelection selection, boolean b) {
-				AccessibleTableViewer.this.setSelection(selection, b);
-			}
-
-			void showSelection() {
-				getTable().showSelection();
-			}
-		};
-	}
-
-	/*
-	 * (non-Javadoc) Method declared on Viewer.
-	 */
-	protected void inputChanged(Object input, Object oldInput) {
-		getControl().setRedraw(false);
-		try {
-			// refresh() attempts to preserve selection, which we want here
-			refresh();
-		}
-		finally {
-			getControl().setRedraw(true);
-		}
-	}
-
-	/**
-	 * Inserts the given element into this table viewer at the given position.
-	 * If this viewer has a sorter, the position is ignored and the element is
-	 * inserted at the correct position in the sort order.
-	 * <p>
-	 * This method should be called (by the content provider) when elements
-	 * have been added to the model, in order to cause the viewer to
-	 * accurately reflect the model. This method only affects the viewer, not
-	 * the model.
-	 * </p>
-	 * 
-	 * @param element
-	 *            the element
-	 * @param position
-	 *            a 0-based position relative to the model, or -1 to indicate
-	 *            the last position
-	 */
-	public void insert(Object element, int position) {
-		fTableViewerImpl.applyEditorValue();
-		if (getSorter() != null || hasFilters()) {
-			add(element);
-			return;
-		}
-		if (position == -1)
-			position = fTable.getItemCount();
-		updateItem(new TableItem(fTable, SWT.NONE, position), element);
-	}
-
-	/*
-	 * (non-Javadoc) Method declared on StructuredViewer.
-	 */
-	protected void internalRefresh(Object element) {
-		internalRefresh(element, true);
-	}
-
-	/*
-	 * (non-Javadoc) Method declared on StructuredViewer.
-	 */
-	protected void internalRefresh(Object element, boolean updateLabels) {
-		fTableViewerImpl.applyEditorValue();
-		if (element == null || element.equals(getRoot())) {
-			// the parent
-
-			// in the code below, it is important to do all disassociates
-			// before any associates, since a later disassociate can undo an
-			// earlier associate
-			// e.g. if (a, b) is replaced by (b, a), the disassociate of b to
-			// item 1 could undo
-			// the associate of b to item 0.
-
-			Object[] children = getSortedChildren(getRoot());
-			TableItem[] items = fTable.getItems();
-			int min = Math.min(children.length, items.length);
-			for (int i = 0; i < min; ++i) {
-				if (children[i] != null && items[i] != null) {
-					// if the element is unchanged, update its label if
-					// appropriate
-					if (children[i].equals(items[i].getData())) {
-						if (updateLabels) {
-							updateItem(items[i], children[i]);
-						}
-					}
-					else {
-						// updateItem does an associate(...), which can mess
-						// up
-						// the associations if the order of elements has
-						// changed.
-						// E.g. (a, b) -> (b, a) first replaces a->0 with
-						// b->0, then replaces b->1 with a->1, but this
-						// actually removes b->0.
-						// So, if the object associated with this item has
-						// changed,
-						// just disassociate it for now, and update it below.
-						disassociate(items[i]);
-					}
-				}
-			}
-
-			// dispose of all items beyond the end of the current elements
-			if (min < items.length) {
-				for (int i = items.length; --i >= min;) {
-					disassociate(items[i]);
-				}
-				fTable.remove(min, items.length - 1);
-			}
-
-			// Workaround for 1GDGN4Q: ITPUI:WIN2000 - TableViewer icons get
-			// scrunched
-			if (fTable.getItemCount() == 0) {
-				fTable.removeAll();
-			}
-
-			// Update items which were removed above
-			for (int i = 0; i < min; ++i) {
-				if (items[i].getData() == null) {
-					updateItem(items[i], children[i]);
-				}
-			}
-
-			// add any remaining elements
-			for (int i = min; i < children.length; ++i) {
-				updateItem(new TableItem(fTable, SWT.NONE, i), children[i]);
-			}
-		}
-		else {
-			Widget w = findItem(element);
-			if (w != null) {
-				updateItem(w, element);
-			}
-		}
-	}
-
-	/**
-	 * Removes the given elements from this table viewer.
-	 * 
-	 * @param elements
-	 *            the elements to remove
-	 */
-	private void internalRemove(final Object[] elements) {
-		Object input = getInput();
-		for (int i = 0; i < elements.length; ++i) {
-			if (elements[i].equals(input)) {
-				setInput(null);
-				return;
-			}
-		}
-		// use remove(int[]) rather than repeated TableItem.dispose() calls
-		// to allow SWT to optimize multiple removals
-		int[] indices = new int[elements.length];
-		int count = 0;
-		for (int i = 0; i < elements.length; ++i) {
-			Widget w = findItem(elements[i]);
-			if (w instanceof TableItem) {
-				TableItem item = (TableItem) w;
-				disassociate(item);
-				indices[count++] = fTable.indexOf(item);
-			}
-		}
-		if (count < indices.length) {
-			System.arraycopy(indices, 0, indices = new int[count], 0, count);
-		}
-		fTable.remove(indices);
-
-		// Workaround for 1GDGN4Q: ITPUI:WIN2000 - TableViewer icons get
-		// scrunched
-		if (fTable.getItemCount() == 0) {
-			fTable.removeAll();
-		}
-	}
-
-	/**
-	 * Returns whether there is an active cell editor.
-	 * 
-	 * @return <code>true</code> if there is an active cell editor, and
-	 *         <code>false</code> otherwise
-	 */
-	public boolean isCellEditorActive() {
-		return fTableViewerImpl.isCellEditorActive();
-	}
-
-	/**
-	 * Removes the given element from this table viewer. The selection is
-	 * updated if necessary.
-	 * <p>
-	 * This method should be called (by the content provider) when a single
-	 * element has been removed from the model, in order to cause the viewer
-	 * to accurately reflect the model. This method only affects the viewer,
-	 * not the model. Note that there is another method for efficiently
-	 * processing the simultaneous removal of multiple elements.
-	 * </p>
-	 * 
-	 * @param element
-	 *            the element
-	 */
-	public void remove(Object element) {
-		remove(new Object[]{element});
-	}
-
-	/**
-	 * Removes the given elements from this table viewer. The selection is
-	 * updated if required.
-	 * <p>
-	 * This method should be called (by the content provider) when elements
-	 * have been removed from the model, in order to cause the viewer to
-	 * accurately reflect the model. This method only affects the viewer, not
-	 * the model.
-	 * </p>
-	 * 
-	 * @param elements
-	 *            the elements to remove
-	 */
-	public void remove(final Object[] elements) {
-		preservingSelection(new Runnable() {
-			public void run() {
-				internalRemove(elements);
-			}
-		});
-	}
-
-	/*
-	 * Non-Javadoc. Method defined on StructuredViewer.
-	 */
-	public void reveal(Object element) {
-		Widget w = findItem(element);
-		if (w instanceof TableItem)
-			getTable().showItem((TableItem) w);
-	}
-
-	/**
-	 * Sets the cell editors of this table viewer.
-	 * 
-	 * @param editors
-	 *            the list of cell editors
-	 */
-	public void setCellEditors(CellEditor[] editors) {
-		fTableViewerImpl.setCellEditors(editors);
-	}
-
-	/**
-	 * Sets the cell modifier of this table viewer.
-	 * 
-	 * @param modifier
-	 *            the cell modifier
-	 */
-	public void setCellModifier(ICellModifier modifier) {
-		fTableViewerImpl.setCellModifier(modifier);
-	}
-
-	/**
-	 * Sets the column properties of this table viewer. The properties must
-	 * correspond with the columns of the table control. They are used to
-	 * identify the column in a cell modifier.
-	 * 
-	 * @param columnProperties
-	 *            the list of column properties
-	 */
-	public void setColumnProperties(String[] columnProperties) {
-		fTableViewerImpl.setColumnProperties(columnProperties);
-	}
-
-	/**
-	 * The table viewer implementation of this <code>Viewer</code> framework
-	 * method ensures that the given label provider is an instance of either
-	 * <code>ITableLabelProvider</code> or <code>ILabelProvider</code>.
-	 * If it is an <code>ITableLabelProvider</code>, then it provides a
-	 * separate label text and image for each column. If it is an
-	 * <code>ILabelProvider</code>, then it provides only the label text
-	 * and image for the first column, and any remaining columns are blank.
-	 */
-	public void setLabelProvider(IBaseLabelProvider labelProvider) {
-		Assert.isTrue(labelProvider instanceof ITableLabelProvider || labelProvider instanceof ILabelProvider);
-		super.setLabelProvider(labelProvider);
-	}
-
-	/*
-	 * (non-Javadoc) Method declared on StructuredViewer.
-	 */
-	protected void setSelectionToWidget(List list, boolean reveal) {
-		if (list == null) {
-			fTable.deselectAll();
-			return;
-		}
-		int size = list.size();
-		TableItem[] items = new TableItem[size];
-		TableItem firstItem = null;
-		int count = 0;
-		for (int i = 0; i < size; ++i) {
-			Object o = list.get(i);
-			Widget w = findItem(o);
-			if (w instanceof TableItem) {
-				TableItem item = (TableItem) w;
-				items[count++] = item;
-				if (firstItem == null)
-					firstItem = item;
-			}
-		}
-		if (count < size) {
-			System.arraycopy(items, 0, items = new TableItem[count], 0, count);
-		}
-		fTable.setSelection(items);
-
-		if (reveal && firstItem != null) {
-			fTable.showItem(firstItem);
-		}
-	}
-
-	public void setSingleClickCellSelect(boolean b) {
-		fTableViewerImpl.setSingleClickCellSelect(b);
-	}
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/util/CComboSelectionDialog.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/util/CComboSelectionDialog.java
deleted file mode 100644
index 65bc1aa..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/util/CComboSelectionDialog.java
+++ /dev/null
@@ -1,205 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 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
- *******************************************************************************/
-package org.eclipse.wst.common.snippets.internal.util;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.IInputValidator;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CCombo;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.TraverseEvent;
-import org.eclipse.swt.events.TraverseListener;
-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.swt.widgets.Shell;
-
-/**
- * Based on org.eclipse.jdt.internal.ui.refactoring.ComboSelectionDialog
- */
-
-public class CComboSelectionDialog extends Dialog {
-	CCombo combo;
-	private final String[] fAllowedStrings;
-	private final int fInitialSelectionIndex;
-	private final String fLabelText;
-
-	int fSelectionIndex = -1;
-	private final String fShellTitle;
-	String fStringValue = null;
-	IInputValidator fValidator;
-
-	public CComboSelectionDialog(Shell parentShell, String shellTitle, String labelText, String[] comboStrings, int initialSelectionIndex, IInputValidator validator) {
-		super(parentShell);
-		Assert.isNotNull(shellTitle);
-		Assert.isNotNull(labelText);
-		Assert.isTrue(initialSelectionIndex >= -1 && initialSelectionIndex <= comboStrings.length);
-		fShellTitle = shellTitle;
-		fLabelText = labelText;
-		fAllowedStrings = comboStrings;
-		fInitialSelectionIndex = initialSelectionIndex;
-		fValidator = validator;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.dialogs.Dialog#createButtonBar(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createButtonBar(Composite parent) {
-		Control result = super.createButtonBar(parent);
-		if (combo != null && result != null) {
-			getButton(IDialogConstants.CANCEL_ID).addTraverseListener(new TraverseListener() {
-				public void keyTraversed(TraverseEvent e) {
-					if (e.character == SWT.TAB && e.stateMask == SWT.NONE)
-						combo.setFocus();
-				}
-			});
-		}
-		return result;
-	}
-
-	/*
-	 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createDialogArea(Composite parent) {
-		getShell().setText(fShellTitle);
-		setShellStyle(getShellStyle() | SWT.RESIZE);
-
-		Composite composite = (Composite) super.createDialogArea(parent);
-		Composite innerComposite = new Composite(composite, SWT.NONE);
-		innerComposite.setLayoutData(new GridData());
-		GridLayout gl = new GridLayout();
-		gl.numColumns = 2;
-		innerComposite.setLayout(gl);
-
-		Label label = new Label(innerComposite, SWT.NONE);
-		label.setText(fLabelText);
-		label.setLayoutData(new GridData());
-
-		combo = new CCombo(innerComposite, SWT.BORDER);
-		combo.addKeyListener(new KeyListener() {
-			public void keyPressed(KeyEvent e) {
-				if (e.character == SWT.CR && e.stateMask == SWT.NONE) {
-					fStringValue = combo.getText();
-					setReturnCode(Window.OK);
-					updateSelectionIndex();
-					close();
-				}
-				else if (e.character == SWT.TAB) {
-					if (e.stateMask == SWT.SHIFT)
-						combo.traverse(SWT.TRAVERSE_TAB_PREVIOUS);
-					else
-						combo.traverse(SWT.TRAVERSE_TAB_NEXT);
-				}
-			}
-
-			public void keyReleased(KeyEvent e) {
-			}
-		});
-		combo.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				fStringValue = combo.getText();
-				if (getButton(IDialogConstants.OK_ID) != null) {
-					String errorMessage = null;
-					if (fValidator != null) {
-						errorMessage = fValidator.isValid(combo.getText());
-					}
-					getButton(IDialogConstants.OK_ID).setEnabled(errorMessage == null);
-				}
-			}
-		});
-		for (int i = 0; i < fAllowedStrings.length; i++) {
-			combo.add(fAllowedStrings[i]);
-		}
-		combo.select(fInitialSelectionIndex);
-		fSelectionIndex = combo.getSelectionIndex();
-		GridData gd = new GridData();
-		gd.widthHint = convertWidthInCharsToPixels(getMaxStringLength() + 10);
-		combo.setLayoutData(gd);
-		combo.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				fSelectionIndex = combo.getSelectionIndex();
-				fStringValue = combo.getText();
-			}
-		});
-		applyDialogFont(composite);
-		combo.setFocus();
-		return composite;
-	}
-
-	private int getMaxStringLength() {
-		int max = 0;
-		for (int i = 0; i < fAllowedStrings.length; i++) {
-			max = Math.max(max, fAllowedStrings[i].length());
-		}
-		return max;
-	}
-
-	/**
-	 * @return
-	 */
-	public int getSelectionIndex() {
-		return fSelectionIndex;
-	}
-
-	/**
-	 * @return
-	 */
-	public String getStringValue() {
-		return fStringValue;
-	}
-
-	/**
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.dialogs.Dialog#okPressed()
-	 */
-	protected void okPressed() {
-		updateSelectionIndex();
-		super.okPressed();
-	}
-
-	/**
-	 * @param i
-	 */
-	public void setSelectionIndex(int i) {
-		fSelectionIndex = i;
-	}
-
-	/**
-	 * @param string
-	 */
-	public void setStringValue(String string) {
-		fStringValue = string;
-	}
-
-	void updateSelectionIndex() {
-		if (fSelectionIndex >= 0) {
-			// patch the selection index and String
-			boolean selectedString = false;
-			for (int i = 0; i < fAllowedStrings.length; i++)
-				selectedString = selectedString || fAllowedStrings[i].equals(fStringValue);
-			if (!selectedString)
-				fSelectionIndex = -1;
-		}
-	}
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/util/CommonXML.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/util/CommonXML.java
deleted file mode 100644
index e538afb..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/util/CommonXML.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 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
- *******************************************************************************/
-package org.eclipse.wst.common.snippets.internal.util;
-
-
-
-import java.io.IOException;
-import java.io.OutputStream;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.Source;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerConfigurationException;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.TransformerFactoryConfigurationError;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-
-import org.eclipse.wst.common.snippets.internal.Logger;
-import org.w3c.dom.Document;
-
-/**
- */
-public class CommonXML {
-
-	/**
-	 * Returns a DocumentBuilder capable of creating a DOM Document from
-	 * input.
-	 * 
-	 * Example usage: Document document = null; try { DocumentBuilder builder =
-	 * CommonXML.getDocumentBuilder(); if (builder != null) { InputStream fis =
-	 * new FileInputStream(getFilename()); document = builder.parse(new
-	 * InputSource(fis)); } else { Logger.log(Logger.ERROR, "Couldn't obtain a
-	 * DocumentBuilder"); //$NON-NLS-1$ } } catch (FileNotFoundException e) { //
-	 * typical of new workspace, don't log it document = null; } catch
-	 * (IOException e) { Logger.logException("Could not load document", e);
-	 * //$NON-NLS-1$ return definitions; } catch (SAXException e) {
-	 * Logger.logException("Could not load document", e); //$NON-NLS-1$ return
-	 * definitions; }
-	 * 
-	 * @return
-	 */
-	public synchronized static DocumentBuilder getDocumentBuilder() {
-		DocumentBuilder result = null;
-		try {
-			result = DocumentBuilderFactory.newInstance().newDocumentBuilder();
-		}
-		catch (ParserConfigurationException e) {
-			Logger.logException(e);
-		}
-		return result;
-	}
-
-	public synchronized static DocumentBuilder getDocumentBuilder(boolean validating) {
-		DocumentBuilder result = null;
-		try {
-			DocumentBuilderFactory instance = DocumentBuilderFactory.newInstance();
-			instance.setValidating(validating);
-			result = instance.newDocumentBuilder();
-		}
-		catch (ParserConfigurationException e) {
-			Logger.logException(e);
-		}
-		return result;
-	}
-
-	/**
-	 * Transforms a DOM document into a lightly-formatted UTF-16 represntation
-	 * and outputs it to an outputstream
-	 * 
-	 * @param document
-	 * @param ostream
-	 * @throws IOException
-	 */
-	public static void serialize(Document document, OutputStream ostream) throws IOException {
-		Source domSource = new DOMSource(document);
-		try {
-			Transformer serializer = TransformerFactory.newInstance().newTransformer();
-			try {
-				serializer.setOutputProperty(OutputKeys.INDENT, "yes"); //$NON-NLS-1$
-				serializer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4"); //$NON-NLS-1$ //$NON-NLS-2$
-				serializer.setOutputProperty(OutputKeys.ENCODING, "UTF-16"); //$NON-NLS-1$
-			}
-			catch (IllegalArgumentException e) {
-				// unsupported properties
-			}
-			serializer.transform(domSource, new StreamResult(ostream));
-		}
-		catch (TransformerConfigurationException e) {
-			throw new IOException(e.getMessage());
-		}
-		catch (TransformerFactoryConfigurationError e) {
-			throw new IOException(e.getMessage());
-		}
-		catch (TransformerException e) {
-			throw new IOException(e.getMessage());
-		}
-	}
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/util/SnippetProviderManager.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/util/SnippetProviderManager.java
deleted file mode 100644
index 9432861..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/util/SnippetProviderManager.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2009 SAP AG 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:

- *     SAP AG - initial API and implementation

- *******************************************************************************/

-package org.eclipse.wst.common.snippets.internal.util;

-

-import java.util.ArrayList;

-import java.util.List;

-

-import org.eclipse.core.runtime.Assert;

-import org.eclipse.core.runtime.IConfigurationElement;

-import org.eclipse.core.runtime.IExtension;

-import org.eclipse.core.runtime.IExtensionPoint;

-import org.eclipse.core.runtime.Platform;

-import org.eclipse.ui.IEditorPart;

-import org.eclipse.wst.common.snippets.core.ISnippetProvider;

-import org.eclipse.wst.common.snippets.internal.SnippetContributor;

-import org.eclipse.wst.common.snippets.ui.TextSnippetProvider;

-

-

-public class SnippetProviderManager {

-

-	private static ISnippetProvider[] getProviders() {

-		IExtensionPoint extensionPoint = Platform.getExtensionRegistry().getExtensionPoint(SnippetContributor.ID_EXTENSION_POINT_PROVIDER);

-		IExtension[] extensions = extensionPoint.getExtensions();

-		List providerList = new ArrayList();

-		for (int i = 0; i < extensions.length; i++) {

-			IConfigurationElement[] configurationElements = extensions[i].getConfigurationElements();

-			for (int j = 0; j < configurationElements.length; j++) {

-				SnippetContributor sc = new SnippetContributor(configurationElements[j]);

-				if (sc.getProvider() != null) {

-					providerList.add(sc.getProvider());

-				}

-			}

-

-		}

-		return (ISnippetProvider[]) providerList.toArray(new ISnippetProvider[providerList.size()]);

-	}

-

-	public static ISnippetProvider findProvider(String id) {

-		Assert.isNotNull(id);

-		ISnippetProvider[] providers = getProviders();

-		for (int i = 0; i < providers.length; i++) {

-			if (id.equals(providers[i].getId()))

-				return providers[i];

-		}

-

-		return new TextSnippetProvider();

-	}

-

-	public static ISnippetProvider getApplicableProvider(IEditorPart targetEditor) {

-		SnippetContributor applicableContributor = null;

-		IExtensionPoint extensionPoint = Platform.getExtensionRegistry().getExtensionPoint(SnippetContributor.ID_EXTENSION_POINT_PROVIDER);

-		if (extensionPoint != null) {

-			IExtension[] extensions = extensionPoint.getExtensions();

-			for (int i = 0; i < extensions.length; i++) {

-				IConfigurationElement[] configurationElements = extensions[i].getConfigurationElements();

-				for (int j = 0; j < configurationElements.length; j++) {

-					SnippetContributor sc = new SnippetContributor(configurationElements[j]);

-					if (sc.isApplicable(targetEditor)) {

-						if (applicableContributor == null || applicableContributor.getPriority() > sc.getPriority()) {

-							applicableContributor = sc;

-						}

-					}

-				}

-			}

-		}

-		if (applicableContributor == null) {

-			return null;

-		}

-		ISnippetProvider provider = applicableContributor.getProvider();

-		// a null provider is an error condition

-		if (provider != null) {

-			provider.setEditor(targetEditor);

-		}

-		return provider;

-	}

-

-

-

-}

diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/util/Sorter.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/util/Sorter.java
deleted file mode 100644
index 4b2cc9e..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/util/Sorter.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2005 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.common.snippets.internal.util;
-
-/**
- * The SortOperation takes a collection of objects and returns a sorted
- * collection of these objects. Concrete instances of this class provide the
- * criteria for the sorting of the objects based on the type of the objects.
- */
-public abstract class Sorter {
-
-	/**
-	 * Returns true if elementTwo is 'greater than' elementOne This is the
-	 * 'ordering' method of the sort operation. Each subclass overides this
-	 * method with the particular implementation of the 'greater than' concept
-	 * for the objects being sorted.
-	 */
-	public abstract boolean compare(Object elementOne, Object elementTwo);
-
-	/**
-	 * Sort the objects in sorted collection and return that collection.
-	 */
-	private Object[] quickSort(Object[] sortedCollection, int left, int right) {
-		int originalLeft = left;
-		int originalRight = right;
-		Object mid = sortedCollection[(left + right) / 2];
-
-		do {
-			while (compare(sortedCollection[left], mid))
-				left++;
-			while (compare(mid, sortedCollection[right]))
-				right--;
-			if (left <= right) {
-				Object tmp = sortedCollection[left];
-				sortedCollection[left] = sortedCollection[right];
-				sortedCollection[right] = tmp;
-				left++;
-				right--;
-			}
-		} while (left <= right);
-
-		if (originalLeft < right)
-			sortedCollection = quickSort(sortedCollection, originalLeft, right);
-		if (left < originalRight)
-			sortedCollection = quickSort(sortedCollection, left, originalRight);
-
-		return sortedCollection;
-	}
-
-	/**
-	 * Return a new sorted collection from this unsorted collection. Sort
-	 * using quick sort.
-	 */
-	public Object[] sort(Object[] unSortedCollection) {
-		int size = unSortedCollection.length;
-		Object[] sortedCollection = new Object[size];
-
-		//copy the array so can return a new sorted collection
-		System.arraycopy(unSortedCollection, 0, sortedCollection, 0, size);
-		if (size > 1)
-			quickSort(sortedCollection, 0, size - 1);
-
-		return sortedCollection;
-	}
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/util/StringUtils.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/util/StringUtils.java
deleted file mode 100644
index 98dac8e..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/util/StringUtils.java
+++ /dev/null
@@ -1,736 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.common.snippets.internal.util;
-
-
-
-import java.util.ArrayList;
-import java.util.List;
-import com.ibm.icu.util.StringTokenizer;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-
-
-public class StringUtils {
-	protected static final String AMPERSTAND = "&"; //$NON-NLS-1$
-	protected static final String AMPERSTAND_ENTITY = "&&;"; //$NON-NLS-1$
-	protected static final String CARRIAGE_RETURN = "\r"; //$NON-NLS-1$
-	protected static final String CARRIAGE_RETURN_ENTITY = "\\r"; //$NON-NLS-1$
-	protected static final String CR = "\r"; //$NON-NLS-1$
-	protected static final String CRLF = "\r\n"; //$NON-NLS-1$
-	protected static final String DELIMITERS = " \t\n\r\f"; //$NON-NLS-1$
-	protected static final String DOUBLE_QUOTE = "\""; //$NON-NLS-1$
-	protected static final char DOUBLE_QUOTE_CHAR = '\"'; //$NON-NLS-1$
-	protected static final String DOUBLE_QUOTE_ENTITY = "&quot;"; //$NON-NLS-1$
-
-	protected static final String EQUAL_SIGN = "="; //$NON-NLS-1$
-	protected static final String EQUAL_SIGN_ENTITY = "&#61;"; //$NON-NLS-1$
-	private static final String FALSE = "false"; //$NON-NLS-1$
-	protected static final String GREATER_THAN = ">"; //$NON-NLS-1$
-	protected static final String GREATER_THAN_ENTITY = "&gt;"; //$NON-NLS-1$
-	protected static final String LESS_THAN = "<"; //$NON-NLS-1$
-	protected static final String LESS_THAN_ENTITY = "&lt;"; //$NON-NLS-1$
-	protected static final String LF = "\n"; //$NON-NLS-1$
-	protected static final String LINE_FEED = "\n"; //$NON-NLS-1$
-	protected static final String LINE_FEED_ENTITY = "\\n"; //$NON-NLS-1$
-	protected static final String LINE_FEED_TAG = "<dl>"; //$NON-NLS-1$
-	protected static final String LINE_TAB = "\t"; //$NON-NLS-1$
-	protected static final String LINE_TAB_ENTITY = "\\t"; //$NON-NLS-1$
-	protected static final String LINE_TAB_TAG = "<dd>"; //$NON-NLS-1$
-	protected static final String SINGLE_QUOTE = "'"; //$NON-NLS-1$
-	protected static final char SINGLE_QUOTE_CHAR = '\''; //$NON-NLS-1$
-	protected static final String SINGLE_QUOTE_ENTITY = "&#039;"; //$NON-NLS-1$
-	protected static final String SPACE = " "; //$NON-NLS-1$
-	protected static final String SPACE_ENTITY = "&nbsp;"; //$NON-NLS-1$
-	private static final String TRUE = "true"; //$NON-NLS-1$
-
-	/**
-	 * Append appendString to the end of aString only if aString does not end
-	 * with the insertString.
-	 */
-	public static String appendIfNotEndWith(String aString, String appendString) {
-		if ((aString != null) && (appendString != null))
-			if (aString.endsWith(appendString))
-				return aString;
-			else
-				return aString + appendString;
-		else
-			return aString;
-	}
-
-	/**
-	 * Breaks out space-separated words into an array of words. For example:
-	 * <code>"no comment"</code> into an array <code>a[0]="no"</code> and
-	 * <code>a[1]= "comment"</code>.
-	 * 
-	 * @param value
-	 *            the string to be converted
-	 * @return the list of words
-	 */
-	public static String[] asArray(String value) {
-		ArrayList list = new ArrayList();
-		StringTokenizer stok = new StringTokenizer(value);
-		while (stok.hasMoreTokens()) {
-			list.add(stok.nextToken());
-		}
-		String result[] = new String[list.size()];
-		list.toArray(result);
-		return result;
-	}
-
-	/**
-	 * Breaks out delim-separated words into an array of words. For example:
-	 * <code>"no comment"</code> into an array <code>a[0]="no"</code> and
-	 * <code>a[1]= "comment"</code>.
-	 * 
-	 * @param value
-	 *            the string to be converted
-	 * @return the list of words
-	 */
-	public static String[] asArray(String value, String delim) {
-		return asArray(value, delim, false);
-	}
-
-	/**
-	 * Breaks out delim-separated words into an array of words. For example:
-	 * <code>"no comment"</code> into an array <code>a[0]="no"</code> and
-	 * <code>a[1]= "comment"</code>.
-	 * 
-	 * @param value
-	 *            the string to be converted
-	 * @return the list of words
-	 */
-	public static String[] asArray(String value, String delim, boolean returnTokens) {
-		ArrayList list = new ArrayList();
-		StringTokenizer stok = new StringTokenizer(value, delim, returnTokens);
-		while (stok.hasMoreTokens()) {
-			list.add(stok.nextToken());
-		}
-		String result[] = new String[list.size()];
-		list.toArray(result);
-		return result;
-	}
-
-	/**
-	 * Breaks out delim-separated words into an array of words. For example:
-	 * <code>"abc,,def"</code> into an array <code>a[0]="abc"</code>,
-	 * <code>a[1]=null</code>, and <code>a[2]= "def"</code> where "," is
-	 * the delim.
-	 * 
-	 * @param value
-	 *            the string to be converted
-	 * @return the list of words
-	 */
-	public static String[] asFixedArray(String value, String delim) {
-		String array[] = asArray(value, delim, true);
-		int arrayLength = array.length;
-		boolean stringFound = false;
-		ArrayList list = new ArrayList();
-
-		for (int i = 0; i < arrayLength; i++) {
-			String token = array[i];
-			if (token.compareTo(delim) == 0) {
-				if (!stringFound)
-					list.add(null);
-				stringFound = false;
-			}
-			else {
-				list.add(token);
-				stringFound = true;
-			}
-		}
-		// add one more null if last token is the delim
-		if (!stringFound)
-			list.add(null);
-
-		String result[] = new String[list.size()];
-		list.toArray(result);
-		return result;
-	}
-
-	public static String chop(String source) {
-		return chop(source, "/"); //$NON-NLS-1$
-	}
-
-	public static String chop(String source, String delimiter) {
-		return source.substring(0, source.lastIndexOf(delimiter));
-	}
-
-	public static boolean contains(String[] arrayOfStrings, String needle, boolean caseSensitive) {
-		boolean result = false;
-		if (needle == null)
-			return false;
-		if (arrayOfStrings == null)
-			return false;
-
-		if (caseSensitive) {
-			for (int i = 0; i < arrayOfStrings.length; i++) {
-				if (needle.equals(arrayOfStrings[i])) {
-					result = true;
-					break;
-				}
-			}
-		}
-		else {
-			for (int i = 0; i < arrayOfStrings.length; i++) {
-				if (needle.equalsIgnoreCase(arrayOfStrings[i])) {
-					result = true;
-					break;
-				}
-			}
-		}
-		return result;
-	}
-
-	public static boolean containsLetters(String fullValue) {
-
-		if (fullValue == null || fullValue.length() == 0)
-			return false;
-
-		char[] chars = fullValue.toCharArray();
-		for (int i = 0; i < fullValue.length(); i++)
-			if (Character.isLetter(chars[i]))
-				return true;
-
-		return false;
-	}
-
-	public static boolean containsLineDelimiter(String aString) {
-		return indexOfLineDelimiter(aString) != -1;
-	}
-
-	public static String convertLineDelimiters(String allText, String lineDelimiterToUse) throws BadLocationException {
-		IDocument tempDoc = new Document(allText);
-
-		if (lineDelimiterToUse == null)
-			lineDelimiterToUse = System.getProperty("line.separator"); //$NON-NLS-1$
-
-		String newText = ""; //$NON-NLS-1$
-		int lineCount = tempDoc.getNumberOfLines();
-		for (int i = 0; i < lineCount; i++) {
-			org.eclipse.jface.text.IRegion lineInfo = tempDoc.getLineInformation(i);
-			int lineStartOffset = lineInfo.getOffset();
-			int lineLength = lineInfo.getLength();
-			int lineEndOffset = lineStartOffset + lineLength;
-			newText += allText.substring(lineStartOffset, lineEndOffset);
-
-			if ((i < lineCount - 1) && (tempDoc.getLineDelimiter(i) != null))
-				newText += lineDelimiterToUse;
-		}
-
-		return newText;
-	}
-
-	/**
-	 * Replaces all instances of special HTML characters with the appropriate
-	 * HTML entity equivalent. WARNING only use this method for strings that
-	 * dont already have HTML-specific items such as tags and entities.
-	 * 
-	 * @param String
-	 *            content String to convert
-	 * 
-	 * @return String the converted string
-	 * @see HTMLPrinter#convertToHTMLContent(String content)
-	 */
-	public static String convertToHTMLContent(String content) {
-		content = replace(content, AMPERSTAND, AMPERSTAND_ENTITY);
-		content = replace(content, LESS_THAN, LESS_THAN_ENTITY);
-		content = replace(content, GREATER_THAN, GREATER_THAN_ENTITY);
-		content = replace(content, LINE_FEED, LINE_FEED_TAG);
-		content = replace(content, LINE_TAB, LINE_TAB_TAG);
-		content = replace(content, SINGLE_QUOTE, SINGLE_QUOTE_ENTITY);
-		content = replace(content, DOUBLE_QUOTE, DOUBLE_QUOTE_ENTITY);
-		content = replace(content, SPACE + SPACE, SPACE_ENTITY + SPACE_ENTITY); // replacing
-		// every
-		// space
-		// would
-		// be
-		// too
-		// much
-		return content;
-	}
-
-	/**
-	 * Converts a string into a form that will not conflict with saving it
-	 * into an INI file
-	 */
-	public static String escape(String normalString) {
-		if (normalString == null)
-			return null;
-		StringBuffer escapedBuffer = new StringBuffer();
-		StringTokenizer toker = new StringTokenizer(normalString, EQUAL_SIGN + LINE_FEED + CARRIAGE_RETURN + LINE_TAB, true);
-		String chunk = null;
-		while (toker.hasMoreTokens()) {
-			chunk = toker.nextToken();
-			if (chunk.equals(EQUAL_SIGN)) {
-				escapedBuffer.append(EQUAL_SIGN_ENTITY);
-			}
-			else if (chunk.equals(LINE_FEED)) {
-				escapedBuffer.append(LINE_FEED_ENTITY);
-			}
-			else if (chunk.equals(CARRIAGE_RETURN)) {
-				escapedBuffer.append(CARRIAGE_RETURN_ENTITY);
-			}
-			else if (chunk.equals(LINE_TAB)) {
-				escapedBuffer.append(LINE_TAB_ENTITY);
-			}
-			else {
-				escapedBuffer.append(chunk);
-			}
-		}
-		return escapedBuffer.toString();
-	}
-
-	/**
-	 * Returns the first line of the given text without a trailing delimiter
-	 * 
-	 * @param text
-	 * @return
-	 */
-	public static String firstLineOf(String text) {
-		if (text == null || text.length() < 1) {
-			return text;
-		}
-		IDocument doc = new Document(text);
-		try {
-			int lineNumber = doc.getLineOfOffset(0);
-			IRegion line = doc.getLineInformation(lineNumber);
-			return doc.get(line.getOffset(), line.getLength());
-		}
-		catch (BadLocationException e) {
-			// do nothing
-		}
-		return text;
-	}
-
-	public static int indexOfLastLineDelimiter(String aString) {
-		return indexOfLastLineDelimiter(aString, aString.length());
-	}
-
-	public static int indexOfLastLineDelimiter(String aString, int offset) {
-		int index = -1;
-
-		if (aString != null && aString.length() > 0) {
-			index = aString.lastIndexOf(CRLF, offset);
-			if (index == -1) {
-				index = aString.lastIndexOf(CR, offset);
-				if (index == -1)
-					index = aString.lastIndexOf(LF, offset);
-			}
-		}
-
-		return index;
-	}
-
-	public static int indexOfLineDelimiter(String aString) {
-		return indexOfLineDelimiter(aString, 0);
-	}
-
-	public static int indexOfLineDelimiter(String aString, int offset) {
-		int index = -1;
-
-		if (aString != null && aString.length() > 0) {
-			index = aString.indexOf(CRLF, offset);
-			if (index == -1) {
-				index = aString.indexOf(CR, offset);
-				if (index == -1)
-					index = aString.indexOf(LF, offset);
-			}
-		}
-
-		return index;
-	}
-
-	public static int indexOfNonblank(String aString) {
-		return indexOfNonblank(aString, 0);
-	}
-
-	public static int indexOfNonblank(String aString, int offset) {
-		int index = -1;
-
-		if (aString != null && aString.length() > 0) {
-			for (int i = offset; i < aString.length(); i++) {
-				if (DELIMITERS.indexOf(aString.substring(i, i + 1)) == -1) {
-					index = i;
-					break;
-				}
-			}
-		}
-
-		return index;
-	}
-
-	/**
-	 * Insert insertString to the beginning of aString only if aString does
-	 * not start with the insertString.
-	 */
-	public static String insertIfNotStartWith(String aString, String insertString) {
-		if ((aString != null) && (insertString != null))
-			if (aString.startsWith(insertString))
-				return aString;
-			else
-				return insertString + aString;
-		else
-			return aString;
-	}
-
-	public static boolean isQuoted(String string) {
-		if ((string == null) || (string.length() < 2))
-			return false;
-
-		int lastIndex = string.length() - 1;
-		char firstChar = string.charAt(0);
-		char lastChar = string.charAt(lastIndex);
-
-		return (((firstChar == SINGLE_QUOTE_CHAR) && (lastChar == SINGLE_QUOTE_CHAR)) || ((firstChar == DOUBLE_QUOTE_CHAR) && (lastChar == DOUBLE_QUOTE_CHAR)));
-	}
-
-	/**
-	 * Unit tests.
-	 * 
-	 * @param args
-	 *            java.lang.String[]
-	 */
-	public static void main(String[] args) {
-		// testPaste();
-		testStripNonLetterDigits();
-	}
-
-	/*
-	 * Returns the merged form of both strings
-	 */
-	public static String merge(String newStart, String newEnd) {
-		String[] regions = overlapRegions(newStart, newEnd);
-		return regions[0] + regions[1] + regions[2];
-	}
-
-	public static int occurrencesOf(String searchString, char targetChar) {
-		int result = 0;
-		int len = searchString.length();
-		for (int i = 0; i < len; i++) {
-			if (targetChar == searchString.charAt(i))
-				result++;
-		}
-		return result;
-	}
-
-	/**
-	 * 
-	 * @return java.lang.String[]
-	 * @param start
-	 *            java.lang.String
-	 * @param end
-	 *            java.lang.String
-	 * 
-	 * Returns a 3 String array containing unique text from the start,
-	 * duplicated text that overlaps the start and end, and the unique text
-	 * from the end.
-	 */
-	private static String[] overlapRegions(String start, String end) {
-		String[] results = null;
-		if (start != null && end == null) {
-			results = new String[]{start, "", ""}; //$NON-NLS-2$//$NON-NLS-1$
-		}
-		else if (start == null && end != null) {
-			results = new String[]{"", "", end}; //$NON-NLS-2$//$NON-NLS-1$
-		}
-		else if (start == null && end == null) {
-			results = new String[]{"", "", ""}; //$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
-		}
-		else if (start != null && end != null) {
-
-			int startLength = start.length();
-			int endLength = end.length();
-
-			if (startLength == 0 || endLength == 0) {
-				results = new String[]{"", "", ""}; //$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
-			}
-			else {
-				results = new String[3];
-				String testStart = ""; //$NON-NLS-1$
-				String testEnd = ""; //$NON-NLS-1$
-				int mergeLength = Math.min(startLength, endLength);
-				boolean finished = false;
-				while (mergeLength > 0 && !finished) {
-					testStart = start.substring(startLength - mergeLength);
-					testEnd = end.substring(0, mergeLength);
-					// case sensitive
-					if (testStart.equals(testEnd)) {
-						finished = true;
-						results[0] = start.substring(0, startLength - mergeLength);
-						results[1] = start.substring(startLength - mergeLength);
-						results[2] = end.substring(mergeLength);
-					}
-					mergeLength--;
-				}
-				if (!finished) {
-					results[0] = start;
-					results[1] = ""; //$NON-NLS-1$
-					results[2] = end;
-				}
-			}
-		}
-		return results;
-	}
-
-	/**
-	 * Packs an array of Strings into a single comma delimited String.
-	 * 
-	 * @param strings
-	 * @return
-	 * @todo Generated comment
-	 */
-	public static String pack(String[] strings) {
-		StringBuffer buf = new StringBuffer();
-		for (int i = 0; i < strings.length; i++) {
-			buf.append(StringUtils.replace(strings[i], ",", "&comma;")); //$NON-NLS-1$ //$NON-NLS-2$
-			if (i < strings.length - 1)
-				buf.append(","); //$NON-NLS-1$
-		}
-		return buf.toString();
-	}
-
-	/*
-	 * Pastes the new text into the old at the start position, replacing text
-	 * implied by length.
-	 */
-	public static String paste(String oldText, String newText, int start, int length) {
-		String result = null;
-		StringBuffer sb = new StringBuffer();
-		int startIndex = start;
-		int endIndex = start + length;
-		if (startIndex > oldText.length()) {
-			startIndex = oldText.length();
-		}
-		sb.append(oldText.substring(0, startIndex));
-		// null or empty new text accompliches a delete
-		if (newText != null) {
-			sb.append(newText);
-		}
-		if (endIndex < oldText.length()) {
-
-			sb.append(oldText.substring(endIndex));
-		}
-		result = sb.toString();
-		return result;
-	}
-
-	/**
-	 * Replace matching literal portions of a string with another string
-	 */
-	public static String replace(String aString, String source, String target) {
-		if (aString == null)
-			return null;
-		String normalString = ""; //$NON-NLS-1$
-		int length = aString.length();
-		int position = 0;
-		int previous = 0;
-		int spacer = source.length();
-		while (position + spacer - 1 < length && aString.indexOf(source, position) > -1) {
-			position = aString.indexOf(source, previous);
-			normalString = normalString + aString.substring(previous, position) + target;
-			position += spacer;
-			previous = position;
-		}
-		normalString = normalString + aString.substring(position, aString.length());
-
-		return normalString;
-	}
-
-	/**
-	 * Restore the entity references for markup delimiters in text where they
-	 * have been replaced by the proper Unicode values through a DOM text
-	 * parser.
-	 */
-	public static String restoreMarkers(String text) {
-		String content = text;
-		content = replace(content, AMPERSTAND, AMPERSTAND_ENTITY);
-		content = replace(content, LESS_THAN, LESS_THAN_ENTITY);
-		content = replace(content, GREATER_THAN, GREATER_THAN_ENTITY);
-		return content;
-	}
-
-	/**
-	 * Removes extra whitespace characters and quotes
-	 */
-	public static String strip(String quotedString) {
-		if (quotedString == null || quotedString.length() == 0)
-			return quotedString;
-		String trimmed = quotedString.trim();
-		if (trimmed.length() < 2)
-			return quotedString;
-
-		char first = trimmed.charAt(0);
-		char nextToLast = trimmed.charAt(trimmed.length() - 2);
-		char last = trimmed.charAt(trimmed.length() - 1);
-
-		if ((first == '\"' && last == '\"' && nextToLast != '\\') || (first == '\'' && last == '\'' && nextToLast != '\\')) {
-			return trimmed.substring(1, trimmed.length() - 1);
-		}
-		return trimmed;
-	}
-
-	/**
-	 * This method strips anything from the beginning and end of a string that
-	 * is not a letter or digit. It is used by some encoding detectors to come
-	 * up with the encoding name from illformed input (e.g in <?xml
-	 * encoding="abc?> -- where final quote is left off, the '>' is returned
-	 * with the rest of the attribute value 'abc').
-	 */
-	public static String stripNonLetterDigits(String fullValue) {
-		if (fullValue == null || fullValue.length() == 0)
-			return fullValue;
-		int fullValueLength = fullValue.length();
-		int firstPos = 0;
-		while (firstPos < fullValueLength && !Character.isLetterOrDigit(fullValue.charAt(firstPos))) {
-			firstPos++;
-		}
-		int lastPos = fullValueLength - 1;
-		while (lastPos > firstPos && !Character.isLetterOrDigit(fullValue.charAt(lastPos))) {
-			lastPos--;
-		}
-		String result = fullValue;
-		if (firstPos != 0 || lastPos != fullValueLength) {
-			result = fullValue.substring(firstPos, lastPos + 1);
-		}
-		return result;
-	}
-
-	/**
-	 * Similar to strip, except quotes don't need to match such as "UTF' is
-	 * still stripped of both quotes. (Plus, this one does not detect escaped
-	 * quotes)
-	 */
-	public static String stripQuotes(String quotedValue) {
-		if (quotedValue == null)
-			return null;
-		// normally will never have leading or trailing blanks,
-		// but if it does, we'll do lenient interpretation
-		return stripQuotesLeaveInsideSpace(quotedValue).trim();
-	}
-
-	/**
-	 * Like strip quotes, except leaves the start and end space inside the
-	 * quotes
-	 * 
-	 * @param quotedValue
-	 * @return
-	 */
-	public static String stripQuotesLeaveInsideSpace(String quotedValue) {
-		if (quotedValue == null)
-			return null;
-		// nomally will never have leading or trailing blanks ... but just in
-		// case.
-		String result = quotedValue.trim();
-		int len = result.length();
-		if (len > 0) {
-			char firstChar = result.charAt(0);
-			if ((firstChar == SINGLE_QUOTE_CHAR) || (firstChar == DOUBLE_QUOTE_CHAR)) {
-				result = result.substring(1, len);
-			}
-			len = result.length();
-			if (len > 0) {
-				char lastChar = result.charAt(len - 1);
-				if ((lastChar == SINGLE_QUOTE_CHAR) || (lastChar == DOUBLE_QUOTE_CHAR)) {
-					result = result.substring(0, len - 1);
-				}
-			}
-		}
-		return result;
-	}
-
-	public static void testPaste() {
-		String testString = "The quick brown fox ..."; //$NON-NLS-1$
-		System.out.println(paste(testString, null, 4, 5));
-		System.out.println(paste(testString, null, 4, 6));
-		System.out.println(paste(testString, "", 4, 6)); //$NON-NLS-1$
-		System.out.println(paste(testString, "fast", 4, 6)); //$NON-NLS-1$
-		System.out.println(paste(testString, "fast ", 4, 6)); //$NON-NLS-1$
-		System.out.println(paste(testString, "But ", 0, 0)); //$NON-NLS-1$
-		System.out.println(paste("", "burp", 4, 6)); //$NON-NLS-2$//$NON-NLS-1$
-	}
-
-	public static void testStripNonLetterDigits() {
-		String testString = "abc"; //$NON-NLS-1$
-		System.out.println(testString + " -->" + stripNonLetterDigits(testString) + "<--"); //$NON-NLS-1$ //$NON-NLS-2$
-		testString = ""; //$NON-NLS-1$
-		System.out.println(testString + " -->" + stripNonLetterDigits(testString) + "<--"); //$NON-NLS-1$ //$NON-NLS-2$
-		testString = "\"abc\""; //$NON-NLS-1$
-		System.out.println(testString + " -->" + stripNonLetterDigits(testString) + "<--"); //$NON-NLS-1$ //$NON-NLS-2$
-		testString = "\"ab-c1?"; //$NON-NLS-1$
-		System.out.println(testString + " -->" + stripNonLetterDigits(testString) + "<--"); //$NON-NLS-1$ //$NON-NLS-2$
-		testString = "+++"; //$NON-NLS-1$
-		System.out.println(testString + " -->" + stripNonLetterDigits(testString) + "<--"); //$NON-NLS-1$ //$NON-NLS-2$
-		testString = "abc="; //$NON-NLS-1$
-		System.out.println(testString + " -->" + stripNonLetterDigits(testString) + "<--"); //$NON-NLS-1$ //$NON-NLS-2$
-		testString = "abc "; //$NON-NLS-1$
-		System.out.println(testString + " -->" + stripNonLetterDigits(testString) + "<--"); //$NON-NLS-1$ //$NON-NLS-2$
-
-	}
-
-	public static String toString(boolean booleanValue) {
-		if (booleanValue)
-			return TRUE;
-		else
-			return FALSE;
-	}
-
-	/**
-	 * Remove "escaped" chars from a string.
-	 */
-	public static String unescape(String aString) {
-		if (aString == null)
-			return null;
-		String normalString = replace(aString, EQUAL_SIGN_ENTITY, EQUAL_SIGN);
-		normalString = replace(normalString, LINE_FEED_ENTITY, LINE_FEED);
-		normalString = replace(normalString, CARRIAGE_RETURN_ENTITY, CARRIAGE_RETURN);
-		normalString = replace(normalString, LINE_TAB_ENTITY, LINE_TAB);
-		return normalString;
-	}
-
-	public static String uniqueEndOf(String newStart, String newEnd) {
-		String[] regions = overlapRegions(newStart, newEnd);
-		return regions[2];
-	}
-
-	/**
-	 * Unpacks a comma delimited String into an array of Strings
-	 * 
-	 * @param s
-	 * @return
-	 * @todo Generated comment
-	 */
-	public static String[] unpack(String s) {
-		if (s == null)
-			return new String[0];
-		StringTokenizer toker = new StringTokenizer(s, ","); //$NON-NLS-1$
-		List list = new ArrayList();
-		while (toker.hasMoreTokens()) {
-			// since we're separating the values with ',', escape ',' in the
-			// values
-			list.add(StringUtils.replace(toker.nextToken(), "&comma;", ",").trim()); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		return (String[]) list.toArray(new String[0]);
-	}
-
-	/**
-	 * StringUtils constructor comment.
-	 */
-	private StringUtils() {
-		super();
-	}
-
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/util/TableViewerImpl.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/util/TableViewerImpl.java
deleted file mode 100644
index 7478a6b..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/util/TableViewerImpl.java
+++ /dev/null
@@ -1,520 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 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
- *******************************************************************************/
-package org.eclipse.wst.common.snippets.internal.util;
-
-
-
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ICellEditorListener;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.TraverseEvent;
-import org.eclipse.swt.events.TraverseListener;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Item;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * TAKEN FROM: TableViewerImpl 1.1.2.
- *  - added table field - implemented handleDownArrow and handleUpArrow -
- * added row-wrapping tab/shift-tab traversal
- * 
- * Internal table viewer implementation.
- */
-/* package */
-abstract class TableViewerImpl implements TraverseListener {
-
-
-	boolean fIsActivating = false;
-	private boolean fSingleClickCellSelect = false;
-	private CellEditor fCellEditor;
-	private CellEditor[] fCellEditors;
-	private ICellModifier fCellModifier;
-	private String[] fColumnProperties;
-	private Item fTableItem;
-	private int fColumnNumber;
-	private ICellEditorListener fCellEditorListener;
-
-	protected Table fTable = null;
-
-	TableViewerImpl(Table table) {
-		fTable = table;
-		initCellEditorListener();
-	}
-
-	/**
-	 * Activate a cell editor for the given column.
-	 */
-	private void activateCellEditor() {
-		if (fCellEditors != null) {
-			if (fCellEditors[fColumnNumber] != null && fCellModifier != null) {
-				Object element = fTableItem.getData();
-				String property = fColumnProperties[fColumnNumber];
-				if (fCellModifier.canModify(element, property)) {
-					fCellEditor = fCellEditors[fColumnNumber];
-					// table.showSelection();
-					fCellEditor.addListener(fCellEditorListener);
-					Object value = fCellModifier.getValue(element, property);
-					fCellEditor.setValue(value);
-					// Tricky flow of control here:
-					// activate() can trigger callback to cellEditorListener
-					// which will clear cellEditor
-					// so must get control first, but must still call
-					// activate() even if there is no control.
-					Control control = fCellEditor.getControl();
-					fCellEditor.activate();
-					if (control != null) {
-						setLayoutData(fCellEditor.getLayoutData());
-						setEditor(control, fTableItem, fColumnNumber);
-						fCellEditor.setFocus();
-					}
-				}
-			}
-		}
-	}
-
-	/**
-	 * Activate a cell editor for the given mouse position.
-	 */
-	private void activateCellEditor(MouseEvent event) {
-		if (fTableItem == null || fTableItem.isDisposed()) {
-			// item no longer exists
-			return;
-		}
-		int columns = getColumnCount();
-		int columnToEdit = -1;
-		Rectangle bounds = null;
-		for (int i = 0; i < columns; i++) {
-			bounds = getBounds(fTableItem, i);
-			if (bounds.contains(event.x, event.y)) {
-				columnToEdit = i;
-				break;
-			}
-		}
-		if (columnToEdit == -1 || bounds == null)
-			return;
-
-		fColumnNumber = columnToEdit;
-		activateCellEditor();
-	}
-
-	/**
-	 * Activate the first cell editor.
-	 */
-	public void activateFirstCellEditor() {
-		if (fCellEditors != null) {
-			int columnNumber = -1;
-			for (int i = 0; i < fCellEditors.length; i++) {
-				if (fCellEditors[i] != null && getCellModifier().canModify(fTableItem.getData(), (String) getColumnProperties()[i])) {
-					columnNumber = i;
-					break;
-				}
-			}
-			if (columnNumber > -1 && fCellModifier != null) {
-				fColumnNumber = columnNumber;
-				activateCellEditor();
-			}
-		}
-	}
-
-	/**
-	 * Deactivates the currently active cell editor.
-	 */
-	public void applyEditorValue() {
-		CellEditor c = this.fCellEditor;
-		if (c != null) {
-			// null out cell editor before calling save
-			// in case save results in applyEditorValue being re-entered
-			// see 1GAHI8Z: ITPUI:ALL - How to code event notification when
-			// using cell editor ?
-			this.fCellEditor = null;
-			Item t = this.fTableItem;
-			// don't null out table item -- same item is still selected
-			if (t != null && !t.isDisposed()) {
-				saveEditorValue(c, t);
-			}
-			setEditor(null, null, 0);
-			c.removeListener(fCellEditorListener);
-			c.deactivate();
-		}
-	}
-
-	/**
-	 * Cancels the active cell editor, without saving the value back to the
-	 * domain model.
-	 */
-	public void cancelEditing() {
-		if (fCellEditor != null) {
-			setEditor(null, null, 0);
-			fCellEditor.removeListener(fCellEditorListener);
-			fCellEditor.deactivate();
-			fCellEditor = null;
-		}
-	}
-
-	/**
-	 * Start editing the given element.
-	 */
-	public void editElement(Object element, int column) {
-		if (fCellEditor != null)
-			applyEditorValue();
-
-		setSelection(new StructuredSelection(element), true);
-		Item[] selection = getSelection();
-		if (selection.length != 1)
-			return;
-
-		fTableItem = selection[0];
-
-		// Make sure selection is visible
-		showSelection();
-		fColumnNumber = column;
-		activateCellEditor();
-
-	}
-
-	abstract Rectangle getBounds(Item item, int columnNumber);
-
-	public CellEditor[] getCellEditors() {
-		return fCellEditors;
-	}
-
-	public ICellModifier getCellModifier() {
-		return fCellModifier;
-	}
-
-	abstract int getColumnCount();
-
-	public Object[] getColumnProperties() {
-		return fColumnProperties;
-	}
-
-	abstract Item[] getSelection();
-
-	/**
-	 * Handles the double click event.
-	 */
-	public void handleMouseDoubleClick(MouseEvent event) {
-		// The last mouse down was a double click. Cancel
-		// the cell editor activation.
-		// isActivating = false;
-	}
-
-	/**
-	 * Handles the mouse down event. Activates the cell editor if it is not a
-	 * double click.
-	 * 
-	 * This implementation must: i) activate the cell editor when clicking
-	 * over the item's text or over the item's image. ii) activate it only if
-	 * the item is already selected. iii) do NOT activate it on a double click
-	 * (whether the item is selected or not).
-	 */
-	public void handleMouseDown(MouseEvent event) {
-		if (event.button != 1)
-			return;
-
-		boolean wasActivated = isCellEditorActive();
-		if (wasActivated)
-			applyEditorValue();
-
-		Item[] items = getSelection();
-		// Do not edit if more than one row is selected.
-		if (items.length != 1) {
-			fTableItem = null;
-			return;
-		}
-
-		if (fTableItem != items[0]) {
-			// This mouse down was a selection. Keep the selection and return;
-			fTableItem = items[0];
-			if (!fSingleClickCellSelect) // only return if you don't want a
-											// single click to active the cell
-											// editor
-				return;
-		}
-
-		// It may be a double click. If so, the activation was started by the
-		// first click.
-		if (fIsActivating || wasActivated)
-			return;
-
-		fIsActivating = true;
-		// Post the activation. So it may be canceled if it was a double
-		// click.
-		postActivation(event);
-	}
-
-	private void handleRightArrow(TraverseEvent e) {
-	}
-
-	private void handleDownArrow(TraverseEvent e) {
-		int row = fTable.indexOf((TableItem) fTableItem);
-		if (fCellEditors != null && fCellModifier != null && row < fTable.getItemCount() - 1) {
-			String property = null;
-
-			TableItem next = fTable.getItem(row + 1);
-			Object element = next.getData();
-			if (fCellEditors[fColumnNumber] != null) {
-				property = fColumnProperties[fColumnNumber];
-				if (fCellModifier.canModify(element, property)) {
-					applyEditorValue();
-
-					fTableItem = next;
-					setSelection(new StructuredSelection(next.getData()), true);
-					fTable.select(row + 1);
-					showSelection();
-					e.doit = false;
-				}
-			}
-			if (e.doit == false)
-				startActivationThread();
-		}
-	}
-
-	private void handleLeftArrow(TraverseEvent e) {
-	}
-
-	private void handleUpArrow(TraverseEvent e) {
-		int row = fTable.indexOf((TableItem) fTableItem);
-		if (fCellEditors != null && fCellModifier != null && row > 0) {
-			String property = null;
-
-			TableItem previous = fTable.getItem(row - 1);
-			Object element = previous.getData();
-			if (fCellEditors[fColumnNumber] != null) {
-				property = fColumnProperties[fColumnNumber];
-				if (fCellModifier.canModify(element, property)) {
-					applyEditorValue();
-
-					fTableItem = previous;
-					setSelection(new StructuredSelection(previous.getData()), true);
-					fTable.select(row - 1);
-					showSelection();
-					e.doit = false;
-				}
-			}
-			if (e.doit == false)
-				startActivationThread();
-		}
-	}
-
-	private void handleTabNext(TraverseEvent e) {
-		if (fCellEditors != null && fCellModifier != null && fCellEditors.length > (fColumnNumber + 1)) {
-			int start = fColumnNumber + 1;
-			// CellEditor ce = null;
-			String property = null;
-
-			Object element = fTableItem.getData();
-			for (int i = start; i <= fCellEditors.length; i++) {
-				if (fCellEditors[i] != null) {
-					property = fColumnProperties[i];
-					if (fCellModifier.canModify(element, property)) {
-						fColumnNumber = i;
-						e.doit = false;
-						break;
-					}
-				}
-			}
-			if (e.doit == false)
-				startActivationThread();
-		}
-		else if (fCellEditors != null && fCellModifier != null && fCellEditors.length == (fColumnNumber + 1)) {
-			fColumnNumber = 0;
-			handleDownArrow(e);
-		}
-	}
-
-	private void handleTabPrevious(TraverseEvent e) {
-		if (fCellEditors != null && fCellModifier != null && fColumnNumber > 0) {
-			int start = (fCellEditors.length >= fColumnNumber - 1) ? fColumnNumber - 1 : fCellEditors.length - 1;
-			String property = null;
-
-			Object element = fTableItem.getData();
-			for (int i = start; i >= 0; i--) {
-				if (fCellEditors[i] != null) {
-					property = fColumnProperties[i];
-					if (fCellModifier.canModify(element, property)) {
-						fColumnNumber = i;
-						e.doit = false;
-						break;
-					}
-				}
-			}
-			if (e.doit == false)
-				startActivationThread();
-		}
-		else if (fCellEditors != null && fCellModifier != null && fColumnNumber == 0) {
-			fColumnNumber = getColumnCount() - 1;
-			handleUpArrow(e);
-		}
-	}
-
-	private void initCellEditorListener() {
-		fCellEditorListener = new ICellEditorListener() {
-			public void editorValueChanged(boolean oldValidState, boolean newValidState) {
-				// Ignore.
-			}
-
-			public void cancelEditor() {
-				TableViewerImpl.this.cancelEditing();
-			}
-
-			public void applyEditorValue() {
-				TableViewerImpl.this.applyEditorValue();
-			}
-		};
-	}
-
-	/**
-	 * Returns <code>true</code> if there is an active cell editor;
-	 * otherwise <code>false</code> is returned.
-	 */
-	public boolean isCellEditorActive() {
-		return fCellEditor != null;
-	}
-
-	public void keyTraversed(TraverseEvent e) {
-		if (e.detail == SWT.TRAVERSE_TAB_NEXT) {
-			applyEditorValue();
-			handleTabNext(e);
-		}
-		else if (e.detail == SWT.TRAVERSE_TAB_PREVIOUS) {
-			applyEditorValue();
-			handleTabPrevious(e);
-		}
-		else if (e.keyCode == SWT.ARROW_RIGHT) {
-			handleRightArrow(e);
-		}
-		else if (e.keyCode == SWT.ARROW_LEFT) {
-			handleLeftArrow(e);
-		}
-		else if (e.keyCode == SWT.ARROW_UP) {
-			handleUpArrow(e);
-		}
-		else if (e.keyCode == SWT.ARROW_DOWN) {
-			handleDownArrow(e);
-		}
-	}
-
-	/**
-	 * Handle the mouse down event. Activate the cell editor if it is not a
-	 * doble click.
-	 */
-	private void postActivation(final MouseEvent event) {
-		if (!fIsActivating)
-			return;
-
-		(new Thread() {
-			public void run() {
-				if (fIsActivating) {
-					getDisplay().asyncExec(new Runnable() {
-						public void run() {
-							activateCellEditor(event);
-							fIsActivating = false;
-						}
-					});
-				}
-			}
-		}).start();
-	}
-
-	private Display getDisplay() {
-
-		return PlatformUI.getWorkbench().getDisplay();
-	}
-
-	/**
-	 * Saves the value of the currently active cell editor, by delegating to
-	 * the cell modifier.
-	 */
-	private void saveEditorValue(CellEditor cellEditor, Item tableItem) {
-		if (fCellModifier != null) {
-			if (!cellEditor.isValueValid()) {
-				// /Do what ???
-			}
-			String property = null;
-			if (fColumnProperties != null && fColumnNumber < fColumnProperties.length)
-				property = fColumnProperties[fColumnNumber];
-			fCellModifier.modify(tableItem, property, cellEditor.getValue());
-		}
-	}
-
-	public void setCellEditors(CellEditor[] editors) {
-		this.fCellEditors = editors;
-		Control control;
-		for (int i = 0; i < editors.length; i++) {
-			if (editors[i] != null) {
-				control = editors[i].getControl();
-				if (control != null)
-					control.addTraverseListener(this);
-			}
-		}
-	}
-
-	public void setCellModifier(ICellModifier modifier) {
-		this.fCellModifier = modifier;
-	}
-
-	public void setColumnProperties(String[] columnProperties) {
-		this.fColumnProperties = columnProperties;
-	}
-
-	abstract void setEditor(Control w, Item item, int columnNumber);
-
-	abstract void setLayoutData(CellEditor.LayoutData layoutData);
-
-	abstract void setSelection(StructuredSelection selection, boolean b);
-
-	abstract void showSelection();
-
-	/**
-	 * Gets the singleClickCellSelect.
-	 * 
-	 * @return Returns a boolean
-	 */
-	public boolean getSingleClickCellSelect() {
-		return fSingleClickCellSelect;
-	}
-
-	/**
-	 * Sets the singleClickCellSelect.
-	 * 
-	 * @param singleClickCellSelect
-	 *            The singleClickCellSelect to set
-	 */
-	public void setSingleClickCellSelect(boolean singleClickCellSelect) {
-		fSingleClickCellSelect = singleClickCellSelect;
-	}
-
-	public void setTableItem(Item item) {
-		fTableItem = item;
-	}
-
-	private void startActivationThread() {
-		(new Thread() {
-			public void run() {
-				getDisplay().asyncExec(new Runnable() {
-					public void run() {
-						activateCellEditor();
-						fIsActivating = false;
-					}
-				});
-			}
-		}).start();
-	}
-
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/util/UserDrawerSelector.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/util/UserDrawerSelector.java
deleted file mode 100644
index d6e7798..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/util/UserDrawerSelector.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 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
- *******************************************************************************/
-package org.eclipse.wst.common.snippets.internal.util;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.gef.palette.PaletteDrawer;
-import org.eclipse.gef.palette.PaletteEntry;
-import org.eclipse.jface.dialogs.IInputValidator;
-import org.eclipse.jface.dialogs.InputDialog;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.common.snippets.internal.IHelpContextIds;
-import org.eclipse.wst.common.snippets.internal.Logger;
-import org.eclipse.wst.common.snippets.internal.SnippetsMessages;
-import org.eclipse.wst.common.snippets.internal.SnippetsPlugin;
-import org.eclipse.wst.common.snippets.internal.palette.SnippetPaletteDrawerFactory;
-import org.eclipse.wst.common.snippets.internal.ui.SnippetsView;
-
-public class UserDrawerSelector {
-	protected static class CategoryNameValidator implements IInputValidator {
-		public String isValid(String name) {
-			// Don't allow blank names
-			if (name == null || name.length() < 1) {
-				return (SnippetsMessages.A_name_must_be_specified_1); //$NON-NLS-1$
-			}
-			return null;
-		}
-	}
-
-	private String fInputPrompt;
-	private String fSelectionPrompt;
-
-	private Shell fShell;
-
-	/**
-	 * 
-	 */
-	public UserDrawerSelector(Shell shell) {
-		super();
-		fShell = shell;
-	}
-
-	/**
-	 * @return
-	 */
-	public String getInputPrompt() {
-		return fInputPrompt;
-	}
-
-	/**
-	 * @return
-	 */
-	public String getSelectionPrompt() {
-		return fSelectionPrompt;
-	}
-
-	/**
-	 * Returns a user modifiable drawer into which the new snippet will be
-	 * inserted
-	 * 
-	 * @return PaletteDrawer
-	 */
-	public PaletteDrawer getUserDrawer() {
-		// retrieve all of the categories in the Snippets model; then find the
-		// ones that are actually user modifiable
-		List categories = SnippetsPlugin.getSnippetManager().getDefinitions().getCategories();
-		List modifiableCategories = new ArrayList();
-		for (int i = 0; i < categories.size(); i++) {
-			PaletteDrawer drawer = (PaletteDrawer) categories.get(i);
-			if (drawer.getUserModificationPermission() == PaletteEntry.PERMISSION_FULL_MODIFICATION)
-				modifiableCategories.add(drawer);
-		}
-
-		PaletteDrawer drawer = null;
-		if (modifiableCategories.size() >= 1) {
-			// find or create a drawer to hold the new snippet
-			String[] userDrawers = new String[modifiableCategories.size()];
-			for (int i = 0; i < modifiableCategories.size(); i++) {
-				userDrawers[i] = ((PaletteDrawer) modifiableCategories.get(i)).getLabel();
-			}
-			CComboSelectionDialog dlg = new CComboSelectionDialog(fShell, SnippetsMessages.New_Category_Title, (fSelectionPrompt != null ? fSelectionPrompt : SnippetsMessages.choose_or_create), userDrawers, 0, new CategoryNameValidator()) { //$NON-NLS-1$ //$NON-NLS-2$
-				protected Control createDialogArea(Composite parent) {
-					Control mainHook = super.createDialogArea(parent);
-					PlatformUI.getWorkbench().getHelpSystem().setHelp(mainHook, IHelpContextIds.ADD_TO_SNIPPETS_DIALOG_CATEGORY);
-					return mainHook;
-				}
-			};
-			dlg.open();
-			if (dlg.getReturnCode() == Window.OK) {
-				String drawerName = dlg.getStringValue();
-				int selectedDrawer = dlg.getSelectionIndex();
-				PaletteEntry anchor = null;
-				if (selectedDrawer >= 0) {
-					drawer = (PaletteDrawer) modifiableCategories.get(selectedDrawer);
-				}
-				else {
-					if (categories.size() > 0) {
-						anchor = (PaletteEntry) categories.get(categories.size() - 1);
-					}
-					drawer = (PaletteDrawer) new SnippetPaletteDrawerFactory().createNewEntry(fShell, anchor);
-					drawer.setLabel(drawerName);
-				}
-			}
-		}
-		else {
-			// if none are modifiable, make a category
-			PaletteEntry anchor = null;
-			if (categories.size() > 0) {
-				anchor = (PaletteEntry) categories.get(categories.size() - 1);
-			}
-			else {
-				SnippetsView view;
-				try {
-					view = (SnippetsView) SnippetsPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getActivePage().findView(SnippetsPlugin.NAMES.VIEW_ID);
-					if (view == null) {
-						view = (SnippetsView) SnippetsPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getActivePage().showView(SnippetsPlugin.NAMES.VIEW_ID);
-					}
-					if (view != null) {
-						anchor = view.getRoot();
-					}
-				}
-				catch (PartInitException e) {
-					Logger.logException(e);
-				}
-			}
-			if (anchor != null) {
-				String defaultNewDrawerName = null;
-				IEditorPart currentEditor = SnippetsPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor();
-				if (currentEditor != null && currentEditor.getEditorInput() != null) {
-					defaultNewDrawerName = currentEditor.getEditorInput().getName();
-				}
-				if (defaultNewDrawerName == null) {
-					defaultNewDrawerName = SnippetsMessages.new_category_name; //$NON-NLS-1$
-				}
-				InputDialog d = new InputDialog(fShell, SnippetsMessages.New_Category_Title, (fInputPrompt != null ? fInputPrompt : SnippetsMessages.force_create), defaultNewDrawerName, new CategoryNameValidator()) {//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-					protected Control createContents(Composite parent) {
-						Control mainHook = super.createContents(parent);
-						PlatformUI.getWorkbench().getHelpSystem().setHelp(mainHook, IHelpContextIds.ADD_TO_SNIPPETS_DIALOG_CATEGORY);
-						return mainHook;
-					}
-				};
-				d.open();
-				if (d.getReturnCode() == Window.OK) {
-					drawer = (PaletteDrawer) new SnippetPaletteDrawerFactory().createNewEntry(fShell, anchor);
-					drawer.setLabel(d.getValue());
-				}
-			}
-		}
-		return drawer;
-	}
-
-	/**
-	 * @param string
-	 */
-	public void setInputPrompt(String string) {
-		fInputPrompt = string;
-	}
-
-	/**
-	 * @param string
-	 */
-	public void setSelectionPrompt(String string) {
-		fSelectionPrompt = string;
-	}
-
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/util/VisibilityUtil.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/util/VisibilityUtil.java
deleted file mode 100644
index 43f8e62..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/util/VisibilityUtil.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 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
- *******************************************************************************/
-package org.eclipse.wst.common.snippets.internal.util;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.content.IContentDescription;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IStorageEditorInput;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-import org.eclipse.wst.common.snippets.internal.Logger;
-
-
-/**
- * NOT API
- */
-public class VisibilityUtil {
-	public static boolean isContentType(IEditorInput input, String[] filterContentTypes) {
-		boolean isMatch = false;
-		if (filterContentTypes == null) {
-			isMatch = true;
-		}
-		else if (filterContentTypes.length >= 1) {
-			String firstFilter = filterContentTypes[0];
-			if (firstFilter.compareTo("*") == 0) //$NON-NLS-1$
-				isMatch = true;
-			else if (firstFilter.compareTo("!") == 0) //$NON-NLS-1$
-				isMatch = false;
-			else if (firstFilter.compareTo("-") == 0) //$NON-NLS-1$
-				isMatch = false;
-			else {
-				isMatch = false;
-				InputStream contents = null;
-				IContentDescription contentDesc = null;
-				try {
-					// Try to find the IFile so we can use get
-					// the content type from its description
-					IFile file = (IFile) input.getAdapter(IFile.class);
-					if (file == null) {
-						Object resource = input.getAdapter(IResource.class);
-						if (resource instanceof IFile) {
-							file = (IFile) resource;
-						}
-					}
-					if (file != null) {
-						// Try the optimized method
-						contentDesc = file.getContentDescription();
-						if (contentDesc == null) {
-							// Dig a little deeper using its
-							// contents
-							if (file != null) {
-								contents = file.getContents();
-							}
-							else {
-								if (input instanceof IStorageEditorInput) {
-									IStorage storage = ((IStorageEditorInput) input).getStorage();
-									if (storage != null) {
-										contents = storage.getContents();
-									}
-								}
-							}
-							contentDesc = Platform.getContentTypeManager().getDescriptionFor(contents, input.getName(), null);
-							if (contents != null) {
-								try {
-									contents.close();
-									contents = null;
-								}
-								catch (IOException e) {
-									// do nothing, it doesn't
-									// matter
-									// to us
-								}
-							}
-						}
-					}
-					boolean findByname = true;
-					if (contentDesc != null) {
-						IContentType currentContentType = contentDesc.getContentType();
-						if (currentContentType != null) {
-							findByname = false;
-							for (int i = 0; i < filterContentTypes.length; i++) {
-								IContentType contentType = Platform.getContentTypeManager().getContentType(filterContentTypes[i]);
-								if (contentType != null && currentContentType.isKindOf(contentType)) {
-									isMatch = true;
-									break;
-								}
-							}
-						}
-					}
-					if (findByname) {
-						IContentType[] contentTypes = Platform.getContentTypeManager().findContentTypesFor(input.getName());
-						if (contentTypes == null || contentTypes.length == 0) {
-							IWorkbenchAdapter adapter = (IWorkbenchAdapter) input.getAdapter(IWorkbenchAdapter.class);
-							if (adapter != null) {
-								contentTypes = Platform.getContentTypeManager().findContentTypesFor(adapter.getLabel(input));
-							}
-						}
-						for (int j = 0; j < contentTypes.length; j++) {
-							for (int i = 0; i < filterContentTypes.length; i++) {
-								String filterContentTypeName = filterContentTypes[i];
-								IContentType filterContentType = Platform.getContentTypeManager().getContentType(filterContentTypeName);
-								if (filterContentType != null && contentTypes[j].isKindOf(filterContentType)) {
-									isMatch = true;
-									break;
-								}
-							}
-						}
-					}
-				}
-				catch (IOException e) {
-					Logger.logException(e);
-				}
-				catch (CoreException e) {
-					Logger.logException(e);
-				}
-				finally {
-					if (contents != null) {
-						try {
-							contents.close();
-						}
-						catch (IOException e) {
-							// do nothing, it doesn't matter
-							// to us
-						}
-					}
-				}
-			}
-		}
-		return isMatch;
-	}
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/util/XMLDocumentProvider.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/util/XMLDocumentProvider.java
deleted file mode 100644
index b080657..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/internal/util/XMLDocumentProvider.java
+++ /dev/null
@@ -1,434 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 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
- *******************************************************************************/
-package org.eclipse.wst.common.snippets.internal.util;
-
-
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.StringReader;
-import com.ibm.icu.util.StringTokenizer;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.FactoryConfigurationError;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.eclipse.wst.common.snippets.internal.Logger;
-import org.w3c.dom.DOMException;
-import org.w3c.dom.DOMImplementation;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.EntityResolver;
-import org.xml.sax.ErrorHandler;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
-
-/**
- * An XML Creator/Reader/Writer that 1) Ignores any DocumentType Nodes found
- * within the document (as well as any entities) 2) Ignores any
- * errors/exceptions from Xerces when loading a document 3) Can load Documents
- * from within a .JAR file (***read-only***)
- */
-
-public class XMLDocumentProvider {
-	/**
-	 * 
-	 * @param args
-	 *            java.lang.String[]
-	 */
-	public static void main(String[] args) {
-		if (args.length < 2)
-			return;
-		XMLDocumentProvider p = new XMLDocumentProvider();
-		p.setFileName(args[0]);
-		p.setRootElementName(args[1]);
-		p.getDocument();
-
-	}
-
-	protected Document document = null;
-	protected ErrorHandler errorHandler = null;
-	protected String fileName = null;
-	protected boolean fValidating = true;
-	protected InputStream inputStream = null;
-	protected EntityResolver resolver = null;
-
-	protected Node rootElement = null;
-	protected String rootElementName = null;
-
-
-	public XMLDocumentProvider() {
-		super();
-	}
-
-	protected Document _getParsedDocumentDOM2() {
-		Document result = null;
-
-		InputStream is = null;
-		try {
-			DocumentBuilder builder = getDocumentBuilder();
-			// DOMParser parser = new DOMParser();
-			// parser.setFeature("http://apache.org/xml/features/continue-after-fatal-error",
-			// false);//$NON-NLS-1$
-			// parser.setFeature("http://apache.org/xml/features/nonvalidating/load-dtd-grammar",
-			// false);//$NON-NLS-1$
-			// parser.setErrorHandler(getNullErrorHandler());
-			// parser.setEntityResolver(getNullEntityResolver());
-			// is = getInputStream();
-			builder.setEntityResolver(getNullEntityResolver());
-			builder.setErrorHandler(getNullErrorHandler());
-			is = getInputStream();
-			if (is != null)
-				result = builder.parse(is);
-		}
-		catch (SAXException e) {
-			result = null;
-			// parsing exception, notify the user?
-			Logger.logException(e);
-		}
-		catch (FileNotFoundException e) {
-			System.out.print(""); //$NON-NLS-1$
-			// NOT an "exceptional case"; do not Log
-		}
-		catch (IOException e) {
-			Logger.logException(e);
-		}
-		finally {
-			if (is != null) {
-				try {
-					is.close();
-				}
-				catch (Exception e) {
-					// what can be done?
-				}
-			}
-		}
-		return result;
-	}
-
-	/**
-	 * 
-	 * @return Document
-	 */
-	public Document getDocument() {
-		if (document == null)
-			load();
-		return document;
-	}
-
-	protected DocumentBuilder getDocumentBuilder() {
-		return CommonXML.getDocumentBuilder(isValidating());
-	}
-
-	protected DOMImplementation getDomImplementation() {
-		DocumentBuilder builder = null;
-		try {
-			builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
-		}
-		catch (ParserConfigurationException e1) {
-			Logger.logException(e1);
-		}
-		catch (FactoryConfigurationError e1) {
-			Logger.logException(e1);
-		}
-		DOMImplementation impl = builder.getDOMImplementation();
-		return impl;
-	}
-
-	/*************************************************************************
-	 * Takes a single string of the form "a/b/c" and ensures that that
-	 * structure exists below the head element, down through 'c', and returns
-	 * a <em>single</em> element 'c'. For multiple elements (such as
-	 * multiple &lt;macro&gt; elements contained within a single
-	 * &lt;macros&gt; element, full DOM access is required for searching and
-	 * child element manipulation.
-	 ************************************************************************/
-	public Element getElement(String name) {
-		if (document == null)
-			load();
-		Element element = null;
-		if (document != null)
-			element = (Element) getNode(getRootElement(), name);
-		return element;
-	}
-
-	/**
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getFileName() {
-		return fileName;
-	}
-
-	/**
-	 * Returns and input stream to use as the source of the Document 1) from
-	 * an InputStream set on this instance 2) from a JAR file with the given
-	 * entry name 3) from a normal file
-	 * 
-	 * @return InputStream
-	 */
-	public InputStream getInputStream() throws FileNotFoundException {
-		if (inputStream != null)
-			return inputStream;
-		else {
-			return new FileInputStream(getFileName());
-		}
-	}
-
-	protected Node getNamedChild(Node parent, String childName) {
-		if (parent == null) {
-			return null;
-		}
-		NodeList childList = parent.getChildNodes();
-		for (int i = 0; i < childList.getLength(); i++) {
-			if (childList.item(i).getNodeName().equals(childName))
-				return childList.item(i);
-		}
-		return null;
-	}
-
-	protected Document getNewDocument() {
-		Document result = null;
-		try {
-			result = getDomImplementation().createDocument("http://www.w3.org/XML/1998/namespace", getRootElementName(), null); //$NON-NLS-1$
-			NodeList children = result.getChildNodes();
-			for (int i = 0; i < children.getLength(); i++) {
-				result.removeChild(children.item(i));
-			}
-			// we're going through this effort to avoid a NS element
-			Element settings = result.createElementNS("http://www.w3.org/XML/1998/namespace", getRootElementName()); //$NON-NLS-1$
-			result.appendChild(settings);
-			return result;
-		}
-		catch (DOMException e) {
-			Logger.logException(e);
-		}
-		return null;
-	}
-
-	/*************************************************************************
-	 * Takes a single string of the form "a/b/c" and ensures that that
-	 * structure exists below the head element, down through 'c', and returns
-	 * the element 'c'.
-	 ************************************************************************/
-	protected Node getNode(Node node, String name) {
-		StringTokenizer tokenizer = new StringTokenizer(name, "/"); //$NON-NLS-1$
-		String token = null;
-		while (tokenizer.hasMoreTokens()) {
-			token = tokenizer.nextToken();
-			if (getNamedChild(node, token) == null)
-				node.appendChild(document.createElement(token));
-			node = getNamedChild(node, token);
-		}
-		return node;
-	}
-
-	/**
-	 * Returns an EntityResolver that won't try to load and resolve ANY
-	 * entities
-	 */
-	private EntityResolver getNullEntityResolver() {
-		if (resolver == null) {
-			resolver = new EntityResolver() {
-				public InputSource resolveEntity(String param1, String param2) throws SAXException, IOException {
-					return new InputSource(new StringReader("")); //$NON-NLS-1$
-				}
-			};
-		}
-		return resolver;
-	}
-
-	/**
-	 * Returns an ErrorHandler that will not stop the parser on reported
-	 * errors
-	 */
-	private ErrorHandler getNullErrorHandler() {
-		if (errorHandler == null) {
-			errorHandler = new ErrorHandler() {
-				public void error(SAXParseException exception) {
-					Logger.logException(exception);
-				}
-
-				public void fatalError(SAXParseException exception) {
-					Logger.logException(exception);
-				}
-
-				public void warning(SAXParseException exception) {
-					Logger.logException(exception);
-				}
-			};
-		}
-		return errorHandler;
-	}
-
-	protected Document getParsedDocument() {
-		Document result = null;
-		if (inputStream == null) {
-			File existenceTester = new File(getFileName());
-			if (!existenceTester.exists())
-				return null;
-		}
-
-		result = _getParsedDocumentDOM2();
-
-		return result;
-
-	}
-
-	/**
-	 * Returns the root Element of the current document
-	 * 
-	 * @return org.w3c.dom.Element
-	 */
-	public Node getRootElement() {
-		return getRootElement(getDocument());
-	}
-
-	/**
-	 * Returns the/a root Element for the current document
-	 * 
-	 * @return org.w3c.dom.Element
-	 */
-	protected Node getRootElement(Document doc) {
-		if (doc == null)
-			return null;
-		if (doc.getDocumentElement() != null)
-			return doc.getDocumentElement();
-		try {
-			Element newRootElement = doc.createElement(getRootElementName());
-			doc.appendChild(newRootElement);
-			return newRootElement;
-		}
-		catch (DOMException e) {
-			Logger.logException(e);
-		}
-		return null;
-	}
-
-	/**
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getRootElementName() {
-		return rootElementName;
-	}
-
-	/**
-	 * @return
-	 */
-	public boolean isValidating() {
-		return fValidating;
-	}
-
-	public void load() {
-		// rootElementName and fileName are expected to be defined at this
-		// point
-		document = getParsedDocument();
-		if (document != null) {
-			rootElement = getRootElement(document);
-		}
-
-		if (document == null || rootElement == null) {
-			document = getNewDocument();
-			if (document != null) {
-				NodeList children = document.getChildNodes();
-				for (int i = 0; i < children.getLength(); i++) {
-					if (children.item(i).getNodeType() == Node.ELEMENT_NODE && children.item(i).getNodeName().equals(getRootElementName()))
-						rootElement = children.item(i);
-				}
-				if (rootElement == null) {
-					for (int i = 0; i < children.getLength(); i++) {
-						if (children.item(i).getNodeType() == Node.ELEMENT_NODE) {
-							rootElement =  children.item(i);
-							break;
-						}
-					}
-				}
-			}
-		}
-	}
-
-	protected void saveDocument(Document odocument, OutputStream stream) throws IOException {
-		CommonXML.serialize(odocument, stream);
-	}
-
-	/**
-	 * 
-	 * @param newFileName
-	 *            java.lang.String
-	 */
-	public void setFileName(String newFileName) {
-		fileName = newFileName;
-	}
-
-	/**
-	 * Sets the inputStream for which to provide a Document.
-	 * 
-	 * @param inputStream
-	 *            The inputStream to set
-	 */
-	public void setInputStream(InputStream newInputStream) {
-		this.inputStream = newInputStream;
-	}
-
-	/**
-	 * 
-	 * @param newRootElementName
-	 *            java.lang.String
-	 */
-	public void setRootElementName(String newRootElementName) {
-		rootElementName = newRootElementName;
-	}
-
-	/**
-	 * @param b
-	 */
-	public void setValidating(boolean b) {
-		fValidating = b;
-	}
-
-	public void store() {
-		if (rootElement == null) {
-			document = getNewDocument();
-			rootElement = document.getDocumentElement();
-		}
-
-		try {
-			OutputStream ostream = new FileOutputStream(getFileName());
-
-			storeDocument(document, ostream);
-
-			ostream.flush();
-			ostream.close();
-		}
-		catch (IOException e) {
-			Logger.logException("Exception saving document " + getFileName(), e); //$NON-NLS-1$
-		}
-	}
-
-	protected void storeDocument(Document odocument, OutputStream ostream) {
-		try {
-			saveDocument(odocument, ostream);
-		}
-		catch (IOException e) {
-			Logger.logException(e);
-		}
-	}
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/ui/DefaultSnippetInsertion.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/ui/DefaultSnippetInsertion.java
deleted file mode 100644
index 629e6d0..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/ui/DefaultSnippetInsertion.java
+++ /dev/null
@@ -1,274 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 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
- *******************************************************************************/
-
-package org.eclipse.wst.common.snippets.ui;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentExtension4;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.swt.dnd.DragSourceEvent;
-import org.eclipse.swt.dnd.TextTransfer;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.texteditor.IDocumentProvider;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.wst.common.snippets.core.ISnippetItem;
-import org.eclipse.wst.common.snippets.internal.Logger;
-import org.eclipse.wst.common.snippets.internal.SnippetsPlugin;
-import org.eclipse.wst.common.snippets.internal.VariableItemHelper;
-import org.eclipse.wst.common.snippets.internal.dnd.SnippetTextTransfer;
-import org.eclipse.wst.common.snippets.internal.ui.EntrySerializer;
-import org.eclipse.wst.common.snippets.internal.util.StringUtils;
-
-/**
- * An insertion implementation that supports ISnippetVariables. The content
- * string of the item can contain markers, in the form ${+variable+}, that
- * will be replaced with user-supplied values at insertion time.
- * <p>
- * Clients may subclass this class.
- * </p>
- * @since 1.0
- */
-public class DefaultSnippetInsertion implements ISnippetInsertion {
-	private ISnippetItem fItem = null;
-	private Transfer[] fSupportedTransfers = null;
-
-	/**
-	 * Default constructor. Subclasses may call, but only the Snippets view
-	 * should ever instantiate an insertion.
-	 */
-	public DefaultSnippetInsertion() {
-		super();
-	}
-
-	/**
-	 * @return an array of Transfer types supported by this insertion
-	 */
-	protected Transfer[] createTransfers() {
-		return new Transfer[]{SnippetTextTransfer.getTransferInstance(), TextTransfer.getInstance()};
-	}
-
-	/**
-	 * Insert the current snippet item.
-	 * 
-	 * @param editorPart
-	 *            the editor part that is active
-	 * @param textEditor
-	 *            the text editor (or adapter) with which to interact (may be
-	 *            the same as editorPart)
-	 * @param document
-	 *            the text document to update
-	 * @param textSelection
-	 *            the selection of text within the document to be replaced by
-	 *            the inserted snippet
-	 * @throws BadLocationException
-	 */
-	protected void doInsert(IEditorPart editorPart, ITextEditor textEditor, IDocument document, ITextSelection textSelection) throws BadLocationException {
-		String replacement = getInsertString(editorPart.getEditorSite().getShell());
-		if (replacement != null && (replacement.length() > 0 || textSelection.getLength() > 0)) {
-			// Update EOLs (bug 80231)
-			replacement = StringUtils.replace(replacement, "\r\n", "\n"); //$NON-NLS-1$ //$NON-NLS-2$
-			replacement = StringUtils.replace(replacement, "\r", "\n"); //$NON-NLS-1$ //$NON-NLS-2$
-
-			String preferredEOL = null;
-			if (document instanceof IDocumentExtension4) {
-				preferredEOL = ((IDocumentExtension4) document).getDefaultLineDelimiter();
-			}
-			else {
-				Method getLineDelimiter = null;
-				try {
-					getLineDelimiter = document.getClass().getMethod("getLineDelimiter", new Class[0]); //$NON-NLS-1$
-				}
-				catch (NoSuchMethodException e) {
-					// nothing, not unusual
-				}
-				if (getLineDelimiter != null) {
-					try {
-						preferredEOL = (String) getLineDelimiter.invoke(document, new Object[0]);
-					}
-					catch (IllegalAccessException e) {
-						// nothing, not unusual for a non-visible method
-					}
-					catch (InvocationTargetException e) {
-						// nothing, not unusual for a protected implementation
-					}
-				}
-
-			}
-			if (preferredEOL == null) {
-				preferredEOL = System.getProperty("line.separator"); //$NON-NLS-1$
-			}
-			if (!"\n".equals(preferredEOL) && preferredEOL != null) { //$NON-NLS-1$
-				replacement = StringUtils.replace(replacement, "\n", preferredEOL); //$NON-NLS-1$
-			}
-
-			document.replace(textSelection.getOffset(), textSelection.getLength(), replacement);
-		}
-	}
-
-	public void dragSetData(DragSourceEvent event, ISnippetItem item) {
-		boolean isSimpleText = TextTransfer.getInstance().isSupportedType(event.dataType);
-		if (isSimpleText) {
-			// set variable values to ""
-			IWorkbenchWindow window = SnippetsPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow();
-			Shell shell = null;
-			if (window != null) {
-				shell = window.getShell();
-			}
-			String content = VariableItemHelper.getInsertString(shell, item);
-			// Update EOLs (bug 80231)
-			String systemEOL = System.getProperty("line.separator"); //$NON-NLS-1$
-			content = StringUtils.replace(content, "\r\n", "\n"); //$NON-NLS-1$ //$NON-NLS-2$
-			content = StringUtils.replace(content, "\r", "\n"); //$NON-NLS-1$ //$NON-NLS-2$
-			if (!"\n".equals(systemEOL) && systemEOL != null) { //$NON-NLS-1$
-				content = StringUtils.replace(content, "\n", systemEOL); //$NON-NLS-1$
-			}
-			event.data = content;
-		}
-		else {
-			/*
-			 * All complex insertions send an XML encoded version of the item
-			 * itself as the data. The drop action must use this to prompt the
-			 * user for the correct insertion data
-			 */
-			event.data = EntrySerializer.getInstance().toXML(item);
-		}
-	}
-
-	/**
-	 * Gets the string to be inserted by interacting further with the user if
-	 * needed.
-	 * 
-	 * @param host
-	 *            Shell to use for creating dialogs
-	 * @return the string to be inserted
-	 */
-	protected String getInsertString(Shell host) {
-		if (fItem == null)
-			return ""; //$NON-NLS-1$
-		String insertString = null;
-		if (fItem.getVariables().length > 0) {
-			insertString = VariableItemHelper.getInsertString(host, fItem);
-		}
-		else {
-			insertString = StringUtils.replace(fItem.getContentString(), "${cursor}", ""); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		if (insertString == null)
-			insertString = "";
-		return insertString;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.common.snippets.ui.ISnippetInsertion#getTransfers()
-	 */
-	public Transfer[] getTransfers() {
-		if (fSupportedTransfers == null)
-			fSupportedTransfers = createTransfers();
-		return fSupportedTransfers;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.common.snippets.ui.ISnippetInsertion#insert(org.eclipse.ui.IEditorPart)
-	 */
-	public void insert(IEditorPart editorPart) {
-		if (editorPart == null)
-			return;
-		ITextEditor textEditor = null;
-
-		if (editorPart instanceof ITextEditor) {
-			textEditor = (ITextEditor) editorPart;
-		}
-		if (textEditor == null) {
-			// MultiPageEditorPart has no accessors for the source
-			textEditor = (ITextEditor) editorPart.getAdapter(ITextEditor.class);
-		}
-		if (textEditor == null) {
-			// any errors here probably aren't really exceptional
-			Method getTextEditor = null;
-			try {
-				getTextEditor = editorPart.getClass().getMethod("getTextEditor", new Class[0]); //$NON-NLS-1$
-			}
-			catch (NoSuchMethodException e) {
-				// nothing, not unusual
-			}
-			Object editor = null;
-			if (getTextEditor != null) {
-				try {
-					editor = getTextEditor.invoke(editorPart, new Object[0]);
-				}
-				catch (IllegalAccessException e) {
-					// nothing, not unusual for a non-visible method
-				}
-				catch (InvocationTargetException e) {
-					// nothing, not unusual for a protected implementation
-				}
-				if (editor instanceof IEditorPart && editor != editorPart && editor instanceof ITextEditor) {
-					textEditor = (ITextEditor) editor;
-				}
-			}
-		}
-		if (textEditor != null) {
-			insertIntoTextEditor(textEditor);
-		}
-	}
-
-	private void insertIntoTextEditor(ITextEditor editor) {
-		// find the text widget, its Document, and the current selection
-		if (editor.isEditable()) {
-			IDocumentProvider docprovider = editor.getDocumentProvider();
-			ISelectionProvider selprovider = editor.getSelectionProvider();
-			if (docprovider != null && selprovider != null) {
-				IDocument document = docprovider.getDocument(editor.getEditorInput());
-				ISelection selection = selprovider.getSelection();
-				if (document != null && selection != null && selection instanceof ITextSelection) {
-					ITextSelection textSel = (ITextSelection) selection;
-					try {
-						doInsert(editor, editor, document, textSel);
-					}
-					catch (Exception t) {
-						Logger.logException("Could not insert " + fItem, t); //$NON-NLS-1$
-						editor.getSite().getShell().getDisplay().beep();
-					}
-				}
-			}
-		}
-	}
-
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.common.snippets.ui.ISnippetInsertion#setEditorPart(org.eclipse.ui.IEditorPart)
-	 */
-	public void setEditorPart(IEditorPart editorPart) {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.common.snippets.ui.ISnippetInsertion#setItem(org.eclipse.wst.common.snippets.core.ISnippetItem)
-	 */
-	public void setItem(ISnippetItem item) {
-		fItem = item;
-	}
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/ui/ISnippetInsertion.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/ui/ISnippetInsertion.java
deleted file mode 100644
index 91b0843..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/ui/ISnippetInsertion.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 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
- *******************************************************************************/
-
-package org.eclipse.wst.common.snippets.ui;
-
-import org.eclipse.swt.dnd.DragSourceEvent;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.wst.common.snippets.core.ISnippetItem;
-
-/**
- * An insertion class is responsible for inserting a snippet item's contents
- * into editors. Implementors are responsible for supporting the drag-and-drop
- * mechanism and inserting the snippet's text into a given editor part.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @since 1.0
- */
-public interface ISnippetInsertion {
-
-	/**
-	 * The data is required from the drag source.
-	 * 
-	 * <p>
-	 * The following fields in the DragSourceEvent should be examined/updated
-	 * by the Insertion object:
-	 * <ul>
-	 * <li>dataType - (in) the type of data requested. This is a TransferData
-	 * object and can be used with the Transfer subclasses.
-	 * <li>data - (out) the application inserts the actual data here (must
-	 * match the dataType)
-	 * </ul>
-	 * </p>
-	 * 
-	 * Subclasses should check which Transfer types are supported and set the
-	 * data accordingly.
-	 * 
-	 * @param event -
-	 *            the information associated with the drag set data event
-	 * @param item -
-	 *            the ISnippetItem instance from which to derive the data
-	 */
-	void dragSetData(DragSourceEvent event, ISnippetItem item);
-
-	/**
-	 * The Transfer types to support from a drag source. May be null. Required
-	 * to do anything more complicated than a simple text drop with DND, a
-	 * matching IDropAction should be registered to handle the insertion at
-	 * drop-time.
-	 * 
-	 * @return the list of valid transfer types during Drag and Drop
-	 */
-	Transfer[] getTransfers();
-
-	/**
-	 * Insert the current ISnippetItem's insertion String to the given
-	 * IEditorPart. Used by double-click behavior.
-	 * 
-	 * @param editorPart
-	 *            the editor part into which to insert
-	 */
-	void insert(IEditorPart editorPart);
-
-	/**
-	 * The target editorpart in the workbench window. May be used as a hint
-	 * for determining which Transfer types to allow and what transfer data to
-	 * set during Drag and Drop operations.
-	 * 
-	 * @param targetPart the target editor part
-	 */
-	void setEditorPart(IEditorPart targetPart);
-
-	/**
-	 * Use this ISnippetItem
-	 * 
-	 * @param item
-	 *            the item to insert
-	 */
-	void setItem(ISnippetItem item);
-}
diff --git a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/ui/TextSnippetProvider.java b/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/ui/TextSnippetProvider.java
deleted file mode 100644
index e46e487..0000000
--- a/org.eclipse.wst.common.snippets/src/org/eclipse/wst/common/snippets/ui/TextSnippetProvider.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2009 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

- *******************************************************************************/

-package org.eclipse.wst.common.snippets.ui;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.core.runtime.IPath;

-import org.eclipse.core.runtime.IStatus;

-import org.eclipse.core.runtime.Status;

-import org.eclipse.gef.palette.PaletteEntry;

-import org.eclipse.jface.text.BadLocationException;

-import org.eclipse.jface.text.IDocument;

-import org.eclipse.jface.text.ITextSelection;

-import org.eclipse.jface.viewers.ISelection;

-import org.eclipse.ui.IWorkbenchPart;

-import org.eclipse.ui.texteditor.ITextEditor;

-import org.eclipse.wst.common.snippets.core.ISnippetProvider;

-import org.eclipse.wst.common.snippets.internal.AbstractSnippetProvider;

-import org.eclipse.wst.common.snippets.internal.Logger;

-import org.eclipse.wst.common.snippets.internal.editors.ISnippetEditor;

-import org.eclipse.wst.common.snippets.internal.editors.VariableItemEditor;

-import org.eclipse.wst.common.snippets.internal.palette.SnippetPaletteItem;

-import org.eclipse.wst.common.snippets.internal.util.StringUtils;

-

-public class TextSnippetProvider extends AbstractSnippetProvider implements ISnippetProvider {

-

-	public SnippetPaletteItem createSnippet(PaletteEntry drawer) throws CoreException {

-		SnippetPaletteItem item = super.createSnippet(drawer);

-		ITextSelection selection = getTextSelection();

-		try {

-			String selectedText = getDocument().get(selection.getOffset(), selection.getLength());			

-			item.setDescription(StringUtils.firstLineOf(selectedText).trim() + "..."); //$NON-NLS-1$

-			item.setContentString(selectedText);

-		}

-		catch (BadLocationException e) {

-			Logger.logException(e);

-		}

-		return item;

-	}

-	

-

-	protected ITextSelection getTextSelection() {

-		ITextEditor editor = getTextEditor();

-		if (editor != null) {

-			ISelection selection = editor.getSelectionProvider().getSelection();

-			if (selection instanceof ITextSelection) {

-				return (ITextSelection) selection;

-			}

-		}

-		return null;

-	}

-

-	protected ITextEditor getTextEditor() {

-		ITextEditor editor = null;

-		IWorkbenchPart activePart = fEditorPart;

-		

-		if (activePart instanceof ITextEditor) {

-			editor = (ITextEditor) activePart;

-		}

-		if (editor == null) {

-			editor = (ITextEditor) activePart.getAdapter(ITextEditor.class);

-		}

-		return editor;

-	}

-

-	public boolean isActionEnabled(ISelection selection) {

-		boolean enable = false;

-		if (selection != null) {

-			if (selection instanceof ITextSelection) {

-				if (((ITextSelection) selection).getLength() > 0) {

-					enable = true;

-				}

-			}

-			else {

-				enable = !selection.isEmpty();

-			}

-		}

-		return enable;

-	}

-

-	public IDocument getDocument() {

-		return getTextEditor().getDocumentProvider().getDocument(fEditorPart.getEditorInput());

-	}

-

-	public IStatus saveAdditionalContent(IPath path) {

-		return Status.OK_STATUS;

-	}

-

-

-	public ISnippetInsertion getSnippetInsertion() {

-		return new DefaultSnippetInsertion();

-	}

-

-

-	public String getId() {

-		return TextSnippetProvider.class.getName();

-	}

-

-

-	public ISnippetEditor getSnippetEditor() {

-		return new VariableItemEditor();

-	}

-

-}