This commit was manufactured by cvs2svn to create tag 'v20050705_1650'.
diff --git a/bundles/org.eclipse.jst.jsp.core/.classpath b/bundles/org.eclipse.jst.jsp.core/.classpath
deleted file mode 100644
index cb01053..0000000
--- a/bundles/org.eclipse.jst.jsp.core/.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"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.jst.jsp.core/.cvsignore b/bundles/org.eclipse.jst.jsp.core/.cvsignore
deleted file mode 100644
index 9ad44f9..0000000
--- a/bundles/org.eclipse.jst.jsp.core/.cvsignore
+++ /dev/null
@@ -1,9 +0,0 @@
-bin
-temp.folder
-jspmodel.jar
-dev.properties
-org.eclipse.jst.jsp.core_6.0.0.jar
-build.xml
-org.eclipse.jst.jsp.core_6.0.0.zip
-jspmodelsrc.zip
-@dot
diff --git a/bundles/org.eclipse.jst.jsp.core/.options b/bundles/org.eclipse.jst.jsp.core/.options
deleted file mode 100644
index 4da1fdb..0000000
--- a/bundles/org.eclipse.jst.jsp.core/.options
+++ /dev/null
@@ -1,34 +0,0 @@
-org.eclipse.jst.jsp.core/debug=true
-org.eclipse.jst.jsp.core/debug/tracefilter=
-org.eclipse.jst.jsp.core/debug/jspindexmanager=false
-org.eclipse.jst.jsp.core/debug/jsptranslation=false
-org.eclipse.jst.jsp.core/debug/jspsearch=false
-
-org.eclipse.jst.jsp.core/taglib/resolve=false
-
-
-# org.eclipse.jst.jsp.core.contentmodel.tld.TLDCMDocumentManager._debug
-org.eclipse.jst.jsp.core/debug/tldcmdocument/manager=false
-
-# org.eclipse.jst.jsp.core.contentmodel.tld.CMDocumentFactoryTLD._debug
-org.eclipse.jst.jsp.core/debug/tldcmdocument/factory=false
-
-#org.eclipse.jst.jsp.core.internal.contentmodel.ProjectDescription._debugIndexCreation
-org.eclipse.jst.jsp.core/taglib/indexcreation=false
-#org.eclipse.jst.jsp.core.internal.contentmodel.ProjectDescription._debugIndexTime
-org.eclipse.jst.jsp.core/taglib/indextime=false
-
-#org.eclipse.jst.jsp.core.internal.contentmodel.TaglibIndex._debugEvents
-org.eclipse.jst.jsp.core/taglib/events=false
-#org.eclipse.jst.jsp.core.internal.contentmodel.TaglibIndex._debugIndexCreation
-org.eclipse.jst.jsp.core/taglib/indexcreation=false
-#org.eclipse.jst.jsp.core.internal.contentmodel.TaglibIndex._debugResolution
-org.eclipse.jst.jsp.core/taglib/resolve=false
-
-#org.eclipse.jst.jsp.core.text.rules.StructuredTextPartitioner.debugPrefixListener
-org.eclipse.jst.jsp.core/partitioner/prefixlistener=false
-
-org.eclipse.jst.jsp.core/debug/jspjavamapping=false
-
-org.eclipse.jst.jsp.core/debug/jspvalidator=false
-org.eclipse.jst.jsp.core/debug/taglibvars=false
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/.project b/bundles/org.eclipse.jst.jsp.core/.project
deleted file mode 100644
index 0f10b7a..0000000
--- a/bundles/org.eclipse.jst.jsp.core/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jst.jsp.core</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/bundles/org.eclipse.jst.jsp.core/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.jst.jsp.core/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index cf2b41a..0000000
--- a/bundles/org.eclipse.jst.jsp.core/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,79 +0,0 @@
-#Mon May 30 17:57:30 EDT 2005

-eclipse.preferences.version=1

-org.eclipse.jdt.core.builder.cleanOutputFolder=clean

-org.eclipse.jdt.core.builder.duplicateResourceTask=warning

-org.eclipse.jdt.core.builder.invalidClasspath=abort

-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=warning

-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=warning

-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=warning

-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=warning

-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=warning

-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=warning

-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=warning

-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning

-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore

-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning

-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning

-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error

-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore

-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning

-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore

-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled

-org.eclipse.jdt.core.compiler.problem.unusedImport=error

-org.eclipse.jdt.core.compiler.problem.unusedLocal=error

-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore

-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled

-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled

-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning

-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/bundles/org.eclipse.jst.jsp.core/.settings/org.eclipse.pde.prefs b/bundles/org.eclipse.jst.jsp.core/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 42fb716..0000000
--- a/bundles/org.eclipse.jst.jsp.core/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Fri May 27 23:56:32 EDT 2005
-compilers.p.deprecated=1
-compilers.p.illegal-att-value=0
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=1
-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/bundles/org.eclipse.jst.jsp.core/DevTimeSupport/HeadParsers/JSPHeadTokenizer.jFlex b/bundles/org.eclipse.jst.jsp.core/DevTimeSupport/HeadParsers/JSPHeadTokenizer.jFlex
deleted file mode 100644
index 89f8ee6..0000000
--- a/bundles/org.eclipse.jst.jsp.core/DevTimeSupport/HeadParsers/JSPHeadTokenizer.jFlex
+++ /dev/null
@@ -1,289 +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 Corporation - initial API and implementation
- *******************************************************************************/
-/*nlsXXX*/
-package org.eclipse.jst.jsp.core.internal.contenttype;
-import java.io.IOException;
-import java.io.Reader;
-
-import org.eclipse.wst.xml.core.internal.contenttype.EncodingParserConstants;
-import org.eclipse.wst.xml.core.internal.contenttype.XMLHeadTokenizerConstants;
-
-
-
-
-
-%%
-
-%{
-
-
-
-
-        private boolean hasMore = true;
-        private final static int MAX_TO_SCAN = 8000;
-        StringBuffer string = new StringBuffer();
-        // state stack for easier state handling
-        private IntStack fStateStack = new IntStack();
-        private String valueText = null;
-
-
-        public JSPHeadTokenizer() {
-                super();
-        }
-
-          public void reset (Reader in) {
-                /* the input device */
-                zzReader = in;
-
-                /* the current state of the DFA */
-                zzState = 0;
-
-                /* the current lexical state */
-                zzLexicalState = YYINITIAL;
-
-                /* this buffer contains the current text to be matched and is
-                 the source of the yytext() string */
-                java.util.Arrays.fill(zzBuffer, (char)0);
-
-                /* the textposition at the last accepting state */
-                zzMarkedPos = 0;
-
-                /* the textposition at the last state to be included in yytext */
-                zzPushbackPos = 0;
-
-                /* the current text position in the buffer */
-                zzCurrentPos = 0;
-
-                /* startRead marks the beginning of the yytext() string in the buffer */
-                zzStartRead = 0;
-
-                /**
-                 * endRead marks the last character in the buffer, that has been read
-                 * from input
-                 */
-                zzEndRead = 0;
-
-                /* number of newlines encountered up to the start of the matched text */
-                yyline = 0;
-
-                /* the number of characters up to the start of the matched text */
-                yychar = 0;
-
-                /**
-                 * the number of characters from the last newline up to the start
-                 * of the matched text
-                 */
-                yycolumn = 0;
-
-                /**
-                 * yy_atBOL == true <=> the scanner is currently at the beginning
-                 * of a line
-                 */
-                zzAtBOL = true;
-
-                /* yy_atEOF == true <=> the scanner has returned a value for EOF */
-                zzAtEOF = false;
-
-                /* denotes if the user-EOF-code has already been executed */
-                zzEOFDone = false;
-
-
-                fStateStack.clear();
-
-                hasMore = true;
-
-
-        }
-
-
-        public final HeadParserToken getNextToken() throws IOException {
-                String context = null;
-                context = primGetNextToken();
-                HeadParserToken result = null;
-                if (valueText != null) {
-                        result = createToken(context, yychar, valueText);
-                        valueText = null;
-                } else {
-                        result = createToken(context, yychar, yytext());
-                }
-                return result;
-        }
-
-        public final boolean hasMoreTokens() {
-                return hasMore && yychar < MAX_TO_SCAN;
-        }
-        private void pushCurrentState() {
-                fStateStack.push(yystate());
-
-        }
- 
-        private void popState() {
-                yybegin(fStateStack.pop());
-        }
-        private HeadParserToken createToken(String context, int start, String text) {
-                return new HeadParserToken(context, start, text);
-        }
-
-
-%}
-
-%eof{
-        hasMore=false;
-%eof}
-
-%public
-%class JSPHeadTokenizer
-%function primGetNextToken
-%type String
-%char
-%unicode
-%ignorecase
-//%debug
-%switch
-%buffer 8192
-
-
-UTF16BE = \xFE\xFF
-UTF16LE = \xFF\xFE
-UTF83ByteBOM = \xEF\xBB\xBF
-
-// SpaceChar = [\x20\x09]
-
-
-// [3] S ::= (0x20 | 0x9 | 0xD | 0xA)+
-S = [\x20\x09\x0D\x0A]
-
-BeginAttribeValue = {S}* \= {S}*
-
-LineTerminator = \r|\n
-
-
-%state ST_XMLDecl
-%state ST_PAGE_DIRECTIVE
-%state QuotedAttributeValue
-%state DQ_STRING
-%state SQ_STRING
-%state UnDelimitedString
-
-%%
-
-
-<YYINITIAL>
-{
-	 	// force to start at beginning of line (^) and at beginning of file (yychar == 0)
-		^ {UTF16BE}   		{if (yychar == 0 ) {hasMore = false; return EncodingParserConstants.UTF16BE;}}
-		^ {UTF16LE}   		{if (yychar == 0 ) {hasMore = false; return EncodingParserConstants.UTF16LE;}}
-		^ {UTF83ByteBOM}   	{if (yychar == 0 ) {hasMore = false; return EncodingParserConstants.UTF83ByteBOM;}}
-		
-		// force to be started on first line, but we do allow preceeding spaces
-		^ {S}* "<\?xml" {S}+ {if (yychar == 0 ) {yybegin(ST_XMLDecl); return XMLHeadTokenizerConstants.XMLDeclStart;}}
-
-        "<%" {S}* "@" {S}* "page" {S}+   {yybegin(ST_PAGE_DIRECTIVE); return JSPHeadTokenizerConstants.PageDirectiveStart;}
-        "<jsp:directive.page" {S}+           {yybegin(ST_PAGE_DIRECTIVE); return JSPHeadTokenizerConstants.PageDirectiveStart;}
-
-
-}
-
-<ST_XMLDecl>
-{
-        "version" {BeginAttribeValue} {pushCurrentState(); yybegin(QuotedAttributeValue); return XMLHeadTokenizerConstants.XMLDeclVersion;}
-        "encoding" {BeginAttribeValue} {pushCurrentState(); yybegin(QuotedAttributeValue); return XMLHeadTokenizerConstants.XMLDelEncoding;}
-        // note the "forced end" (via 'hasMore=false') once the end of XML Declaration found
-        // This is since non-ascii chars may follow and may cause IOExceptions which would not occur once stream is
-        // read with incorrect encoding (such as if platform encoding is in effect until true encoding detected).
-        // BUT, the hasMore=false was removed for this JSP case (probably still ok for pure XML) because
-        // in a JSP, we must parse past xmlDecl to get at JSP page directive.
-        // We'll assume all chars in this area are "readable" as is.
-        {S}* "\?>"    {yybegin(YYINITIAL); return XMLHeadTokenizerConstants.XMLDeclEnd;}
-}
-
-<ST_PAGE_DIRECTIVE>
-{
-//  removed 'language' since it really can be handled seperately from encoding, but may add it back later for simple re-use.
-        "language"     {BeginAttribeValue} {pushCurrentState(); yybegin(QuotedAttributeValue); return JSPHeadTokenizerConstants.PageLanguage;}
-        "contentType" {BeginAttribeValue}  {pushCurrentState(); yybegin(QuotedAttributeValue); return JSPHeadTokenizerConstants.PageContentType;}
-        "pageEncoding" {BeginAttribeValue} {pushCurrentState(); yybegin(QuotedAttributeValue); return JSPHeadTokenizerConstants.PageEncoding;}
-        // note the "forced end" (via 'hasMore=false') once the end of XML Declaration found
-        // This is since non-ascii chars may follow and may cause IOExceptions which would not occur once stream is
-        // read in correct encoding.
-
-        // https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=4205 demonstrates how we need to keep parsing,
-        // even if come to end of one page directive, so hasMore=false was removed from these rules.
-        "%>"    { yybegin(YYINITIAL);  return JSPHeadTokenizerConstants.PageDirectiveEnd;}
-        "\/>"    { yybegin(YYINITIAL); return JSPHeadTokenizerConstants.PageDirectiveEnd;}
-}
-
-
-<QuotedAttributeValue>
-{
-        \"                      { yybegin(DQ_STRING); string.setLength(0); }
-        \'                      { yybegin(SQ_STRING); string.setLength(0); }
-        // in this state, anything other than a space character can start an undelimited string
-        {S}*.           { yypushback(1); yybegin(UnDelimitedString); string.setLength(0);}
-
-}
-
-
-<DQ_STRING>
-{
-
-        \"                      { popState(); valueText = string.toString(); return EncodingParserConstants.StringValue; }
-        {LineTerminator}        { yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-        "\?>"                   { yypushback(2); popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-        '<'                     { yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-        .                       { string.append( yytext() ); }
-
-        "%>"                    { yypushback(2);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-
-
-}
-
-<SQ_STRING>
-{
-
-        \'                      { popState(); valueText = string.toString(); return EncodingParserConstants.StringValue;}
-        {LineTerminator}        { yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-        "%>"                    { yypushback(2);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-        '<'                     { yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-        .                       { string.append( yytext() ); }
-        "%>"                    { yypushback(2);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-
-
-}
-
-<UnDelimitedString>
-{
-
-
-        {S}                     { yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.UnDelimitedStringValue; }
-        {LineTerminator}        { yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-        "\?>"                   { yypushback(2);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-        '<'                     { yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-        // these are a bit special, since we started an undelimit string, but found a quote ... probably indicates a missing beginning quote
-        \'                      { yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTermintatedUnDelimitedStringValue;}
-        \"                      { yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTermintatedUnDelimitedStringValue;}
-
-        .                       { string.append( yytext() ); }
-        "%>"                    { yypushback(2);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-
-}
-
-// The "match anything" rule should always be in effect except for when looking for end of string
-// (That is, remember to update state list if/when new states added)
-<YYINITIAL, ST_XMLDecl, QuotedAttributeValue, ST_PAGE_DIRECTIVE>
-{
-// this is the fallback (match "anything") rule  (for this scanner, input is ignored, and position advanced, if not recognized)
-.|\n              {if (yychar > MAX_TO_SCAN) {hasMore=false; return EncodingParserConstants.MAX_CHARS_REACHED;}}
-}
-
-// this rule always in effect
-<<EOF>>         {hasMore = false; return EncodingParserConstants.EOF;}
-
diff --git a/bundles/org.eclipse.jst.jsp.core/DevTimeSupport/buildParser.xml b/bundles/org.eclipse.jst.jsp.core/DevTimeSupport/buildParser.xml
deleted file mode 100644
index 2ebe182..0000000
--- a/bundles/org.eclipse.jst.jsp.core/DevTimeSupport/buildParser.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="tokenizer" default="HeadTokenizer">
-	
-	<!-- Note: for Eclipse env., the JFlex 1.4 jar should be added 
-	to the ant global entries  -->
-	<taskdef classname="JFlex.anttask.JFlexTask" name="jflex" />
-		
-	<target name="init">
-		<property name="src.file" value="JSPHeadTokenizer.jFlex"/>			
-		<property name="src.dir" value="HeadParsers"/>
-		<property name="dest.dir" value="../src"/>
-		<!-- touch causes to always build, remove for real 'make' behavior -->
-		<touch file="${src.dir}/${src.file}"/>
-					
-	</target>
-
-	<target name="HeadTokenizer" depends="init">
-		<antcall target="run-jflex"/>
-	</target>
-
-	<target name="run-jflex" depends="init">
-		<jflex
-	    	file="${src.dir}/${src.file}"
-	    	destdir="${dest.dir}"
-			verbose="true"
-			nobak="true"
-			time="on"
-	    />
-	</target>
-	
-
-</project>
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/META-INF/MANIFEST.MF b/bundles/org.eclipse.jst.jsp.core/META-INF/MANIFEST.MF
deleted file mode 100644
index baece32..0000000
--- a/bundles/org.eclipse.jst.jsp.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,44 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.jst.jsp.core; singleton:=true
-Bundle-Version: 0.7.0
-Bundle-Activator: org.eclipse.jst.jsp.core.internal.JSPCorePlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.jst.jsp.core.internal,
- org.eclipse.jst.jsp.core.internal.contentmodel,
- org.eclipse.jst.jsp.core.internal.contentmodel.tld,
- org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional,
- org.eclipse.jst.jsp.core.internal.contenttype,
- org.eclipse.jst.jsp.core.internal.document,
- org.eclipse.jst.jsp.core.internal.domdocument,
- org.eclipse.jst.jsp.core.internal.encoding,
- org.eclipse.jst.jsp.core.internal.java,
- org.eclipse.jst.jsp.core.internal.java.search,
- org.eclipse.jst.jsp.core.internal.modelhandler,
- org.eclipse.jst.jsp.core.internal.modelquery,
- org.eclipse.jst.jsp.core.internal.parser,
- org.eclipse.jst.jsp.core.internal.parser.internal,
- org.eclipse.jst.jsp.core.internal.preferences,
- org.eclipse.jst.jsp.core.internal.provisional,
- org.eclipse.jst.jsp.core.internal.provisional.contenttype,
- org.eclipse.jst.jsp.core.internal.provisional.text,
- org.eclipse.jst.jsp.core.internal.regions,
- org.eclipse.jst.jsp.core.internal.tasks,
- org.eclipse.jst.jsp.core.internal.text,
- org.eclipse.jst.jsp.core.internal.util,
- org.eclipse.jst.jsp.core.internal.java.jspel
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.core.resources,
- org.eclipse.core.filebuffers,
- org.eclipse.wst.html.core,
- org.eclipse.wst.xml.core,
- org.eclipse.wst.sse.ui,
- org.eclipse.wst.sse.core,
- org.eclipse.jdt.core,
- org.eclipse.text,
- org.eclipse.wst.common.uriresolver,
- org.eclipse.wst.validation,
- org.eclipse.tomcat;resolution:=optional
-Eclipse-AutoStart: true
diff --git a/bundles/org.eclipse.jst.jsp.core/about.html b/bundles/org.eclipse.jst.jsp.core/about.html
deleted file mode 100644
index 6f6b96c..0000000
--- a/bundles/org.eclipse.jst.jsp.core/about.html
+++ /dev/null
@@ -1,22 +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">
-<h2>About This Content</h2>
- 
-<p>February 24, 2005</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; 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 (&quot;Redistributor&quot;) 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.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/build.properties b/bundles/org.eclipse.jst.jsp.core/build.properties
deleted file mode 100644
index 9bcd78a..0000000
--- a/bundles/org.eclipse.jst.jsp.core/build.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-###############################################################################
-# Copyright (c) 2004 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.xml,\
-               .options,\
-               plugin.properties,\
-               META-INF/,\
-               .,\
-               about.html
-bin.excludes = @dot/**,\
-               temp.folder/**
-src.includes = component.xml,\
-               build.properties,\
-               DevTimeSupport/
-source.. = src/
diff --git a/bundles/org.eclipse.jst.jsp.core/component.xml b/bundles/org.eclipse.jst.jsp.core/component.xml
deleted file mode 100644
index c013b11..0000000
--- a/bundles/org.eclipse.jst.jsp.core/component.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component xmlns="http://eclipse.org/wtp/releng/tools/component-model"
-        name="org.eclipse.jst.jsp">
-        <component-depends unrestricted="true"></component-depends>
-        <plugin id="org.eclipse.jst.jsp.core" />
-        <plugin id="org.eclipse.jst.jsp.ui" />
-
-
-</component>
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/plugin.properties b/bundles/org.eclipse.jst.jsp.core/plugin.properties
deleted file mode 100644
index b474eb2..0000000
--- a/bundles/org.eclipse.jst.jsp.core/plugin.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2004 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
-pluginName=Structured Source JSP Model
-nlFeatureName=Structured Source JSP Model NL Support
-Structured_JSP_Document_Factory_Extension.name=Structured JSP Document Factory Extension
-JSP_Content_Type_Extension_Element.name=JSP
-JSP_Tag_Content_Type_Extension_Element.name=JSP Tag Definition
-JSP_Fragment_Content_Type_Extension_Element.name=JSP Fragment
-JSP_Syntax_Validator.name=JSP Syntax Validator
-EL_Syntax_Validator.name=EL Syntax Validator
-Structured_JSP_Document_Setup_participant.name=Structured JSP Document Setup Participant
diff --git a/bundles/org.eclipse.jst.jsp.core/plugin.xml b/bundles/org.eclipse.jst.jsp.core/plugin.xml
deleted file mode 100644
index 624f39e..0000000
--- a/bundles/org.eclipse.jst.jsp.core/plugin.xml
+++ /dev/null
@@ -1,214 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-	<extension point="org.eclipse.wst.sse.core.modelHandler">
-		<modelHandler
-			class="org.eclipse.jst.jsp.core.internal.modelhandler.ModelHandlerForJSP"
-			associatedContentTypeId="org.eclipse.jst.jsp.core.jspsource"
-			id="org.eclipse.jst.jsp.core.internal.modelhandler">
-		</modelHandler>
-	</extension>
-
-	<extension point="org.eclipse.wst.xml.core.documentFactories">
-		<factory
-			type="tld"
-			class="org.eclipse.jst.jsp.core.internal.contentmodel.tld.CMDocumentFactoryTLD">
-		</factory>
-	</extension>
-
-	<extension point="org.eclipse.wst.sse.core.taskscanner">
-		<scanner
-			id="org.eclipse.jst.jsp.core.internal.tasks.JSPFileTaskScanner"
-			class="org.eclipse.jst.jsp.core.internal.tasks.JSPFileTaskScanner"
-			contentTypeIds="org.eclipse.jst.jsp.core.jspsource" />
-	</extension>
-
-	<extension
-		point="org.eclipse.core.filebuffers.documentCreation"
-		id="org.eclipse.jst.jsp.core.documentfactories"
-		name="%Structured_JSP_Document_Factory_Extension.name">
-		<factory
-			contentTypeId="org.eclipse.jst.jsp.core.jspsource"
-			class="org.eclipse.wst.sse.core.internal.filebuffers.BasicStructuredDocumentFactory" />
-	</extension>
-	<extension
-		point="org.eclipse.core.filebuffers.documentSetup"
-		id="org.eclipse.jst.jsp.core.documentsetup"
-		name="%Structured_JSP_Document_Setup_participant.name">
-		<participant
-			contentTypeId="org.eclipse.jst.jsp.core.jspsource"
-			class="org.eclipse.jst.jsp.core.internal.contentmodel.TaglibController" />
-	</extension>
-	<extension point="org.eclipse.team.core.fileTypes">
-		<fileTypes
-			type="text"
-			extension="jsp">
-		</fileTypes>
-		<fileTypes
-			type="text"
-			extension="jspf" />
-		<fileTypes
-			type="text"
-			extension="jspx" />
-		<fileTypes
-			type="text"
-			extension="jsf">
-		</fileTypes>
-		<fileTypes
-			type="text"
-			extension="jsv">
-		</fileTypes>
-		<fileTypes
-			type="text"
-			extension="jtpl">
-		</fileTypes>
-		<fileTypes
-			type="text"
-			extension="tld" />
-		<fileTypes
-			type="text"
-			extension="tag" />
-		<fileTypes
-			type="text"
-			extension="tagx" />
-		<fileTypes
-			type="text"
-			extension="tagf" />
-	</extension>
-	<extension point="org.eclipse.wst.sse.core.formatProcessors">
-		<processor
-			class="org.eclipse.wst.html.core.internal.format.HTMLFormatProcessorImpl"
-			contentTypeId="org.eclipse.jst.jsp.core.jspsource">
-		</processor>
-	</extension>
-
-	<extension point="org.eclipse.core.runtime.contentTypes">
-		<!-- associate JSP file types -->
-		<content-type
-			file-extensions="jsp,jsv,jtpl,jspx"
-			priority="high"
-			name="%JSP_Content_Type_Extension_Element.name"
-			id="jspsource"
-			base-type="org.eclipse.core.runtime.text"
-			default-charset="ISO-8859-1">
-			<describer
-				class="org.eclipse.jst.jsp.core.internal.contenttype.ContentDescriberForJSP" />
-		</content-type>
-		<content-type
-			file-extensions="jspf,jsf"
-			priority="high"
-			name="%JSP_Fragment_Content_Type_Extension_Element.name"
-			id="jspfragmentsource"
-			base-type="org.eclipse.jst.jsp.core.jspsource"
-			default-charset="ISO-8859-1">
-			<describer
-				class="org.eclipse.jst.jsp.core.internal.contenttype.ContentDescriberForJSP" />
-		</content-type>
-		<!-- associate JSP 2.0 Tag file types -->
-		<content-type
-			file-extensions="tag,tagx,tagf"
-			priority="high"
-			name="%JSP_Tag_Content_Type_Extension_Element.name"
-			id="tagsource"
-			base-type="org.eclipse.jst.jsp.core.jspsource"
-			default-charset="UTF-8">
-		</content-type>
-		<!-- associate .tld files with the XML content type -->
-		<file-association
-			content-type="org.eclipse.core.runtime.xml"
-			file-extensions="tld" />
-	</extension>
-
-	<!-- initialize jsp core preferences -->
-	<extension point="org.eclipse.core.runtime.preferences">
-		<initializer
-			class="org.eclipse.jst.jsp.core.internal.preferences.JSPCorePreferenceInitializer" />
-	</extension>
-
-
-	<extension
-		id="JSPELValidator"
-		name="%EL_Syntax_Validator.name"
-		point="org.eclipse.wst.validation.validator">
-		<validator>
-			<projectNature
-				id="org.eclipse.wst.common.modulecore.ModuleCoreNature">
-			</projectNature>
-			<filter
-				objectClass="org.eclipse.core.resources.IFile"
-				nameFilter="*.jsp">
-			</filter>
-			<filter
-				objectClass="org.eclipse.core.resources.IFile"
-				nameFilter="*.jspf">
-			</filter>
-			<filter
-				objectClass="org.eclipse.core.resources.IFile"
-				nameFilter="*.jsf">
-			</filter>
-			<filter
-				objectClass="org.eclipse.core.resources.IFile"
-				nameFilter="*.jsv">
-			</filter>
-			<filter
-				objectClass="org.eclipse.core.resources.IFile"
-				nameFilter="*.jtpl">
-			</filter>
-			<helper
-				class="org.eclipse.wst.validation.internal.operations.WorkbenchContext">
-			</helper>
-			<run
-				enabled="true"
-				class="org.eclipse.jst.jsp.core.internal.validation.JSPELValidator">
-			</run>
-		</validator>
-	</extension>
-
-	<!--======================================================================================-->
-	<!-- Workbench validation                                       						  -->
-	<!--======================================================================================-->
-	<extension
-		id="JSPValidator"
-		name="%JSP_Syntax_Validator.name"
-		point="org.eclipse.wst.validation.validator">
-		<validator>
-			<projectNature
-				id="org.eclipse.wst.common.modulecore.ModuleCoreNature">
-			</projectNature>
-			<projectNature id="org.eclipse.jdt.core.javanature">
-			</projectNature>
-			<projectNature id="org.eclipse.wst.web.StaticWebNature">
-			</projectNature>
-
-			<filter
-				objectClass="org.eclipse.core.resources.IFile"
-				nameFilter="*.jsp">
-			</filter>
-			<filter
-				objectClass="org.eclipse.core.resources.IFile"
-				nameFilter="*.jspf">
-			</filter>
-			<filter
-				objectClass="org.eclipse.core.resources.IFile"
-				nameFilter="*.jsf">
-			</filter>
-			<filter
-				objectClass="org.eclipse.core.resources.IFile"
-				nameFilter="*.jsv">
-			</filter>
-			<filter
-				objectClass="org.eclipse.core.resources.IFile"
-				nameFilter="*.jtpl">
-			</filter>
-			<helper
-				class="org.eclipse.wst.validation.internal.operations.WorkbenchContext">
-			</helper>
-			<run
-				enabled="true"
-				class="org.eclipse.jst.jsp.core.internal.validation.JSPValidator">
-			</run>
-		</validator>
-	</extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/Assert.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/Assert.java
deleted file mode 100644
index 96c0c9d..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/Assert.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.jsp.core.internal;
-
-
-
-/**
- * <code>Assert</code> is useful for for embedding runtime sanity checks in
- * code. The predicate methods all test a condition and throw some type of
- * unchecked exception if the condition does not hold.
- * <p>
- * Assertion failure exceptions, like most runtime exceptions, are thrown when
- * something is misbehaving. Assertion failures are invariably unspecified
- * behavior; consequently, clients should never rely on these being thrown
- * (and certainly should not being catching them specifically).
- * </p>
- */
-public final class Assert {
-
-	/**
-	 * <code>AssertionFailedException</code> is a runtime exception thrown
-	 * by some of the methods in <code>Assert</code>.
-	 * <p>
-	 * This class is not declared public to prevent some misuses; programs
-	 * that catch or otherwise depend on assertion failures are susceptible to
-	 * unexpected breakage when assertions in the code are added or removed.
-	 * </p>
-	 */
-	class AssertionFailedException extends RuntimeException {
-		/**
-		 * Comment for <code>serialVersionUID</code>
-		 */
-		private static final long serialVersionUID = 1L;
-
-		/**
-		 * Constructs a new exception.
-		 */
-		public AssertionFailedException() {
-			super();
-		}
-
-		/**
-		 * Constructs a new exception with the given message.
-		 */
-		public AssertionFailedException(String detail) {
-			super(detail);
-		}
-	}
-
-	/**
-	 * Asserts that an argument is legal. If the given boolean is not
-	 * <code>true</code>, an <code>IllegalArgumentException</code> is
-	 * thrown. The given message is included in that exception, to aid
-	 * debugging.
-	 * 
-	 * @param expression
-	 *            the outcode of the check
-	 * @param message
-	 *            the message to include in the exception
-	 * @return <code>true</code> if the check passes (does not return if the
-	 *         check fails)
-	 * @exception IllegalArgumentException
-	 *                if the legality test failed
-	 */
-	public static boolean isLegal(boolean expression, String message) {
-		if (!expression)
-			throw new IllegalArgumentException(message);
-		return expression;
-	}
-
-	/**
-	 * Asserts that the given object is not <code>null</code>. If this is
-	 * not the case, some kind of unchecked exception is thrown. The given
-	 * message is included in that exception, to aid debugging.
-	 * 
-	 * @param object
-	 *            the value to test
-	 * @param message
-	 *            the message to include in the exception
-	 * @exception IllegalArgumentException
-	 *                if the object is <code>null</code>
-	 */
-	public static void isNotNull(Object object, String message) {
-		if (object == null) {
-			throw new Assert().new AssertionFailedException(message);
-		}
-	}
-
-	/**
-	 * Asserts that the given boolean is <code>true</code>. If this is not
-	 * the case, some kind of unchecked exception is thrown. The given message
-	 * is included in that exception, to aid debugging.
-	 * 
-	 * @param expression
-	 *            the outcode of the check
-	 * @param message
-	 *            the message to include in the exception
-	 * @return <code>true</code> if the check passes (does not return if the
-	 *         check fails)
-	 */
-	public static boolean isTrue(boolean expression, String message) {
-		if (!expression) {
-			throw new Assert().new AssertionFailedException(message);
-		}
-		return expression;
-	}
-
-	/* This class is not intended to be instantiated. */
-	private Assert() {
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/JSPCoreMessages.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/JSPCoreMessages.java
deleted file mode 100644
index 763ee9a..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/JSPCoreMessages.java
+++ /dev/null
@@ -1,36 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsp.core.internal;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Strings used by JSP Core
- * 
- * @plannedfor 1.0
- */
-public class JSPCoreMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.jst.jsp.core.internal.JSPCorePluginResources"; //$NON-NLS-1$
-
-	public static String JSPIndexManager_0;
-	public static String JSPIndexManager_2;
-	public static String JSP_Search;
-	public static String JSPEL_Syntax;
-	public static String JSPDocumentLoader_1;
-	
-	private JSPCoreMessages() {
-	}
-
-	static {
-		// initialize resource bundle
-		NLS.initializeMessages(BUNDLE_NAME, JSPCoreMessages.class);
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/JSPCorePlugin.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/JSPCorePlugin.java
deleted file mode 100644
index 4299b1b..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/JSPCorePlugin.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal;
-
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jst.jsp.core.internal.contentmodel.TaglibController;
-import org.eclipse.jst.jsp.core.internal.contentmodel.TaglibIndex;
-import org.eclipse.jst.jsp.core.internal.java.search.JSPIndexManager;
-import org.eclipse.jst.jsp.core.internal.java.search.JSPSearchSupport;
-import org.eclipse.jst.jsp.core.internal.taglib.TaglibHelperManager;
-import org.osgi.framework.BundleContext;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class JSPCorePlugin extends Plugin {
-	//The shared instance.
-	private static JSPCorePlugin plugin;	
-
-	/**
-	 * The constructor.
-	 */
-	public JSPCorePlugin() {
-		super();
-		plugin = this;
-	}
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static JSPCorePlugin getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns the workspace instance.
-	 */
-	public static IWorkspace getWorkspace() {
-		return ResourcesPlugin.getWorkspace();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugin#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		
-		TaglibIndex.startup();
-		// JSPIndexManager depends on TaglibController, so TaglibController
-		// should be started first
-		TaglibController.startup();
-		
-		// listen for classpath changes
-		JavaCore.addElementChangedListener(TaglibHelperManager.getInstance());
-		
-		// add JSPIndexManager to keep JSP Index up to date
-		// listening for IResourceChangeEvent.PRE_DELETE and IResourceChangeEvent.POST_CHANGE
-		ResourcesPlugin.getWorkspace().addResourceChangeListener(JSPIndexManager.getInstance(), IResourceChangeEvent.POST_CHANGE);
-		
-		// https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=5091
-		// makes sure IndexManager is aware of our indexes
-		JSPIndexManager.getInstance().saveIndexes();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		// stop listening
-		ResourcesPlugin.getWorkspace().removeResourceChangeListener(JSPIndexManager.getInstance());
-		// stop any searching
-		JSPSearchSupport.getInstance().setCanceled(true);
-		// stop any indexing
-		JSPIndexManager.getInstance().shutdown();
-		
-		// stop listening for classpath changes
-		JavaCore.removeElementChangedListener(TaglibHelperManager.getInstance());
-		
-		// stop taglib controller
-		TaglibController.shutdown();
-		TaglibIndex.shutdown();
-
-		super.stop(context);
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/JSPCorePluginResources.properties b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/JSPCorePluginResources.properties
deleted file mode 100644
index af478b5..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/JSPCorePluginResources.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2004 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
-###############################################################################
-JSPIndexManager_0=Updating JSP Index
-JSPIndexManager_2=JSP Indexer indexing {0} files
-JSP_Search=JSP Search - 
-JSPDocumentLoader_1=Program Error: structured model had no structuredDocument
-JSPEL_Syntax=EL Syntax Error 
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/Logger.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/Logger.java
deleted file mode 100644
index a35dcd0..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/Logger.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal;
-
-import java.util.StringTokenizer;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.osgi.framework.Bundle;
-
-/**
- * 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 {
-	private static final String PLUGIN_ID = "org.eclipse.jst.jsp.core"; //$NON-NLS-1$
-	
-	private static final String TRACEFILTER_LOCATION = "/debug/tracefilter"; //$NON-NLS-1$
-
-	public static final int OK = IStatus.OK; // 0
-	public static final int INFO = IStatus.INFO; // 1
-	public static final int WARNING = IStatus.WARNING; // 2
-	public static final int ERROR = IStatus.ERROR; // 4
-
-	public static final int OK_DEBUG = 200 + OK;
-	public static final int INFO_DEBUG = 200 + INFO;
-	public static final int WARNING_DEBUG = 200 + WARNING;
-	public static final int ERROR_DEBUG = 200 + ERROR;
-
-	/**
-	 * 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, PLUGIN_ID, severity, message, exception);
-		Bundle bundle = Platform.getBundle(PLUGIN_ID);
-		if (bundle != null) 
-			Platform.getLog(bundle).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, PLUGIN_ID, IStatus.OK, message, exception);
-			Bundle bundle = Platform.getBundle(PLUGIN_ID);
-			if (bundle != null) 
-				Platform.getLog(bundle).log(statusObj);
-		}
-	}
-
-	/**
-	 * @return true if the platform is debugging
-	 */
-	public static boolean isDebugging() {
-		return Platform.inDebugMode();
-	}
-
-	/**
-	 * 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(PLUGIN_ID + 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 traceException(String category, String message, Throwable exception) {
-		_trace(category, message, exception);
-	}
-
-	public static void traceException(String category, Throwable exception) {
-		_trace(category, exception.getMessage(), exception);
-	}
-
-	public static void trace(String category, String message) {
-		_trace(category, message, null);
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/CMContentWrapperImpl.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/CMContentWrapperImpl.java
deleted file mode 100644
index ed39833..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/CMContentWrapperImpl.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.contentmodel;
-
-
-
-import org.eclipse.wst.xml.core.internal.contentmodel.CMContent;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMNode;
-
-public class CMContentWrapperImpl extends CMNodeWrapperImpl implements CMContent {
-
-	private CMContent fCMContent = null;
-
-	/**
-	 * CMContentWrapper constructor comment.
-	 * @param prefix java.lang.String
-	 * @param node org.eclipse.wst.xml.core.internal.contentmodel.CMNode
-	 */
-	public CMContentWrapperImpl(String prefix, org.eclipse.wst.xml.core.internal.contentmodel.CMContent node) {
-		super(prefix, node);
-		fCMContent = node;
-	}
-
-	/**
-	 * getMaxOccur method
-	 * @return int
-	 *
-	 * If -1, it's UNBOUNDED.
-	 */
-	public int getMaxOccur() {
-		return fCMContent.getMaxOccur();
-	}
-
-	/**
-	 * getMinOccur method
-	 * @return int
-	 *
-	 * If 0, it's OPTIONAL.
-	 * If 1, it's REQUIRED.
-	 */
-	public int getMinOccur() {
-		return fCMContent.getMinOccur();
-	}
-
-	public CMNode getOriginNode() {
-		return fCMContent;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/CMDocumentWrapperImpl.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/CMDocumentWrapperImpl.java
deleted file mode 100644
index 1ab27a7..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/CMDocumentWrapperImpl.java
+++ /dev/null
@@ -1,216 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.contentmodel;
-
-
-
-import java.util.Hashtable;
-import java.util.Iterator;
-
-import org.eclipse.wst.xml.core.internal.contentmodel.CMDocument;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMNamespace;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMNode;
-import org.eclipse.wst.xml.core.internal.provisional.contentmodel.CMNodeWrapper;
-
-public class CMDocumentWrapperImpl implements CMDocument, CMNodeWrapper {
-
-	class CMNamedNodeMapImpl implements CMNamedNodeMap {
-
-		protected Hashtable table = new Hashtable();
-
-		public CMNamedNodeMapImpl() {
-			super();
-		}
-
-		Hashtable getHashtable() {
-			return table;
-		}
-
-		public int getLength() {
-			return table.size();
-		}
-
-		public CMNode getNamedItem(String name) {
-			return (CMNode) table.get(name);
-		}
-
-		public CMNode item(int index) {
-			Object result = null;
-			int size = table.size();
-			if (index < size) {
-				Iterator values = iterator();
-				for (int i = 0; i <= index; i++) {
-					result = values.next();
-				}
-			}
-			return (CMNode) result;
-		}
-
-		public Iterator iterator() {
-			return table.values().iterator();
-		}
-
-		public void setNamedItem(String name, CMNode aNode) {
-			if (name != null && aNode != null)
-				table.put(name, aNode);
-		}
-	}
-
-	public class CMNamespaceImpl implements CMNamespace {
-		public String getNodeName() {
-			return CMDocumentWrapperImpl.this.getURI();
-		}
-
-		public int getNodeType() {
-			return CMNode.NAME_SPACE;
-		}
-
-		public String getPrefix() {
-			return CMDocumentWrapperImpl.this.getPrefix();
-		}
-
-		public Object getProperty(String property) {
-			return null;
-		}
-
-		public String getURI() {
-			return CMDocumentWrapperImpl.this.getURI();
-		}
-
-		public boolean supports(String feature) {
-			return false;
-		}
-	}
-
-	private CMDocument fDocument;
-	private CMNamedNodeMap fElements = null;
-	private CMNamedNodeMap fEntities = null;
-	private CMNamespace fNamespace = new CMNamespaceImpl();
-	private String fPrefix;
-	private String fURI;
-
-	public CMDocumentWrapperImpl(String newURI, String newPrefix, CMDocument tld) {
-		fURI = newURI;
-		fPrefix = newPrefix;
-		fDocument = tld;
-	}
-
-	/**
-	 * 
-	 * @return org.eclipse.wst.xml.core.internal.contentmodel.CMDocument
-	 */
-	public CMDocument getDocument() {
-		return fDocument;
-	}
-
-	/**
-	 * getElements method
-	 * @return CMNamedNodeMap
-	 *
-	 * Returns CMNamedNodeMap of ElementDeclaration
-	 */
-	public CMNamedNodeMap getElements() {
-		if (fElements == null) {
-			int length = getDocument().getElements().getLength();
-			CMNamedNodeMapImpl elements = new CMNamedNodeMapImpl();
-			for (int i = 0; i < length; i++) {
-				CMElementDeclaration ed = new CMElementDeclarationWrapperImpl(fPrefix, (CMElementDeclaration) getDocument().getElements().item(i));
-				elements.setNamedItem(ed.getNodeName(), ed);
-			}
-			fElements = elements;
-		}
-		return fElements;
-	}
-
-	/**
-	 * getEntities method
-	 * @return CMNamedNodeMap
-	 *
-	 * Returns CMNamedNodeMap of EntityDeclaration
-	 */
-	public CMNamedNodeMap getEntities() {
-		if (fEntities == null) {
-			fEntities = getDocument().getEntities();
-		}
-		return fEntities;
-	}
-
-	/**
-	 * getNamespace method
-	 * @return CMNamespace
-	 */
-	public CMNamespace getNamespace() {
-		return fNamespace;
-	}
-
-	/**
-	 * getNodeName method
-	 * @return java.lang.String
-	 */
-	public String getNodeName() {
-		return getDocument().getNodeName();
-	}
-
-	/**
-	 * getNodeType method
-	 * @return int
-	 *
-	 * Returns one of :
-	 *
-	 */
-	public int getNodeType() {
-		return getDocument().getNodeType();
-	}
-
-	public CMNode getOriginNode() {
-		return fDocument;
-	}
-
-	/**
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getPrefix() {
-		return fPrefix;
-	}
-
-	/**
-	 * getProperty method
-	 * @return java.lang.Object
-	 *
-	 * Returns the object property desciped by the propertyName
-	 *
-	 */
-	public Object getProperty(String propertyName) {
-		return getDocument().getProperty(propertyName);
-	}
-
-	/**
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getURI() {
-		return fURI;
-	}
-
-	/**
-	 * supports method
-	 * @return boolean
-	 *
-	 * Returns true if the CMNode supports a specified property
-	 *
-	 */
-	public boolean supports(String propertyName) {
-		return getDocument().supports(propertyName);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/CMElementDeclarationWrapperImpl.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/CMElementDeclarationWrapperImpl.java
deleted file mode 100644
index 86368f0..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/CMElementDeclarationWrapperImpl.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.contentmodel;
-
-
-
-import org.eclipse.wst.xml.core.internal.contentmodel.CMContent;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMDataType;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMGroup;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMNode;
-
-public class CMElementDeclarationWrapperImpl extends CMNodeWrapperImpl implements CMElementDeclaration {
-	private CMContent fCMContent = null;
-
-	protected CMElementDeclaration fElementDecl = null;
-
-	/**
-	 * CMElementDeclarationWrapper constructor comment.
-	 * @param prefix java.lang.String
-	 * @param node org.eclipse.wst.xml.core.internal.contentmodel.CMNode
-	 */
-	public CMElementDeclarationWrapperImpl(String prefix, CMElementDeclaration node) {
-		super(prefix, node);
-		fElementDecl = node;
-	}
-
-	/**
-	 * getAttributes method
-	 * @return CMNamedNodeMap
-	 *
-	 * Returns CMNamedNodeMap of AttributeDeclaration
-	 */
-	public CMNamedNodeMap getAttributes() {
-		return fElementDecl.getAttributes();
-	}
-
-	/**
-	 * getCMContent method
-	 * @return CMContent
-	 *
-	 * Returns the root node of this element's content model.
-	 * This can be an CMElementDeclaration or a CMGroup
-	 */
-	public CMContent getContent() {
-		if (fCMContent == null) {
-			CMContent content = fElementDecl.getContent();
-			if (content == null)
-				return null;
-			if (content instanceof CMGroup)
-				fCMContent = new CMGroupWrapperImpl(fPrefix, (CMGroup) content);
-			else
-				fCMContent = new CMContentWrapperImpl(fPrefix, content);
-		}
-		return fCMContent;
-	}
-
-	/**
-	 * getContentType method
-	 * @return int
-	 *
-	 * Returns one of :
-	 * ANY, EMPTY, ELEMENT, MIXED, PCDATA, CDATA.
-	 */
-	public int getContentType() {
-		return fElementDecl.getContentType();
-	}
-
-	/**
-	 * getDataType method
-	 * @return java.lang.String
-	 */
-	public CMDataType getDataType() {
-		return fElementDecl.getDataType();
-	}
-
-	/**
-	 * getElementName method
-	 * @return java.lang.String
-	 */
-	public String getElementName() {
-		return getNodeName();
-	}
-
-	/**
-	 * getLocalElements method
-	 * @return CMNamedNodeMap
-	 *
-	 * Returns a list of locally defined elements.
-	 */
-	public CMNamedNodeMap getLocalElements() {
-		return fElementDecl.getLocalElements();
-	}
-
-	/**
-	 * getMaxOccur method
-	 * @return int
-	 *
-	 * If -1, it's UNBOUNDED.
-	 */
-	public int getMaxOccur() {
-		return fElementDecl.getMaxOccur();
-	}
-
-	/**
-	 * getMinOccur method
-	 * @return int
-	 *
-	 * If 0, it's OPTIONAL.
-	 * If 1, it's REQUIRED.
-	 */
-	public int getMinOccur() {
-		return fElementDecl.getMinOccur();
-	}
-
-	public CMNode getOriginNode() {
-		return fElementDecl;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/CMGroupWrapperImpl.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/CMGroupWrapperImpl.java
deleted file mode 100644
index 714c547..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/CMGroupWrapperImpl.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.contentmodel;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMGroup;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMNode;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMNodeList;
-
-public class CMGroupWrapperImpl extends CMContentWrapperImpl implements CMGroup {
-	class CMNodeListImpl implements CMNodeList {
-		private List nodes = null;
-
-		/**
-		 * CMNodeListImpl constructor comment.
-		 */
-		public CMNodeListImpl() {
-			super();
-			nodes = new ArrayList();
-		}
-
-		/**
-		 * @return org.eclipse.wst.xml.core.internal.contentmodel.CMNode
-		 * @param node org.eclipse.wst.xml.core.internal.contentmodel.CMNode
-		 */
-		public void appendItem(CMNode node) {
-			nodes.add(node);
-		}
-
-		/**
-		 * getLength method
-		 * @return int
-		 */
-		public int getLength() {
-			return nodes.size();
-		}
-
-		/**
-		 * item method
-		 * @return CMNode
-		 * @param index int
-		 */
-		public CMNode item(int index) {
-			if (index < 0 || index >= nodes.size())
-				return null;
-			return (CMNode) nodes.get(index);
-		}
-	}
-
-	private CMNodeList fChildNodes = null;
-	private CMGroup fGroup = null;
-
-	/**
-	 * CMGroupWrapper constructor comment.
-	 * @param prefix java.lang.String
-	 * @param node org.eclipse.wst.xml.core.internal.contentmodel.CMContent
-	 */
-	public CMGroupWrapperImpl(String prefix, CMGroup node) {
-		super(prefix, node);
-	}
-
-	/**
-	 * getChildNodes method
-	 * @return CMNodeList
-	 *
-	 * Returns child CMNodeList, which includes ElementDefinition or CMElement.
-	 */
-	public CMNodeList getChildNodes() {
-		if (fChildNodes == null) {
-			CMNodeListImpl childNodes = new CMNodeListImpl();
-			CMNodeList children = fGroup.getChildNodes();
-			for (int i = 0; i < children.getLength(); i++) {
-				CMNode child = children.item(i);
-				if (child instanceof CMGroup)
-					childNodes.appendItem(new CMGroupWrapperImpl(fPrefix, (CMGroup) child));
-				else if (child instanceof CMElementDeclaration)
-					childNodes.appendItem(new CMElementDeclarationWrapperImpl(fPrefix, (CMElementDeclaration) child));
-				else
-					// error?
-					childNodes.appendItem(new CMNodeWrapperImpl(fPrefix, child));
-			}
-			fChildNodes = childNodes;
-		}
-		return fChildNodes;
-	}
-
-	/**
-	 * getOperation method
-	 * @return int
-	 *
-	 * Returns one of :
-	 * ALONE (a), SEQUENCE (a,b), CHOICE (a|b), ALL (a&b).
-	 */
-	public int getOperator() {
-		return fGroup.getOperator();
-	}
-
-	public CMNode getOriginNode() {
-		return fGroup;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/CMNodeWrapperImpl.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/CMNodeWrapperImpl.java
deleted file mode 100644
index 0f117ff..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/CMNodeWrapperImpl.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.contentmodel;
-
-
-
-import org.eclipse.wst.xml.core.internal.contentmodel.CMNode;
-import org.eclipse.wst.xml.core.internal.provisional.contentmodel.CMNodeWrapper;
-
-public class CMNodeWrapperImpl implements CMNode, CMNodeWrapper {
-	private CMNode fNode = null;
-	private String fNodeName = null;
-
-	protected String fPrefix = null;
-
-	/**
-	 * CMNodeWrapper constructor comment.
-	 */
-	public CMNodeWrapperImpl(String prefix, CMNode node) {
-		super();
-		fPrefix = prefix;
-		fNode = node;
-
-		fNodeName = fPrefix + ":" + fNode.getNodeName(); //$NON-NLS-1$
-	}
-
-	/**
-	 * getNodeName method
-	 * @return java.lang.String
-	 */
-	public String getNodeName() {
-		return fNodeName;
-	}
-
-	/**
-	 * getNodeType method
-	 * @return int
-	 *
-	 * Returns one of :
-	 *
-	 */
-	public int getNodeType() {
-		return fNode.getNodeType();
-	}
-
-	public CMNode getOriginNode() {
-		return fNode;
-	}
-
-	/**
-	 * getProperty method
-	 * @return java.lang.Object
-	 *
-	 * Returns the object property desciped by the propertyName
-	 *
-	 */
-	public Object getProperty(String propertyName) {
-		return fNode.getProperty(propertyName);
-	}
-
-	/**
-	 * supports method
-	 * @return boolean
-	 *
-	 * Returns true if the CMNode supports a specified property
-	 *
-	 */
-	public boolean supports(String propertyName) {
-		return fNode.supports(propertyName);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/ITaglibIndexListener.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/ITaglibIndexListener.java
deleted file mode 100644
index 25c3a11..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/ITaglibIndexListener.java
+++ /dev/null
@@ -1,17 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.jsp.core.internal.contentmodel;
-
-
-public interface ITaglibIndexListener {
-	void indexChanged(ITaglibRecordEvent event);
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/ITaglibRecord.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/ITaglibRecord.java
deleted file mode 100644
index b747676..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/ITaglibRecord.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.jsp.core.internal.contentmodel;
-
-public interface ITaglibRecord {
-	int JAR = 1 << 2;
-	int TAGDIR = 1 << 4;
-	int TLD = 1 << 1;
-	int URL = 1;
-	int WEB_XML = 1 << 3;
-
-	int getRecordType();
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/ITaglibRecordEvent.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/ITaglibRecordEvent.java
deleted file mode 100644
index b8ae951..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/ITaglibRecordEvent.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.jsp.core.internal.contentmodel;
-
-import org.eclipse.core.resources.IResourceDelta;
-
-public interface ITaglibRecordEvent {
-	ITaglibRecord getTaglibRecord();
-
-	int getType();
-
-	int ADDED = IResourceDelta.ADDED;
-	int CHANGED = IResourceDelta.CHANGED;
-	int REMOVED = IResourceDelta.REMOVED;
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/JSPCMDocumentFactory.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/JSPCMDocumentFactory.java
deleted file mode 100644
index a75e1ce..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/JSPCMDocumentFactory.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.contentmodel;
-
-import org.eclipse.wst.html.core.internal.contentmodel.HTMLCMDocumentFactory;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMDocument;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMNamespace;
-import org.eclipse.wst.xml.core.internal.provisional.contentmodel.CMDocType;
-
-/**
- * CMDocument factory for JSP documents.
- */
-public final class JSPCMDocumentFactory {
-
-	static class CMDocImpl implements CMDocument {
-		public CMDocImpl() {
-			super();
-		}
-
-		private static CMDocument jcm = HTMLCMDocumentFactory.getCMDocument(CMDocType.JSP11_DOC_TYPE);
-
-		public String getNodeName() {
-			return jcm.getNodeName();
-		}
-
-		public int getNodeType() {
-			return jcm.getNodeType();
-		}
-
-		public CMNamedNodeMap getElements() {
-			return jcm.getElements();
-		}
-
-		public CMNamedNodeMap getEntities() {
-			return jcm.getEntities();
-		}
-
-		public CMNamespace getNamespace() {
-			return jcm.getNamespace();
-		}
-
-		public Object getProperty(String propertyName) {
-			return null;
-		}
-
-		public boolean supports(String propertyName) {
-			return false;
-		}
-	}
-
-	private static CMDocument mycm;
-
-	private JSPCMDocumentFactory() {
-		super();
-	}
-
-	public static CMDocument getCMDocument() {
-		if (mycm == null) {
-			mycm = new CMDocImpl();
-		}
-		return mycm;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/JarRecord.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/JarRecord.java
deleted file mode 100644
index dcf88dc..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/JarRecord.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.jsp.core.internal.contentmodel;
-
-import java.util.List;
-
-import org.eclipse.core.runtime.IPath;
-
-
-public class JarRecord implements ITaglibRecord {
-	IPath location;
-	List urlRecords;
-
-	public boolean equals(Object obj) {
-		if (!(obj instanceof JarRecord))
-			return false;
-		return ((JarRecord) obj).location.equals(location);
-	}
-
-	public int getRecordType() {
-		return ITaglibRecord.JAR;
-	}
-
-	/**
-	 * @return Returns the location.
-	 */
-	public IPath getLocation() {
-		return location;
-	}
-
-	/**
-	 * 
-	 */
-	public List getURLRecords() {
-		return urlRecords;
-	}
-
-	public String toString() {
-		return "JarRecord: " + location + " <-> " + urlRecords; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/ProjectDescription.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/ProjectDescription.java
deleted file mode 100644
index 985fb1c..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/ProjectDescription.java
+++ /dev/null
@@ -1,753 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.jsp.core.internal.contentmodel;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Hashtable;
-import java.util.List;
-import java.util.Stack;
-
-import org.eclipse.core.filebuffers.FileBuffers;
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-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.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jdt.core.IClasspathContainer;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jst.jsp.core.internal.Logger;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.JSP12TLDNames;
-import org.eclipse.jst.jsp.core.internal.util.DocumentProvider;
-import org.eclipse.wst.common.uriresolver.internal.util.URIHelper;
-import org.eclipse.wst.sse.core.internal.util.JarUtilities;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-class ProjectDescription {
-
-	class DeltaVisitor implements IResourceDeltaVisitor {
-		public boolean visit(IResourceDelta delta) throws CoreException {
-			IResource resource = delta.getResource();
-			if (resource.getType() == IResource.FILE) {
-				if (resource.getName().endsWith(".tld")) { //$NON-NLS-1$
-					if (delta.getKind() == IResourceDelta.REMOVED) {
-						removeTLD(resource);
-					}
-					else {
-						updateTLD(resource, delta.getKind());
-					}
-				}
-				else if (resource.getName().endsWith(".jar")) { //$NON-NLS-1$
-					if (delta.getKind() == IResourceDelta.REMOVED) {
-						removeJAR(resource);
-					}
-					else {
-						updateJAR(resource, delta.getKind());
-					}
-				}
-				else if (resource.getName().endsWith(".tag") || resource.getName().endsWith(".tagx")) { //$NON-NLS-1$ //$NON-NLS-2$
-					if (delta.getKind() == IResourceDelta.REMOVED) {
-						removeTagDir(resource);
-					}
-					else {
-						updateTagDir(resource, delta.getKind());
-					}
-				}
-				else if (resource.getName().equals(WEB_XML) && resource.getParent().getName().equals(WEB_INF)) {
-					if (delta.getKind() == IResourceDelta.REMOVED) {
-						removeServlets(resource);
-					}
-					else {
-						updateServlets(resource, delta.getKind());
-					}
-				}
-			}
-			return resource.getName().length() != 0 && resource.getName().charAt(0) != '.';
-		}
-	}
-
-	class Indexer implements IResourceProxyVisitor {
-		public boolean visit(IResourceProxy proxy) throws CoreException {
-			if (proxy.getType() == IResource.FILE) {
-				if (proxy.getName().endsWith(".tld")) { //$NON-NLS-1$
-					updateTLD(proxy.requestResource(), ITaglibRecordEvent.ADDED);
-				}
-				else if (proxy.getName().endsWith(".jar")) { //$NON-NLS-1$
-					updateJAR(proxy.requestResource(), ITaglibRecordEvent.ADDED);
-				}
-				else if (proxy.getName().endsWith(".tag") || proxy.getName().endsWith(".tagx")) { //$NON-NLS-1$ //$NON-NLS-2$
-					updateTagDir(proxy.requestResource(), ITaglibRecordEvent.ADDED);
-				}
-				else if (proxy.getName().equals(WEB_XML) && proxy.requestResource().getParent().getName().equals(WEB_INF)) {
-					updateServlets(proxy.requestResource(), ITaglibRecordEvent.ADDED);
-				}
-			}
-			String name = proxy.getName();
-			return name.length() != 0 && name.charAt(0) != '.';
-		}
-	}
-
-	class TaglibRecordEvent implements ITaglibRecordEvent {
-		ITaglibRecord fTaglibRecord = null;
-		int fType = -1;
-
-		TaglibRecordEvent(ITaglibRecord record, int type) {
-			fTaglibRecord = record;
-			fType = type;
-		}
-
-		public ITaglibRecord getTaglibRecord() {
-			return fTaglibRecord;
-		}
-
-		public int getType() {
-			return fType;
-		}
-
-		public String toString() {
-			String string = fTaglibRecord.toString();
-			switch (fType) {
-				case ITaglibRecordEvent.ADDED :
-					string += " ADDED (" + TaglibRecordEvent.class.getName() + ")"; //$NON-NLS-1$ //$NON-NLS-2$
-					break;
-				case ITaglibRecordEvent.CHANGED :
-					string += " CHANGED (" + TaglibRecordEvent.class.getName() + ")"; //$NON-NLS-1$ //$NON-NLS-2$
-					break;
-				case ITaglibRecordEvent.REMOVED :
-					string += " REMOVED (" + TaglibRecordEvent.class.getName() + ")"; //$NON-NLS-1$ //$NON-NLS-2$
-					break;
-				default :
-					string += " other:" + fType + " (" + TaglibRecordEvent.class.getName() + ")"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-					break;
-			}
-			return string;
-		}
-	}
-
-	static boolean _debugIndexCreation = "true".equalsIgnoreCase(Platform.getDebugOption("org.eclipse.jst.jsp.core/taglib/indexcreation")); //$NON-NLS-1$ //$NON-NLS-2$
-	static boolean _debugIndexTime = "true".equalsIgnoreCase(Platform.getDebugOption("org.eclipse.jst.jsp.core/taglib/indextime")); //$NON-NLS-1$ //$NON-NLS-2$
-
-	private static final String WEB_INF = "WEB-INF"; //$NON-NLS-1$
-
-	private static final IPath WEB_INF_PATH = new Path("WEB-INF"); //$NON-NLS-1$
-	private static final String WEB_XML = "web.xml"; //$NON-NLS-1$
-
-	/*
-	 * Records active JARs on the classpath. Taglib descriptors should be
-	 * usable, but the jars by themselves should not.
-	 */
-	Hashtable fClasspathJars;
-
-	Stack fClasspathProjects = null;
-
-	// holds references by URI to TLDs
-	Hashtable fClasspathReferences;
-
-	// this table is special in that it holds tables of references according
-	// to local roots
-	Hashtable fImplicitReferences;
-	Hashtable fJARReferences;
-	IProject fProject;
-	Hashtable fServletReferences;
-	Hashtable fTagDirReferences;
-
-	Hashtable fTLDReferences;
-
-	IResourceDeltaVisitor fVisitor;
-
-	private long time0;
-
-	ProjectDescription(IProject project) {
-		super();
-		fProject = project;
-		fClasspathReferences = new Hashtable(0);
-		fClasspathJars = new Hashtable(0);
-		fJARReferences = new Hashtable(0);
-		fTagDirReferences = new Hashtable(0);
-		fTLDReferences = new Hashtable(0);
-		fServletReferences = new Hashtable(0);
-		fImplicitReferences = new Hashtable(0);
-	}
-
-	void updateClasspathLibrary(String libraryLocation, int deltaKind) {
-		String[] entries = JarUtilities.getEntryNames(libraryLocation);
-		JarRecord libraryRecord = (JarRecord) createJARRecord(libraryLocation);
-		fClasspathJars.put(libraryLocation, libraryRecord);
-		for (int i = 0; i < entries.length; i++) {
-			if (entries[i].endsWith(".tld")) { //$NON-NLS-1$
-				InputStream contents = JarUtilities.getInputStream(libraryLocation, entries[i]);
-				if (contents != null) {
-					String uri = extractURI(libraryLocation, contents);
-					if (uri != null && uri.length() > 0) {
-						URLRecord record = new URLRecord();
-						record.uri = uri;
-						record.baseLocation = libraryLocation;
-						try {
-							record.url = new URL("jar:file:" + libraryLocation + "!/" + entries[i]); //$NON-NLS-1$ //$NON-NLS-2$
-							libraryRecord.urlRecords.add(record);
-							fClasspathReferences.put(uri, record);
-							if (_debugIndexCreation)
-								System.out.println("created record for " + uri + "@" + record.getURL()); //$NON-NLS-1$ //$NON-NLS-2$
-						}
-						catch (MalformedURLException e) {
-							// don't record this URI
-							Logger.logException(e);
-						}
-					}
-					try {
-						contents.close();
-					}
-					catch (IOException e) {
-					}
-				}
-			}
-		}
-		TaglibIndex.fireTaglibRecordEvent(new TaglibRecordEvent(libraryRecord, deltaKind));
-	}
-
-	void updateJAR(IResource jar, int deltaKind) {
-		if (_debugIndexCreation)
-			System.out.println("creating records for JAR " + jar.getFullPath()); //$NON-NLS-1$
-		String jarLocationString = jar.getLocation().toString();
-		String[] entries = JarUtilities.getEntryNames(jar);
-		JarRecord jarRecord = (JarRecord) createJARRecord(jar);
-		fJARReferences.put(jar.getFullPath().toString(), jarRecord);
-		for (int i = 0; i < entries.length; i++) {
-			if (entries[i].endsWith(".tld")) { //$NON-NLS-1$
-				InputStream contents = JarUtilities.getInputStream(jar, entries[i]);
-				if (contents != null) {
-					String uri = extractURI(jarLocationString, contents);
-					if (uri != null && uri.length() > 0) {
-						URLRecord record = new URLRecord();
-						record.uri = uri;
-						record.baseLocation = jarLocationString;
-						try {
-							record.url = new URL("jar:file:" + jarLocationString + "!/" + entries[i]); //$NON-NLS-1$ //$NON-NLS-2$
-							jarRecord.urlRecords.add(record);
-							getImplicitReferences(jarLocationString).put(uri, record);
-							if (_debugIndexCreation)
-								System.out.println("created record for " + uri + "@" + record.getURL()); //$NON-NLS-1$ //$NON-NLS-2$
-						}
-						catch (MalformedURLException e) {
-							// don't record this URI
-							Logger.logException(e);
-						}
-					}
-					try {
-						contents.close();
-					}
-					catch (IOException e) {
-					}
-				}
-			}
-		}
-		TaglibIndex.fireTaglibRecordEvent(new TaglibRecordEvent(jarRecord, deltaKind));
-	}
-
-	void updateServlets(IResource webxml, int deltaKind) {
-		if (webxml.getType() != IResource.FILE)
-			return;
-		InputStream webxmlContents = null;
-		Document document = null;
-		try {
-			webxmlContents = ((IFile) webxml).getContents(true);
-			DocumentProvider provider = new DocumentProvider();
-			provider.setInputStream(webxmlContents);
-			provider.setValidating(false);
-			provider.setBaseReference(webxml.getParent().getLocation().toString());
-			document = provider.getDocument();
-		}
-		catch (CoreException e) {
-			Logger.logException(e);
-		}
-		finally {
-			if (webxmlContents != null)
-				try {
-					webxmlContents.close();
-				}
-				catch (IOException e1) {
-					// ignore
-				}
-		}
-		if (document == null)
-			return;
-		if (_debugIndexCreation)
-			System.out.println("creating records for " + webxml.getFullPath()); //$NON-NLS-1$
-
-		ServletRecord servletRecord = new ServletRecord();
-		servletRecord.location = webxml.getLocation();
-		fServletReferences.put(servletRecord.getWebXML().toString(), servletRecord);
-		NodeList taglibs = document.getElementsByTagName(JSP12TLDNames.TAGLIB);
-		for (int i = 0; i < taglibs.getLength(); i++) {
-			String uri = readTextofChild(taglibs.item(i), "taglib-uri").trim(); //$NON-NLS-1$
-			// specified location is relative to root of the webapp
-			String location = readTextofChild(taglibs.item(i), "taglib-location").trim(); //$NON-NLS-1$
-			TLDRecord record = new TLDRecord();
-			record.uri = uri;
-			if (location.startsWith("/")) { //$NON-NLS-1$
-				record.location = ResourcesPlugin.getWorkspace().getRoot().getLocation().append(getLocalRoot(webxml.getLocation().toString()) + location);
-			}
-			else {
-				record.location = new Path(URIHelper.normalize(location, webxml.getLocation().toString(), getLocalRoot(webxml.getLocation().toString())));
-			}
-			servletRecord.tldRecords.add(record);
-			getImplicitReferences(webxml.getLocation().toString()).put(uri, record);
-			if (_debugIndexCreation)
-				System.out.println("created record for " + uri + "@" + record.location); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		TaglibIndex.fireTaglibRecordEvent(new TaglibRecordEvent(servletRecord, deltaKind));
-	}
-
-	void updateTagDir(IResource tagFile, int deltaKind) {
-		return;
-		/**
-		 * Make sure the tag file is n a WEB-INF/tags folder because of the
-		 * shortname computation requirements
-		 */
-		// if ((tagFile.getType() & IResource.FOLDER) > 0 ||
-		// tagFile.getFullPath().toString().indexOf("WEB-INF/tags") < 0)
-		// return;
-		// TagDirRecord record = createTagdirRecord(tagFile);
-		// if (record != null) {
-		// record.tags.add(tagFile.getName());
-		// }
-	}
-
-	void updateTLD(IResource tld, int deltaKind) {
-		if (_debugIndexCreation)
-			System.out.println("creating record for " + tld.getFullPath()); //$NON-NLS-1$
-		TLDRecord record = createTLDRecord(tld);
-		fTLDReferences.put(tld.getFullPath().toString(), record);
-		if (record.uri != null) {
-			getImplicitReferences(tld.getLocation().toString()).put(record.uri, record);
-		}
-		TaglibIndex.fireTaglibRecordEvent(new TaglibRecordEvent(record, deltaKind));
-	}
-
-	void clear() {
-	}
-
-	/**
-	 * @param resource
-	 * @return
-	 */
-	private ITaglibRecord createJARRecord(IResource jar) {
-		return createJARRecord(jar.getLocation().toString());
-	}
-
-	private ITaglibRecord createJARRecord(String fileLocation) {
-		JarRecord record = new JarRecord();
-		record.location = new Path(fileLocation);
-		record.urlRecords = new ArrayList(0);
-		return record;
-	}
-
-	/**
-	 * @return
-	 */
-	TagDirRecord createTagdirRecord(IResource tagFile) {
-		IContainer tagdir = tagFile.getParent();
-		String tagdirLocation = tagdir.getFullPath().toString();
-		TagDirRecord record = (TagDirRecord) fTagDirReferences.get(tagdirLocation);
-		if (record == null) {
-			record = new TagDirRecord();
-			record.location = tagdir.getFullPath();
-			// JSP 2.0 section 8.4.3
-			if (tagdir.getName().equals("tags")) //$NON-NLS-1$
-				record.shortName = "tags"; //$NON-NLS-1$
-			else {
-				IPath tagdirPath = tagdir.getFullPath();
-				String[] segments = tagdirPath.segments();
-				for (int i = 1; record.shortName == null && i < segments.length; i++) {
-					if (segments[i - 1].equals("WEB-INF") && segments[i].equals("tags")) { //$NON-NLS-1$ //$NON-NLS-2$
-						IPath tagdirLocalPath = tagdirPath.removeFirstSegments(i + 1);
-						record.shortName = tagdirLocalPath.toString().replace('/', '-');
-					}
-				}
-			}
-
-		}
-		return record;
-	}
-
-	/**
-	 * @param resource
-	 * @return
-	 */
-	private TLDRecord createTLDRecord(IResource tld) {
-		TLDRecord record = new TLDRecord();
-		record.location = tld.getLocation();
-		InputStream contents = null;
-		try {
-			contents = ((IFile) tld).getContents(true);
-			String baseLocation = record.location.toString();
-			String defaultURI = extractURI(baseLocation, contents);
-			if (defaultURI != null && defaultURI.length() > 0) {
-				record.uri = defaultURI;
-			}
-		}
-		catch (CoreException e) {
-			Logger.logException(e);
-		}
-		finally {
-			try {
-				if (contents != null) {
-					contents.close();
-				}
-			}
-			catch (IOException e) {
-				// ignore
-			}
-		}
-		return record;
-	}
-
-	/**
-	 * @param tldContents
-	 * @return
-	 */
-	private String extractURI(String baseLocation, InputStream tldContents) {
-		StringBuffer uri = new StringBuffer();
-		Node result = null;
-		DocumentProvider provider = new DocumentProvider();
-		provider.setInputStream(tldContents);
-		provider.setValidating(false);
-		provider.setRootElementName(JSP12TLDNames.TAGLIB);
-		provider.setBaseReference(baseLocation);
-		result = provider.getRootElement();
-		if (result.getNodeType() != Node.ELEMENT_NODE)
-			return null;
-		Element taglibElement = (Element) result;
-		if (taglibElement != null) {
-			Node child = taglibElement.getFirstChild();
-			while (child != null && !(child.getNodeType() == Node.ELEMENT_NODE && child.getNodeName().equals(JSP12TLDNames.URI))) {
-				child = child.getNextSibling();
-			}
-			if (child != null) {
-				Node text = child.getFirstChild();
-				while (text != null) {
-					if (text.getNodeType() == Node.TEXT_NODE || text.getNodeType() == Node.CDATA_SECTION_NODE) {
-						uri.append(text.getNodeValue().trim());
-					}
-					text = text.getNextSibling();
-				}
-			}
-		}
-		return uri.toString();
-	}
-
-	synchronized List getAvailableTaglibRecords(IPath location) {
-		Collection implicitReferences = getImplicitReferences(location.toString()).values();
-		List records = new ArrayList(fTLDReferences.size() + fTagDirReferences.size() + fJARReferences.size() + fServletReferences.size());
-		records.addAll(fTLDReferences.values());
-		records.addAll(fTagDirReferences.values());
-		records.addAll(fJARReferences.values());
-		records.addAll(fServletReferences.values());
-		records.addAll(implicitReferences);
-		return records;
-	}
-
-	/**
-	 * @return Returns the implicitReferences for the given path
-	 */
-	Hashtable getImplicitReferences(String location) {
-		String localRoot = getLocalRoot(location);
-		Hashtable implicitReferences = (Hashtable) fImplicitReferences.get(localRoot);
-		if (implicitReferences == null) {
-			implicitReferences = new Hashtable(1);
-			fImplicitReferences.put(localRoot, implicitReferences);
-		}
-		return implicitReferences;
-	}
-
-	/**
-	 * @param baseLocation
-	 * @return the applicable Web context root path, if one exists
-	 */
-	IPath getLocalRoot(IPath baseLocation) {
-		IResource file = FileBuffers.getWorkspaceFileAtLocation(baseLocation);
-		while (file != null) {
-			/**
-			 * Treat any parent folder with a WEB-INF subfolder as a web-app
-			 * root
-			 */
-			IContainer folder = null;
-			if ((file.getType() & IResource.FOLDER) != 0) {
-				folder = (IContainer) file;
-			}
-			else {
-				folder = file.getParent();
-			}
-			// getFolder on a workspace root must use a full path, skip
-			if (folder != null && (folder.getType() & IResource.ROOT) == 0) {
-				IFolder webinf = folder.getFolder(WEB_INF_PATH);
-				if (webinf != null && webinf.exists()) {
-					return folder.getFullPath();
-				}
-			}
-			file = file.getParent();
-		}
-
-		return fProject.getFullPath();
-	}
-
-	/**
-	 * @param baseLocation
-	 * @return
-	 */
-	private String getLocalRoot(String baseLocation) {
-		return getLocalRoot(new Path(baseLocation)).toString();
-	}
-
-	/**
-	 * @return Returns the visitor.
-	 */
-	IResourceDeltaVisitor getVisitor() {
-		if (fVisitor == null) {
-			fVisitor = new DeltaVisitor();
-		}
-		return fVisitor;
-	}
-
-	void index() {
-		time0 = System.currentTimeMillis();
-		fTLDReferences.clear();
-		fJARReferences.clear();
-		fTagDirReferences.clear();
-		fServletReferences.clear();
-		try {
-			fProject.accept(new Indexer(), 0);
-		}
-		catch (CoreException e) {
-			Logger.logException(e);
-		}
-
-		if (_debugIndexTime)
-			System.out.println("indexed " + fProject.getName() + " in " + (System.currentTimeMillis() - time0) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	}
-
-	void indexClasspath() {
-		time0 = System.currentTimeMillis();
-		fClasspathProjects = new Stack();
-		fClasspathReferences.clear();
-		fClasspathJars.clear();
-		IJavaProject javaProject = JavaCore.create(fProject);
-		indexClasspath(javaProject);
-		if (_debugIndexTime)
-			System.out.println("indexed " + fProject.getName() + " classpath in " + (System.currentTimeMillis() - time0) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	}
-
-	/**
-	 * @param entry
-	 */
-	private void indexClasspath(IClasspathEntry entry) {
-		switch (entry.getEntryKind()) {
-			case IClasspathEntry.CPE_CONTAINER : {
-				IClasspathContainer container = (IClasspathContainer) entry;
-				IClasspathEntry[] containedEntries = container.getClasspathEntries();
-				for (int i = 0; i < containedEntries.length; i++) {
-					indexClasspath(containedEntries[i]);
-				}
-			}
-				break;
-			case IClasspathEntry.CPE_LIBRARY : {
-				/*
-				 * Ignore libs in required projects that are not exported
-				 */
-				if (fClasspathProjects.size() < 2 || entry.isExported()) {
-					IPath libPath = entry.getPath();
-					if (!fClasspathJars.containsKey(libPath.toString())) {
-						if (libPath.toFile().exists()) {
-							updateClasspathLibrary(libPath.toString(), ITaglibRecordEvent.CHANGED);
-						}
-						else {
-							IFile libFile = ResourcesPlugin.getWorkspace().getRoot().getFile(libPath);
-							if (libFile != null && libFile.exists()) {
-								updateClasspathLibrary(libFile.getLocation().toString(), ITaglibRecordEvent.CHANGED);
-							}
-						}
-					}
-				}
-			}
-				break;
-			case IClasspathEntry.CPE_PROJECT : {
-				/*
-				 * Ignore required projects of required projects that are not
-				 * exported
-				 */
-				if (fClasspathProjects.size() < 2 || entry.isExported()) {
-					IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(entry.getPath().lastSegment());
-					if (project != null && !fClasspathProjects.contains(project.getName())) {
-						indexClasspath(JavaCore.create(project));
-					}
-				}
-			}
-				break;
-			case IClasspathEntry.CPE_SOURCE :
-				break;
-			case IClasspathEntry.CPE_VARIABLE :
-				break;
-		}
-	}
-
-	/**
-	 * @param javaProject
-	 */
-	private void indexClasspath(IJavaProject javaProject) {
-		if (javaProject != null && javaProject.exists()) {
-			fClasspathProjects.push(javaProject.getElementName());
-			try {
-				IClasspathEntry[] entries = javaProject.getResolvedClasspath(true);
-				for (int i = 0; i < entries.length; i++) {
-					indexClasspath(entries[i]);
-				}
-			}
-			catch (JavaModelException e) {
-				Logger.logException("Error searching Java Build Path + (" + fProject.getName() + ") for tag libraries", e); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-			fClasspathProjects.pop();
-		}
-	}
-
-	protected String readTextofChild(Node node, String childName) {
-		StringBuffer buffer = new StringBuffer();
-		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)) {
-				Node text = child.getFirstChild();
-				while (text != null) {
-					buffer.append(text.getNodeValue().trim());
-					text = text.getNextSibling();
-				}
-			}
-		}
-		return buffer.toString();
-	}
-
-	void removeClasspathLibrary(String libraryLocation) {
-		JarRecord record = (JarRecord) fClasspathJars.remove(libraryLocation);
-		if (record != null) {
-			URLRecord[] records = (URLRecord[]) record.getURLRecords().toArray(new URLRecord[0]);
-			for (int i = 0; i < records.length; i++) {
-				fClasspathReferences.remove(records[i].getURI());
-			}
-			TaglibIndex.fireTaglibRecordEvent(new TaglibRecordEvent(record, ITaglibRecordEvent.REMOVED));
-		}
-	}
-
-	void removeJAR(IResource jar) {
-		if (_debugIndexCreation)
-			System.out.println("removing records for JAR " + jar.getFullPath()); //$NON-NLS-1$
-		JarRecord record = (JarRecord) fJARReferences.remove(jar.getFullPath());
-		if (record != null) {
-			URLRecord[] records = (URLRecord[]) record.getURLRecords().toArray(new URLRecord[0]);
-			for (int i = 0; i < records.length; i++) {
-				getImplicitReferences(jar.getLocation().toString()).remove(records[i].getURI());
-			}
-			TaglibIndex.fireTaglibRecordEvent(new TaglibRecordEvent(record, ITaglibRecordEvent.REMOVED));
-		}
-	}
-
-	void removeServlets(IResource webxml) {
-		if (_debugIndexCreation)
-			System.out.println("removing records for " + webxml.getFullPath()); //$NON-NLS-1$
-		ServletRecord record = (ServletRecord) fServletReferences.remove(webxml.getLocation().toString());
-		if (record != null) {
-			TLDRecord[] records = (TLDRecord[]) record.getTLDRecords().toArray(new TLDRecord[0]);
-			for (int i = 0; i < records.length; i++) {
-				if (_debugIndexCreation)
-					System.out.println("removed record for " + records[i].uri + "@" + records[i].location); //$NON-NLS-1$ //$NON-NLS-2$
-				getImplicitReferences(webxml.getLocation().toString()).remove(records[i].getURI());
-			}
-			TaglibIndex.fireTaglibRecordEvent(new TaglibRecordEvent(record, ITaglibRecordEvent.REMOVED));
-		}
-	}
-
-	void removeTagDir(IResource tagFile) {
-		// IContainer tagdir = tagFile.getParent();
-		// String tagdirLocation = tagdir.getFullPath().toString();
-		// fTagDirReferences.remove(tagdirLocation);
-	}
-
-	void removeTLD(IResource tld) {
-		if (_debugIndexCreation)
-			System.out.println("removing record for " + tld.getFullPath()); //$NON-NLS-1$
-		TLDRecord record = (TLDRecord) fTLDReferences.remove(tld.getFullPath());
-		if (record != null) {
-			if (record.uri != null) {
-				getImplicitReferences(tld.getLocation().toString()).remove(record.uri);
-			}
-			TaglibIndex.fireTaglibRecordEvent(new TaglibRecordEvent(record, ITaglibRecordEvent.REMOVED));
-		}
-	}
-
-	/**
-	 * @param basePath
-	 * @param reference
-	 * @return
-	 */
-	ITaglibRecord resolve(String basePath, String reference) {
-		ITaglibRecord record = null;
-		String location = null;
-
-		/**
-		 * Workaround for problem in URIHelper; uris starting with '/' are
-		 * returned as-is.
-		 */
-		if (reference.startsWith("/")) { //$NON-NLS-1$
-			location = getLocalRoot(basePath) + reference;
-		}
-		else {
-			location = URIHelper.normalize(reference, basePath, getLocalRoot(basePath));
-		}
-		// order dictated by JSP spec 2.0 section 7.2.3
-		if (record == null) {
-			record = (ITaglibRecord) fServletReferences.get(location);
-		}
-		if (record == null) {
-			record = (ITaglibRecord) fJARReferences.get(location);
-		}
-		if (record == null) {
-			record = (ITaglibRecord) fTLDReferences.get(location);
-		}
-		if (record == null) {
-			record = (ITaglibRecord) getImplicitReferences(basePath).get(reference);
-		}
-		if (record == null) {
-			record = (ITaglibRecord) fTagDirReferences.get(location);
-		}
-		if (record == null) {
-			record = (ITaglibRecord) fClasspathReferences.get(reference);
-		}
-		return record;
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/ServletRecord.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/ServletRecord.java
deleted file mode 100644
index c801f4d..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/ServletRecord.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.jsp.core.internal.contentmodel;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IPath;
-
-
-public class ServletRecord implements ITaglibRecord {
-	IPath location;
-	List tldRecords = new ArrayList(0);
-
-	public boolean equals(Object obj) {
-		if (!(obj instanceof ServletRecord))
-			return false;
-		return ((ServletRecord) obj).location.equals(location);
-	}
-
-	public int getRecordType() {
-		return ITaglibRecord.WEB_XML;
-	}
-
-	/**
-	 * @return Returns the webxml.
-	 */
-	public IPath getWebXML() {
-		return location;
-	}
-
-	/**
-	 * 
-	 */
-	public List getTLDRecords() {
-		return tldRecords;
-	}
-
-	public String toString() {
-		return "ServletRecord: " + location + tldRecords; //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/TLDRecord.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/TLDRecord.java
deleted file mode 100644
index b3af0f9..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/TLDRecord.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.jsp.core.internal.contentmodel;
-
-import org.eclipse.core.runtime.IPath;
-
-
-public class TLDRecord implements ITaglibRecord {
-	IPath location;
-	String uri;
-
-	public boolean equals(Object obj) {
-		if (!(obj instanceof TLDRecord))
-			return false;
-		return ((TLDRecord) obj).location.equals(location);
-	}
-
-	public int getRecordType() {
-		return ITaglibRecord.TLD;
-	}
-
-	/**
-	 * @return Returns the filesystem location.
-	 */
-	public IPath getLocation() {
-		return location;
-	}
-
-	/**
-	 * @return Returns the uri.
-	 */
-	public String getURI() {
-		return uri;
-	}
-
-	public String toString() {
-		return "TLDRecord: " + location + " <-> " + uri; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/TagDirRecord.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/TagDirRecord.java
deleted file mode 100644
index 8967f0d..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/TagDirRecord.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.jsp.core.internal.contentmodel;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IPath;
-
-
-public class TagDirRecord implements ITaglibRecord {
-	IPath location;
-	String shortName;
-	// a List holding Strings of .tag and .tagx filenames relative to the
-	// tagdir's location
-	List tags = new ArrayList(0);
-
-	public boolean equals(Object obj) {
-		if (!(obj instanceof TagDirRecord))
-			return false;
-		return ((TagDirRecord) obj).location.equals(location);
-	}
-
-	/**
-	 * @return Returns the location.
-	 */
-	public IPath getLocation() {
-		return location;
-	}
-
-	public int getRecordType() {
-		return ITaglibRecord.TAGDIR;
-	}
-
-	/**
-	 * @return Returns the shortName.
-	 */
-	public String getShortName() {
-		return shortName;
-	}
-
-	/**
-	 * @return Returns the tags.
-	 */
-	public String[] getTags() {
-		return (String[]) tags.toArray(new String[tags.size()]);
-	}
-
-	public String toString() {
-		return "TagdirRecord: " + location + " <-> " + shortName; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/TaglibController.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/TaglibController.java
deleted file mode 100644
index 31b986f..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/TaglibController.java
+++ /dev/null
@@ -1,284 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.jsp.core.internal.contentmodel;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.filebuffers.FileBuffers;
-import org.eclipse.core.filebuffers.IDocumentSetupParticipant;
-import org.eclipse.core.filebuffers.IFileBuffer;
-import org.eclipse.core.filebuffers.IFileBufferListener;
-import org.eclipse.core.filebuffers.ITextFileBuffer;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager;
-import org.eclipse.jst.jsp.core.internal.parser.JSPSourceParser;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.internal.text.BasicStructuredDocument;
-import org.eclipse.wst.sse.core.internal.util.Assert;
-
-/**
- * Provides a direct mapping from IStructuredDocument to supporting
- * TLDCMDocumentManager.
- * 
- * Listens to the creation of JSP type TextFileBuffers and forces a text-less
- * reparse after connecting taglib-supporting listeners. Connecting the
- * listeners before the text is set would be ideal, but there is no way to
- * look up taglib references since the location is not yet knowable. Since
- * taglibs can affect the parsing of the document, a reparse is currently
- * required to react to custom tags with tagdependent content.
- * 
- * TODO: Remove the reparse penalty.
- */
-public class TaglibController implements IDocumentSetupParticipant {
-
-	class DocumentInfo implements ITaglibIndexListener {
-		IStructuredDocument document;
-		ITextFileBuffer textFileBuffer;
-		TLDCMDocumentManager tldDocumentManager;
-
-		public void indexChanged(ITaglibRecordEvent event) {
-			tldDocumentManager.indexChanged(event);
-		}
-	}
-
-	class FileBufferListener implements IFileBufferListener {
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.core.filebuffers.IFileBufferListener#bufferContentAboutToBeReplaced(org.eclipse.core.filebuffers.IFileBuffer)
-		 */
-		public void bufferContentAboutToBeReplaced(IFileBuffer buffer) {
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.core.filebuffers.IFileBufferListener#bufferContentReplaced(org.eclipse.core.filebuffers.IFileBuffer)
-		 */
-		public void bufferContentReplaced(IFileBuffer buffer) {
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.core.filebuffers.IFileBufferListener#bufferCreated(org.eclipse.core.filebuffers.IFileBuffer)
-		 */
-		public void bufferCreated(IFileBuffer buffer) {
-			if (buffer instanceof ITextFileBuffer) {
-				IDocument document = ((ITextFileBuffer) buffer).getDocument();
-				// ignore non-JSP documents
-				synchronized (fJSPdocuments) {
-					if (!fJSPdocuments.contains(document))
-						return;
-				}
-				Assert.isTrue(document instanceof IStructuredDocument, getClass().getName() + " SetupParticipant was called for non-IStructuredDocument"); //$NON-NLS-1$
-				DocumentInfo info = new DocumentInfo();
-				info.document = (IStructuredDocument) document;
-				info.textFileBuffer = (ITextFileBuffer) buffer;
-				info.tldDocumentManager = new TLDCMDocumentManager();
-				info.tldDocumentManager.setSourceParser((JSPSourceParser) info.document.getParser());
-				synchronized (fDocumentMap) {
-					fDocumentMap.put(document, info);
-					TaglibIndex.addTaglibIndexListener(info);
-				}
-				if (document instanceof BasicStructuredDocument) {
-					((BasicStructuredDocument) document).reparse(this);
-				}
-				// info.tldDocumentManager.doRebuild();
-			}
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.core.filebuffers.IFileBufferListener#bufferDisposed(org.eclipse.core.filebuffers.IFileBuffer)
-		 */
-		public void bufferDisposed(IFileBuffer buffer) {
-			if (buffer instanceof ITextFileBuffer) {
-				IDocument document = ((ITextFileBuffer) buffer).getDocument();
-				synchronized (fJSPdocuments) {
-					if (!fJSPdocuments.remove(document))
-						return;
-				}
-			}
-			synchronized (fDocumentMap) {
-				Object[] keys = fDocumentMap.keySet().toArray();
-				boolean removed = false;
-				for (int i = 0; i < keys.length && !removed; i++) {
-					DocumentInfo info = (DocumentInfo) fDocumentMap.get(keys[i]);
-					if (info != null && info.textFileBuffer.equals(buffer)) {
-						TaglibIndex.removeTaglibIndexListener(info);
-						fDocumentMap.remove(keys[i]);
-						removed = true;
-					}
-				}
-			}
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.core.filebuffers.IFileBufferListener#dirtyStateChanged(org.eclipse.core.filebuffers.IFileBuffer,
-		 *      boolean)
-		 */
-		public void dirtyStateChanged(IFileBuffer buffer, boolean isDirty) {
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.core.filebuffers.IFileBufferListener#stateChangeFailed(org.eclipse.core.filebuffers.IFileBuffer)
-		 */
-		public void stateChangeFailed(IFileBuffer buffer) {
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.core.filebuffers.IFileBufferListener#stateChanging(org.eclipse.core.filebuffers.IFileBuffer)
-		 */
-		public void stateChanging(IFileBuffer buffer) {
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.core.filebuffers.IFileBufferListener#stateValidationChanged(org.eclipse.core.filebuffers.IFileBuffer,
-		 *      boolean)
-		 */
-		public void stateValidationChanged(IFileBuffer buffer, boolean isStateValidated) {
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.core.filebuffers.IFileBufferListener#underlyingFileDeleted(org.eclipse.core.filebuffers.IFileBuffer)
-		 */
-		public void underlyingFileDeleted(IFileBuffer buffer) {
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.core.filebuffers.IFileBufferListener#underlyingFileMoved(org.eclipse.core.filebuffers.IFileBuffer,
-		 *      org.eclipse.core.runtime.IPath)
-		 */
-		public void underlyingFileMoved(IFileBuffer buffer, IPath path) {
-		}
-
-
-	}
-
-	static TaglibController _instance = null;
-	static private boolean fIsShutdown = false;
-
-	public static ITextFileBuffer getFileBuffer(IDocument document) {
-		synchronized (_instance.fDocumentMap) {
-			DocumentInfo info = (DocumentInfo) _instance.fDocumentMap.get(document);
-			if (info != null)
-				return info.textFileBuffer;
-			return null;
-		}
-	}
-
-	/**
-	 * @param manager
-	 * @return
-	 */
-	public static ITextFileBuffer getFileBuffer(TLDCMDocumentManager manager) {
-		// if _instance is null, we are already shutting donw
-		if (_instance == null)
-			return null;
-
-		ITextFileBuffer buffer = null;
-		synchronized (_instance.fDocumentMap) {
-			Iterator docInfos = _instance.fDocumentMap.values().iterator();
-			while (docInfos.hasNext() && buffer == null) {
-				DocumentInfo info = (DocumentInfo) docInfos.next();
-				if (info.tldDocumentManager.equals(manager))
-					buffer = info.textFileBuffer;
-			}
-		}
-		return buffer;
-	}
-
-	public static TLDCMDocumentManager getTLDCMDocumentManager(IDocument document) {
-		// if _instance is null, we are already shutting donw
-		if (_instance == null)
-			return null;
-		synchronized (_instance.fDocumentMap) {
-			DocumentInfo info = (DocumentInfo) _instance.fDocumentMap.get(document);
-			if (info != null)
-				return info.tldDocumentManager;
-			return null;
-
-		}
-	}
-
-	public synchronized static void shutdown() {
-		setShutdown(true);
-		FileBuffers.getTextFileBufferManager().removeFileBufferListener(_instance.fBufferListener);
-		_instance = null;
-	}
-
-	public synchronized static void startup() {
-		_instance = new TaglibController();
-		FileBuffers.getTextFileBufferManager().addFileBufferListener(_instance.fBufferListener);
-		setShutdown(false);
-	}
-
-	IFileBufferListener fBufferListener;
-	Map fDocumentMap;
-
-	List fJSPdocuments;
-
-	// This constructor is only to be called as part of the FileBuffer
-	// framework
-	public TaglibController() {
-		super();
-		fBufferListener = new FileBufferListener();
-		fJSPdocuments = new ArrayList(1);
-		fDocumentMap = new HashMap(1);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.filebuffers.IDocumentSetupParticipant#setup(org.eclipse.jface.text.IDocument)
-	 */
-	public void setup(IDocument document) {
-		// if we've already shutdown, just ignore
-		if (isShutdown())
-			return;
-		synchronized (_instance.fJSPdocuments) {
-			_instance.fJSPdocuments.add(document);
-		}
-	}
-
-	private static synchronized boolean isShutdown() {
-		return fIsShutdown;
-	}
-
-
-	private static synchronized void setShutdown(boolean isShutdown) {
-		fIsShutdown = isShutdown;
-	}
-
-
-
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/TaglibIndex.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/TaglibIndex.java
deleted file mode 100644
index 8d6fe1d..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/TaglibIndex.java
+++ /dev/null
@@ -1,461 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.jsp.core.internal.contentmodel;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Stack;
-
-import org.eclipse.core.filebuffers.FileBuffers;
-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.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jdt.core.ElementChangedEvent;
-import org.eclipse.jdt.core.IElementChangedListener;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaElementDelta;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jst.jsp.core.internal.Logger;
-import org.eclipse.wst.common.uriresolver.internal.util.URIHelper;
-import org.eclipse.wst.sse.core.internal.util.StringUtils;
-
-/**
- * @author nitin
- * 
- * A non-extendable index manager for taglibs similar to the J2EE
- * ITaglibRegistry but lacking any ties to project natures.
- * 
- * Indexing is not persisted between sessions, so new ADD events will be sent
- * to ITaglibIndexListeners during each workbench session. REMOVE events are
- * not fired on workbench shutdown. Events for TAGDIR, JAR, and WEBXML type
- * records are only fired for the .jar and web.xml file itself. The record's
- * contents should be examined for any further information.
- */
-public class TaglibIndex {
-
-	class ClasspathChangeListener implements IElementChangedListener {
-		Stack classpathStack = new Stack();
-		List projectsIndexed = new ArrayList(1);
-
-		public void elementChanged(ElementChangedEvent event) {
-			if (!isIndexAvailable())
-				return;
-			classpathStack.clear();
-			projectsIndexed.clear();
-			elementChanged(event.getDelta());
-		}
-
-		private void elementChanged(IJavaElementDelta delta) {
-			if (delta.getElement().getElementType() == IJavaElement.JAVA_MODEL) {
-				IJavaElementDelta[] changed = delta.getChangedChildren();
-				for (int i = 0; i < changed.length; i++) {
-					elementChanged(changed[i]);
-				}
-			}
-			else if (delta.getElement().getElementType() == IJavaElement.JAVA_PROJECT) {
-				if ((delta.getFlags() & IJavaElementDelta.F_CLASSPATH_CHANGED) != 0) {
-					IJavaElement proj = delta.getElement();
-					handleClasspathChange((IJavaProject) proj);
-				}
-			}
-		}
-
-		private void handleClasspathChange(IJavaProject project) {
-			classpathStack.push(project.getElementName());
-			try {
-				/* Handle changes to this project's build path */
-				IResource resource = project.getCorrespondingResource();
-				if (resource.getType() == IResource.PROJECT && !projectsIndexed.contains(resource)) {
-					projectsIndexed.add(resource);
-					boolean classpathIndexIsOld = fProjectDescriptions.containsKey(resource);
-					ProjectDescription description = createDescription((IProject) resource);
-					if (classpathIndexIsOld) {
-						description.indexClasspath();
-					}
-				}
-				/*
-				 * Update indeces for projects who include this project in
-				 * their build path (e.g. toggling the "exportation" of a
-				 * taglib JAR in this project affects the JAR's visibility in
-				 * other projects)
-				 */
-				IJavaProject[] projects = project.getJavaModel().getJavaProjects();
-				for (int i = 0; i < projects.length; i++) {
-					IJavaProject otherProject = projects[i];
-					if (StringUtils.contains(otherProject.getRequiredProjectNames(), project.getElementName(), false) && !classpathStack.contains(otherProject.getElementName())) {
-						handleClasspathChange(otherProject);
-					}
-				}
-			}
-			catch (JavaModelException e) {
-			}
-			classpathStack.pop();
-		}
-	}
-
-	class ResourceChangeListener implements IResourceChangeListener {
-		public void resourceChanged(IResourceChangeEvent event) {
-			if (!isIndexAvailable())
-				return;
-			switch (event.getType()) {
-				case IResourceChangeEvent.PRE_CLOSE :
-				case IResourceChangeEvent.PRE_DELETE : {
-					try {
-						// pair deltas with projects
-						IResourceDelta[] deltas = new IResourceDelta[]{event.getDelta()};
-						IProject[] projects = null;
-
-						if (deltas != null && deltas.length > 0) {
-							IResource resource = null;
-							if (deltas[0] != null) {
-								resource = deltas[0].getResource();
-							}
-							else {
-								resource = event.getResource();
-							}
-
-							if (resource != null) {
-								if (resource.getType() == IResource.ROOT) {
-									deltas = deltas[0].getAffectedChildren();
-									projects = new IProject[deltas.length];
-									for (int i = 0; i < deltas.length; i++) {
-										if (deltas[i].getResource().getType() == IResource.PROJECT) {
-											projects[i] = (IProject) deltas[i].getResource();
-										}
-									}
-								}
-								else {
-									projects = new IProject[1];
-									if (resource.getType() != IResource.PROJECT) {
-										projects[0] = resource.getProject();
-									}
-									else {
-										projects[0] = (IProject) resource;
-									}
-								}
-							}
-							for (int i = 0; i < projects.length; i++) {
-								if (_debugIndexCreation) {
-									System.out.println("TaglibIndex noticed " + projects[i].getName() + " is about to be deleted/closed"); //$NON-NLS-1$ //$NON-NLS-2$
-								}
-								ProjectDescription description = (ProjectDescription) fProjectDescriptions.remove(projects[i]);
-								if (description != null) {
-									if (_debugIndexCreation) {
-										System.out.println("removing index of " + description.fProject.getName()); //$NON-NLS-1$
-									}
-									description.clear();
-								}
-							}
-						}
-					}
-					catch (Exception e) {
-						Logger.logException("Exception while processing resource deletion", e); //$NON-NLS-1$
-					}
-				}
-				case IResourceChangeEvent.POST_CHANGE : {
-					try {
-						// pair deltas with projects
-						IResourceDelta[] deltas = new IResourceDelta[]{event.getDelta()};
-						IProject[] projects = null;
-
-						if (deltas != null && deltas.length > 0) {
-							IResource resource = null;
-							if (deltas[0] != null) {
-								resource = deltas[0].getResource();
-							}
-							else {
-								resource = event.getResource();
-							}
-
-							if (resource != null) {
-								if (resource.getType() == IResource.ROOT) {
-									deltas = deltas[0].getAffectedChildren();
-									projects = new IProject[deltas.length];
-									for (int i = 0; i < deltas.length; i++) {
-										if (deltas[i].getResource().getType() == IResource.PROJECT) {
-											projects[i] = (IProject) deltas[i].getResource();
-										}
-									}
-								}
-								else {
-									projects = new IProject[1];
-									if (resource.getType() != IResource.PROJECT) {
-										projects[0] = resource.getProject();
-									}
-									else {
-										projects[0] = (IProject) resource;
-									}
-								}
-							}
-							for (int i = 0; i < projects.length; i++) {
-								try {
-									if (deltas[i] != null && deltas[i].getKind() != IResourceDelta.REMOVED && projects[i].isAccessible()) {
-										ProjectDescription description = createDescription(projects[i]);
-										deltas[i].accept(description.getVisitor());
-									}
-									if (!projects[i].isAccessible() || (deltas[i] != null && deltas[i].getKind() == IResourceDelta.REMOVED)) {
-										if (_debugIndexCreation) {
-											System.out.println("TaglibIndex noticed " + projects[i].getName() + " is no longer accessible"); //$NON-NLS-1$ //$NON-NLS-2$
-										}
-										ProjectDescription description = (ProjectDescription) fProjectDescriptions.remove(projects[i]);
-										if (description != null) {
-											if (_debugIndexCreation) {
-												System.out.println("removing index of " + description.fProject.getName()); //$NON-NLS-1$
-											}
-											description.clear();
-										}
-									}
-								}
-								catch (CoreException e) {
-									Logger.logException(e);
-								}
-							}
-						}
-					}
-					catch (Exception e) {
-						Logger.logException("Exception while processing resource change", e); //$NON-NLS-1$
-					}
-				}
-			}
-		}
-	}
-
-	static final boolean _debugChangeListener = false;
-
-	static boolean _debugEvents = "true".equalsIgnoreCase(Platform.getDebugOption("org.eclipse.jst.jsp.core/taglib/events")); //$NON-NLS-1$ //$NON-NLS-2$
-	static boolean _debugIndexCreation = "true".equalsIgnoreCase(Platform.getDebugOption("org.eclipse.jst.jsp.core/taglib/indexcreation")); //$NON-NLS-1$ //$NON-NLS-2$
-	static final boolean _debugResolution = "true".equals(Platform.getDebugOption("org.eclipse.jst.jsp.core/taglib/resolve")); //$NON-NLS-1$ //$NON-NLS-2$
-	static TaglibIndex _instance;
-
-	public static void addTaglibIndexListener(ITaglibIndexListener listener) {
-		_instance.internalAddTaglibIndexListener(listener);
-	}
-
-	static void fireTaglibRecordEvent(ITaglibRecordEvent event) {
-		if (_debugEvents) {
-			System.out.println("TaglibIndex fired event:" + event); //$NON-NLS-1$
-		}
-		ITaglibIndexListener[] listeners = _instance.fTaglibIndexListeners;
-		if (listeners != null) {
-			for (int i = 0; i < listeners.length; i++) {
-				try {
-					listeners[i].indexChanged(event);
-				}
-				catch (Exception e) {
-					Logger.log(Logger.WARNING, e.getMessage());
-				}
-			}
-		}
-	}
-
-	/**
-	 * Returns all of the visible ITaglibRecords for the given filepath in the
-	 * workspace.
-	 * 
-	 * @param workspacePath
-	 * @return
-	 */
-	public static ITaglibRecord[] getAvailableTaglibRecords(IPath workspacePath) {
-		ITaglibRecord[] records = _instance.internalGetAvailableTaglibRecords(workspacePath);
-		return records;
-	}
-
-	public static IPath getContextRoot(IPath path) {
-		return _instance.internalGetContextRoot(path);
-	}
-
-	public static void removeTaglibIndexListener(ITaglibIndexListener listener) {
-		_instance.internalRemoveTaglibIndexListener(listener);
-	}
-
-	/**
-	 * Find a matching ITaglibRecord given the reference.
-	 * 
-	 * @param basePath -
-	 *            the workspace-relative path for IResources, full filesystem
-	 *            path otherwise
-	 * @param reference
-	 * @param crossProjects
-	 * @return
-	 */
-	public static ITaglibRecord resolve(String basePath, String reference, boolean crossProjects) {
-		ITaglibRecord result = _instance.internalResolve(basePath, reference, crossProjects);
-		if (_debugResolution) {
-			if (result == null) {
-				System.out.println("TaglibIndex could not resolve \"" + reference + "\" from " + basePath); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-			else {
-				switch (result.getRecordType()) {
-					case (ITaglibRecord.TLD) : {
-						TLDRecord record = (TLDRecord) result;
-						System.out.println("TaglibIndex resolved " + basePath + ":" + reference + " = " + record.getLocation()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-					}
-						break;
-					case (ITaglibRecord.JAR) : {
-						JarRecord record = (JarRecord) result;
-						System.out.println("TaglibIndex resolved " + basePath + ":" + reference + " = " + record.getLocation()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-					}
-						break;
-					case (ITaglibRecord.TAGDIR) : {
-					}
-						break;
-					case (ITaglibRecord.URL) : {
-						URLRecord record = (URLRecord) result;
-						System.out.println("TaglibIndex resolved " + basePath + ":" + reference + " = " + record.getURL()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-					}
-						break;
-				}
-			}
-		}
-		return result;
-	}
-
-	public static synchronized void shutdown() {
-		if (_instance != null) {
-			_instance.stop();
-		}
-		_instance = null;
-	}
-
-	public static synchronized void startup() {
-		_instance = new TaglibIndex();
-	}
-
-	private ClasspathChangeListener fClasspathChangeListener = null;
-
-	private Map fProjectDescriptions;
-	private ResourceChangeListener fResourceChangeListener;
-	private ITaglibIndexListener[] fTaglibIndexListeners = null;
-	private TaglibIndex() {
-		super();
-		fResourceChangeListener = new ResourceChangeListener();
-		ResourcesPlugin.getWorkspace().addResourceChangeListener(fResourceChangeListener, IResourceChangeEvent.POST_CHANGE);
-		fClasspathChangeListener = new ClasspathChangeListener();
-		JavaCore.addElementChangedListener(fClasspathChangeListener);
-		fProjectDescriptions = new HashMap();
-	}
-
-	/**
-	 * @param project
-	 * @return
-	 */
-	ProjectDescription createDescription(IProject project) {
-		ProjectDescription description = (ProjectDescription) fProjectDescriptions.get(project);
-		if (description == null) {
-			description = new ProjectDescription(project);
-			description.index();
-			description.indexClasspath();
-			fProjectDescriptions.put(project, description);
-		}
-		return description;
-	}
-
-	private synchronized void internalAddTaglibIndexListener(ITaglibIndexListener listener) {
-		if (fTaglibIndexListeners == null) {
-			fTaglibIndexListeners = new ITaglibIndexListener[]{listener};
-		}
-		else {
-			List listeners = new ArrayList(Arrays.asList(fTaglibIndexListeners));
-			listeners.add(listener);
-			fTaglibIndexListeners = (ITaglibIndexListener[]) listeners.toArray(new ITaglibIndexListener[0]);
-		}
-	}
-
-	private ITaglibRecord[] internalGetAvailableTaglibRecords(IPath location) {
-		ITaglibRecord[] records = null;
-		IFile baseResource = ResourcesPlugin.getWorkspace().getRoot().getFile(location);
-		if (baseResource != null) {
-			IProject project = baseResource.getProject();
-			ProjectDescription description = createDescription(project);
-			List availableRecords = description.getAvailableTaglibRecords(location);
-			records = (ITaglibRecord[]) availableRecords.toArray(records);
-		}
-		else {
-			records = new ITaglibRecord[0];
-		}
-		return records;
-	}
-
-	private IPath internalGetContextRoot(IPath path) {
-		IFile baseResource = FileBuffers.getWorkspaceFileAtLocation(path);
-		if (baseResource != null) {
-			IProject project = baseResource.getProject();
-			ProjectDescription description = _instance.createDescription(project);
-			IPath rootPath = description.getLocalRoot(baseResource.getFullPath());
-			return ResourcesPlugin.getWorkspace().getRoot().getLocation().append(rootPath);
-		}
-		// try to handle out-of-workspace paths
-		IPath root = path;
-		while (root != null && !root.isRoot())
-			root = root.removeLastSegments(1);
-		if (root == null)
-			root = path;
-		return root;
-	}
-
-	private synchronized void internalRemoveTaglibIndexListener(ITaglibIndexListener listener) {
-		if (fTaglibIndexListeners != null) {
-			List listeners = new ArrayList(Arrays.asList(fTaglibIndexListeners));
-			listeners.remove(listener);
-			fTaglibIndexListeners = (ITaglibIndexListener[]) listeners.toArray(new ITaglibIndexListener[0]);
-		}
-	}
-
-	private ITaglibRecord internalResolve(String basePath, String reference, boolean crossProjects) {
-		IProject project = null;
-		ITaglibRecord resolved = null;
-		IFile baseResource = FileBuffers.getWorkspaceFileAtLocation(new Path(basePath));
-		if (baseResource != null) {
-			project = baseResource.getProject();
-			ProjectDescription description = createDescription(project);
-			resolved = description.resolve(basePath, reference);
-		}
-		else {
-			// try simple file support outside of the workspace
-			File baseFile = FileBuffers.getSystemFileAtLocation(new Path(basePath));
-			if (baseFile != null) {
-				String normalizedReference = URIHelper.normalize(reference, basePath, "/"); //$NON-NLS-1$
-				if (normalizedReference != null) {
-					TLDRecord record = new TLDRecord();
-					record.location = new Path(normalizedReference);
-					record.uri = reference;
-					resolved = record;
-				}
-			}
-		}
-		return resolved;
-	}
-
-	boolean isIndexAvailable() {
-		return _instance != null;
-	}
-
-	private void stop() {
-		ResourcesPlugin.getWorkspace().removeResourceChangeListener(fResourceChangeListener);
-		JavaCore.removeElementChangedListener(fClasspathChangeListener);
-		fProjectDescriptions.clear();
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/URLRecord.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/URLRecord.java
deleted file mode 100644
index 62aba77..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/URLRecord.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.jsp.core.internal.contentmodel;
-
-import java.net.URL;
-
-public class URLRecord implements ITaglibRecord {
-	URL url;
-	String uri;
-	String baseLocation;
-
-	public boolean equals(Object obj) {
-		if (!(obj instanceof URLRecord))
-			return false;
-		return ((URLRecord) obj).baseLocation.equals(baseLocation) || ((URLRecord) obj).uri.equals(uri) || ((URLRecord) obj).url.equals(url);
-	}
-
-	public String getBaseLocation() {
-		return baseLocation;
-	}
-
-	public URLRecord() {
-		super();
-	}
-
-	public int getRecordType() {
-		return ITaglibRecord.URL;
-	}
-
-	/**
-	 * @return Returns the uri.
-	 */
-	public String getURI() {
-		return uri;
-	}
-
-	/**
-	 * @return Returns the URL.
-	 */
-	public URL getURL() {
-		return url;
-	}
-
-	public String toString() {
-		return "URLRecord: " + baseLocation + " <-> " + uri; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/CMAttributeDeclarationImpl.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/CMAttributeDeclarationImpl.java
deleted file mode 100644
index c018b77..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/CMAttributeDeclarationImpl.java
+++ /dev/null
@@ -1,259 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.contentmodel.tld;
-
-
-
-import java.util.Enumeration;
-
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.JSP12TLDNames;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDAttributeDeclaration;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDDocument;
-import org.eclipse.wst.sse.core.internal.util.StringUtils;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMDataType;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMDocument;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMNode;
-
-public class CMAttributeDeclarationImpl implements TLDAttributeDeclaration {
-
-	private CMDataType attrType = new CMDataTypeImpl(CMDataType.CDATA);
-	private String fDescription;
-	
-	//
-	private boolean fIsFragment = false;
-
-	private CMDocument fOwnerDocument;
-	// optional id
-	private String id = null;
-
-	// required name
-	private String name = null;
-	// optional "required" element present, defaults to not present
-	private boolean required = false;
-	
-	// optional run-time (scriplet derived) value of attributes, defaults to none/false
-	private String rtexprvalue = null;
-
-	private String type = null;
-
-	/**
-	 * CMAttributeDeclarationImpl constructor comment.
-	 */
-	public CMAttributeDeclarationImpl(CMDocument owner) {
-		super();
-		fOwnerDocument = owner;
-	}
-
-	/**
-	 * getAttrName method
-	 * @return java.lang.String
-	 */
-	public String getAttrName() {
-		return getNodeName();
-	}
-
-	/**
-	 * getAttrType method
-	 * @return CMDataType
-	 */
-	public CMDataType getAttrType() {
-		return attrType;
-	}
-
-	/**
-	 * @deprecated in superclass
-	 */
-	public String getDefaultValue() {
-		return ""; //$NON-NLS-1$
-	}
-	/**
-	 * @return Returns the description.
-	 */
-	public String getDescription() {
-		return fDescription;
-	}
-
-	/**
-	 * @deprecated in superclass
-	 */
-	public Enumeration getEnumAttr() {
-		return null;
-	}
-
-	/**
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getId() {
-		return id;
-	}
-
-	/**
-	 * getNodeName method
-	 * @return java.lang.String
-	 */
-	public String getNodeName() {
-		return name;
-	}
-
-	/**
-	 * getNodeType method
-	 * @return int
-	 *
-	 * Returns one of :
-	 *
-	 */
-	public int getNodeType() {
-		return CMNode.ATTRIBUTE_DECLARATION;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.jsp.core.contentmodel.tld.TLDAttributeDeclaration#getOwnerDocument()
-	 */
-	public CMDocument getOwnerDocument() {
-		return fOwnerDocument;
-	}
-
-	/**
-	 * getProperty method
-	 * @return java.lang.Object
-	 *
-	 * Returns the object property desciped by the propertyName
-	 *
-	 */
-	public Object getProperty(String propertyName) {
-		if (propertyName != null && propertyName.equals(JSP12TLDNames.DESCRIPTION)) {
-			return getDescription(); // return attribute description
-		}
-		else if (propertyName.equals(TLDDocument.CM_KIND)) {
-			return TLDDocument.JSP_TLD;
-		}
-		else if (propertyName.equals(JSP12TLDNames.SMALL_ICON) || propertyName.equals(JSP12TLDNames.LARGE_ICON)) {
-			return getOwnerDocument().getProperty(propertyName);
-		}
-		return null;
-	}
-
-	/**
-	 * 
-	 * @return java.lang.String
-	 */
-	public java.lang.String getRtexprvalue() {
-		return rtexprvalue;
-	}
-
-	public String getType() {
-		return type;
-	}
-
-	/**
-	 * getUsage method
-	 * @return int
-	 * OPTIONAL|REQUIRED
-	 */
-	public int getUsage() {
-		return required ? REQUIRED : OPTIONAL;
-	}
-	/**
-	 * @return Returns the isFragment.
-	 */
-	public boolean isFragment() {
-		return fIsFragment;
-	}
-
-	/**
-	 * 
-	 * @return boolean
-	 */
-	public boolean isRequired() {
-		return required;
-	}
-	/**
-	 * @param description The description to set.
-	 */
-	public void setDescription(String description) {
-		fDescription = description;
-	}
-	/**
-	 * @param isFragment The isFragment to set.
-	 */
-	public void setFragment(boolean isFragment) {
-		fIsFragment = isFragment;
-	}
-
-	/**
-	 * 
-	 * @param newId java.lang.String
-	 */
-	public void setId(String newId) {
-		id = newId;
-	}
-
-	public void setNodeName(String string) {
-		name = string;
-	}
-
-	/**
-	 * 
-	 * @param newRequired boolean
-	 */
-	public void setRequired(boolean newRequired) {
-		required = newRequired;
-	}
-
-	/**
-	 * 
-	 * @param newRequired boolean
-	 */
-	public void setRequiredString(String newRequired) {
-		if (newRequired.equalsIgnoreCase("true") || newRequired.equalsIgnoreCase("yes")) //$NON-NLS-2$//$NON-NLS-1$
-			setRequired(true);
-		else if (newRequired.equalsIgnoreCase("false") || newRequired.equalsIgnoreCase("no")) //$NON-NLS-2$//$NON-NLS-1$
-			setRequired(false);
-	}
-
-	/**
-	 * 
-	 * @param newRtexprvalue java.lang.String
-	 */
-	public void setRtexprvalue(String newRtexprvalue) {
-		rtexprvalue = newRtexprvalue;
-	}
-
-	public void setType(String type) {
-		this.type = type;
-	}
-
-	/**
-	 * supports method
-	 * 
-	 * @return boolean
-	 * 
-	 * Returns true if the CMNode supports a specified property
-	 * 
-	 */
-	public boolean supports(String propertyName) {
-		return propertyName == null || propertyName.equals(JSP12TLDNames.DESCRIPTION) || propertyName.equals(TLDDocument.CM_KIND) || propertyName.equals(JSP12TLDNames.SMALL_ICON) || propertyName.equals(JSP12TLDNames.LARGE_ICON);
-	}
-
-	public String toString() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("\n\t " + super.toString()); //$NON-NLS-1$
-		buffer.append("\n\t name:" + StringUtils.escape(getNodeName())); //$NON-NLS-1$
-		// Boolean.toString(boolean) is introduced in 1.4
-		//buffer.append("\n\t required:" + StringUtils.escape(Boolean.toString(isRequired())));
-		buffer.append("\n\t required:" + StringUtils.toString(isRequired())); //$NON-NLS-1$
-		buffer.append("\n\t rtexpr:" + StringUtils.escape(getRtexprvalue())); //$NON-NLS-1$
-		if (getId() != null)
-			buffer.append("\n\t id:" + StringUtils.escape(getId())); //$NON-NLS-1$
-		return buffer.toString();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/CMDataTypeImpl.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/CMDataTypeImpl.java
deleted file mode 100644
index 06e0817..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/CMDataTypeImpl.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.contentmodel.tld;
-
-
-
-import org.eclipse.wst.xml.core.internal.contentmodel.CMDataType;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMNode;
-
-public class CMDataTypeImpl implements CMDataType {
-
-	protected String dataTypeName;
-
-	public CMDataTypeImpl(String dataTypeName) {
-		this.dataTypeName = dataTypeName;
-	}
-
-	/**
-	 * getTypeName method
-	 * @return java.lang.String
-	 *
-	 * This method returns a suitable default value that can be used when an instance of the data type is created.
-	 * This returns null of a suitable default is not available.
-	 */
-	public String generateInstanceValue() {
-		return null;
-	}
-
-	public String getDataTypeName() {
-		return dataTypeName;
-	}
-
-	/**
-	 * getTypeName method
-	 * @return java.lang.String[]
-	 *
-	 */
-	public String[] getEnumeratedValues() {
-		return null;
-	}
-
-	/**
-	 * getTypeName method
-	 * @return java.lang.String  
-	 *
-	 * Returns the implied value or null if none exists.
-	 */
-	public String getImpliedValue() {
-		return null;
-	}
-
-	/**
-	 * getImpliedValueKind method
-	 * @return int
-	 *
-	 * Returns one of :
-	 * IMPLIED_VALUE_NONE, IMPLIED_VALUE_FIXED, IMPLIED_VALUE_DEFAULT.
-	 */
-	public int getImpliedValueKind() {
-		return IMPLIED_VALUE_NONE;
-	}
-
-	public String getNodeName() {
-		return dataTypeName;
-	}
-
-	public int getNodeType() {
-		return CMNode.DATA_TYPE;
-	}
-
-	/**
-	 * getProperty method
-	 * @return java.lang.Object
-	 *
-	 * Returns the object property described by the propertyName
-	 *
-	 */
-	public Object getProperty(String propertyName) {
-		return null;
-	}
-
-	/**
-	 * supports method
-	 * @return boolean
-	 *
-	 * Returns true if the CMNode supports a specified property
-	 *
-	 */
-	public boolean supports(String propertyName) {
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/CMDocumentFactoryTLD.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/CMDocumentFactoryTLD.java
deleted file mode 100644
index b1bc2f4..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/CMDocumentFactoryTLD.java
+++ /dev/null
@@ -1,685 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.contentmodel.tld;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.net.URLConnection;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jst.jsp.core.internal.contentmodel.ITaglibRecord;
-import org.eclipse.jst.jsp.core.internal.contentmodel.JarRecord;
-import org.eclipse.jst.jsp.core.internal.contentmodel.TLDRecord;
-import org.eclipse.jst.jsp.core.internal.contentmodel.URLRecord;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.JSP11TLDNames;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.JSP12TLDNames;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.JSP20TLDNames;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDDocument;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDFunction;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDInitParam;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDListener;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDValidator;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDVariable;
-import org.eclipse.jst.jsp.core.internal.util.DocumentProvider;
-import org.eclipse.wst.common.uriresolver.internal.util.URIHelper;
-import org.eclipse.wst.sse.core.internal.util.JarUtilities;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMDocument;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.xml.core.internal.contentmodel.factory.CMDocumentFactory;
-import org.w3c.dom.Element;
-import org.w3c.dom.EntityReference;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * CMDocumentBuilder for Taglib Descriptors
- * 
- * Returns namespace-less CMDocuments for a taglib descriptor, loading it
- * directly from a file or extracted from a JAR archive. Content Model objects
- * will implement the TLDCMDocument, TLDElementDeclaration, and
- * TLDAttributeDeclaration interfaces for extended properties.
- */
-public class CMDocumentFactoryTLD implements CMDocumentFactory {
-
-	static final boolean _debug = "true".equalsIgnoreCase(Platform.getDebugOption("org.eclipse.jst.jsp.core/debug/tldcmdocument/factory")); //$NON-NLS-1$ //$NON-NLS-2$
-
-	/**
-	 * CMDocumentFactoryTLD constructor comment.
-	 */
-	public CMDocumentFactoryTLD() {
-		super();
-	}
-
-	/**
-	 * NOT API
-	 * 
-	 * @param baselocation
-	 * @param input
-	 * @return
-	 */
-	public CMDocument buildCMDocument(String baselocation, InputStream input) {
-		DocumentProvider provider = new DocumentProvider();
-		provider.setValidating(false);
-		provider.setRootElementName(JSP11TLDNames.TAGLIB);
-		provider.setInputStream(input);
-		if (baselocation != null)
-			provider.setBaseReference(baselocation);
-		return loadDocument(baselocation, provider.getRootElement());
-	}
-
-	/**
-	 * @param fileName
-	 * @return
-	 */
-	private CMDocument buildCMDocumentFromDirectory(File directory) {
-		if (_debug) {
-			System.out.println("not implemented: tagdir loading for " + directory.getAbsolutePath()); //$NON-NLS-1$
-		}
-		return null;
-	}
-
-	/**
-	 * NOT API
-	 * 
-	 * @param fileName
-	 * @return
-	 */
-	protected CMDocument buildCMDocumentFromFile(String fileName) {
-		// load the taglib descriptor file
-		DocumentProvider provider = new DocumentProvider();
-		provider.setValidating(false);
-		provider.setBaseReference(fileName);
-		provider.setRootElementName(JSP11TLDNames.TAGLIB);
-		provider.setFileName(fileName);
-		Node rootElement = provider.getRootElement();
-		return loadDocument(fileName, rootElement);
-	}
-
-	/**
-	 * Builds a CMDocument assuming the JSP v1.1 default path
-	 * 
-	 * @param jarFileName -
-	 *            the name of the containing JAR file
-	 */
-	protected CMDocument buildCMDocumentFromJar(String jarFileName) {
-		// load the taglib descriptor file
-		return buildCMDocumentFromJar(jarFileName, JarUtilities.JSP11_TAGLIB);
-	}
-
-	/**
-	 * Builds a CMDocument
-	 * 
-	 * @param jarFileName -
-	 *            the name of the containing JAR file
-	 * @param contentFileName -
-	 *            the path within the JAR for a valid taglib descriptor
-	 */
-	protected CMDocument buildCMDocumentFromJar(String jarFileName, String contentFileName) {
-		// load the taglib descriptor file
-		DocumentProvider provider = new DocumentProvider();
-		provider.setValidating(false);
-		provider.setBaseReference(jarFileName);
-		provider.setRootElementName(JSP11TLDNames.TAGLIB);
-		provider.setJarFileName(jarFileName);
-		provider.setFileName(contentFileName);
-		CMDocument document = loadDocument("jar:file://" + jarFileName + "!" + contentFileName, provider.getRootElement()); //$NON-NLS-1$ //$NON-NLS-2$
-		// TODO: Add the tags declared in META-INF/tags, see JSP 2.0 section
-		// 8.4.1
-		return document;
-	}
-
-	protected CMAttributeDeclaration createAttributeDeclaration(CMDocument document, Node attrNode) {
-		CMAttributeDeclarationImpl attr = new CMAttributeDeclarationImpl(document);
-
-		Node child = attrNode.getFirstChild();
-		while (child != null) {
-			if (child.getNodeType() == Node.ELEMENT_NODE) {
-				if (child.getNodeName().equals(JSP11TLDNames.NAME) && child.hasChildNodes()) {
-					attr.setNodeName(getContainedText(child));
-				}
-				else if (child.getNodeName().equals(JSP12TLDNames.DESCRIPTION) && child.hasChildNodes()) {
-					attr.setDescription(getContainedText(child));
-				}
-				else if (child.getNodeName().equals(JSP11TLDNames.ID) && child.hasChildNodes()) {
-					attr.setId(getContainedText(child));
-				}
-				else if (child.getNodeName().equals(JSP11TLDNames.REQUIRED) && child.hasChildNodes()) {
-					attr.setRequiredString(getContainedText(child));
-				}
-				else if (child.getNodeName().equals(JSP11TLDNames.RTEXPRVALUE) && child.hasChildNodes()) {
-					attr.setRtexprvalue(getContainedText(child));
-				}
-				else if (child.getNodeName().equals(JSP20TLDNames.FRAGMENT) && child.hasChildNodes()) {
-					attr.setFragment(Boolean.valueOf(getContainedText(child)).booleanValue());
-				}
-			}
-			child = child.getNextSibling();
-		}
-
-		return attr;
-	}
-
-	/**
-	 * Builds a CMDocument from a taglib descriptor
-	 * 
-	 * @param uri -
-	 *            the location of a valid taglib descriptor
-	 */
-	public CMDocument createCMDocument(String uri) {
-		CMDocument result = null;
-		URL url = null;
-		try {
-			url = new URL(uri);
-		}
-		catch (MalformedURLException e) {
-			result = createCMDocumentFromFile(uri);
-		}
-		if (result == null && url != null) {
-			InputStream istream = null;
-			if (url.getProtocol().equals("file")) { //$NON-NLS-1$
-				result = createCMDocumentFromFile(url.getFile());
-			}
-			else {
-				try {
-					istream = url.openStream();
-					result = buildCMDocument(url.toExternalForm(), istream);
-				}
-				catch (Exception t) {
-					// Logger.log(Logger.INFO, "Exception creating content
-					// model: could not load TLD contents from URI " + uri + "
-					// :" + t);
-				}
-			}
-			try {
-				if (istream != null)
-					istream.close();
-			}
-			catch (IOException e1) {
-				// don't care
-			}
-		}
-		if (result == null)
-			result = new CMDocumentImpl();
-		return result;
-	}
-
-	/**
-	 * @param fileName
-	 * @return
-	 */
-	private CMDocument createCMDocumentFromFile(String fileName) {
-		CMDocument result = null;
-		File file = new File(fileName);
-		try {
-			if (file.isDirectory()) {
-				result = buildCMDocumentFromDirectory(file);
-			}
-		}
-		catch (SecurityException e) {
-			result = null;
-		}
-		if (result == null) {
-			if (fileName.endsWith(".jar")) { //$NON-NLS-1$
-				result = buildCMDocumentFromJar(fileName);
-			}
-			else {
-				result = buildCMDocumentFromFile(fileName);
-			}
-		}
-		return result;
-	}
-
-	protected CMElementDeclaration createElementDeclaration(CMDocument cmdocument, Element tagFileNode, String path) {
-		CMElementDeclarationImpl ed = new CMElementDeclarationImpl(cmdocument);
-		boolean hasName = false;
-
-		// load information declared within the .tld
-		Node child = tagFileNode.getFirstChild();
-		while (child != null) {
-			if (child.getNodeType() == Node.ELEMENT_NODE) {
-				String nodeName = child.getNodeName();
-				if (nodeName.equals(JSP12TLDNames.DESCRIPTION) && child.hasChildNodes()) {
-					ed.setDescription(getContainedText(child));
-				}
-				else if (nodeName.equals(JSP12TLDNames.DISPLAY_NAME) && child.hasChildNodes()) {
-					ed.setDisplayName(getContainedText(child));
-				}
-				else if (nodeName.equals(JSP20TLDNames.EXAMPLE) && child.hasChildNodes()) {
-					ed.setExample(getContainedText(child));
-				}
-				else if (nodeName.equals(JSP20TLDNames.ICON) && child.hasChildNodes()) {
-					ed.setSmallIcon(getContainedText(child));
-				}
-				else if (nodeName.equals(JSP12TLDNames.NAME) && child.hasChildNodes()) {
-					ed.setNodeName(getContainedText(child));
-					hasName = ed.getNodeName().trim().length() > 0;
-				}
-				else if (nodeName.equals(JSP20TLDNames.PATH) && child.hasChildNodes()) {
-					ed.setPath(getContainedText(child));
-				}
-				else if (nodeName.equals(JSP20TLDNames.TAG_EXTENSION)) {
-					ed.getExtensions().add(child);
-				}
-			}
-			child = child.getNextSibling();
-		}
-		if (hasName) {
-			// load information declared within the .tag(x) file
-			// JSP2_TODO: implement for JSP 2.0
-			return ed;
-		}
-		return null;
-	}
-
-	protected CMElementDeclaration createElementDeclaration(CMDocument document, Node tagNode) {
-		CMElementDeclarationImpl ed = new CMElementDeclarationImpl(document);
-
-		Node child = tagNode.getFirstChild();
-		while (child != null) {
-			if (child.getNodeType() == Node.ELEMENT_NODE) {
-				// tag information
-				String nodeName = child.getNodeName();
-				if (nodeName.equals(JSP11TLDNames.NAME) && child.hasChildNodes()) {
-					ed.setNodeName(getContainedText(child));
-				}
-				else if ((nodeName.equals(JSP11TLDNames.TAGCLASS) || nodeName.equals(JSP12TLDNames.TAG_CLASS)) && child.hasChildNodes()) {
-					ed.setTagclass(getContainedText(child));
-				}
-				else if ((nodeName.equals(JSP11TLDNames.TEICLASS) || nodeName.equals(JSP12TLDNames.TEI_CLASS)) && child.hasChildNodes()) {
-					ed.setTeiclass(getContainedText(child));
-				}
-				else if ((nodeName.equals(JSP11TLDNames.BODYCONTENT) || nodeName.equals(JSP12TLDNames.BODY_CONTENT)) && child.hasChildNodes()) {
-					String bodycontent = getContainedText(child);
-					// Apparently, Apache Tomcat is not case sensitive about
-					// these values
-					if (bodycontent.equalsIgnoreCase(JSP11TLDNames.CONTENT_JSP))
-						ed.setBodycontent(JSP11TLDNames.CONTENT_JSP);
-					else if (bodycontent.equalsIgnoreCase(JSP11TLDNames.CONTENT_TAGDEPENDENT))
-						ed.setBodycontent(JSP11TLDNames.CONTENT_TAGDEPENDENT);
-					else if (bodycontent.equalsIgnoreCase(JSP11TLDNames.CONTENT_EMPTY))
-						ed.setBodycontent(JSP11TLDNames.CONTENT_EMPTY);
-					else if (bodycontent.equalsIgnoreCase(JSP20TLDNames.CONTENT_SCRIPTLESS))
-						ed.setBodycontent(JSP20TLDNames.CONTENT_SCRIPTLESS);
-				}
-				// info (1.1 only) or description (1.2 only)
-				else if ((nodeName.equals(JSP11TLDNames.INFO) || nodeName.equals(JSP12TLDNames.DESCRIPTION)) && child.hasChildNodes()) {
-					ed.setDescription(getContainedText(child));
-				}
-				// attributes
-				else if (nodeName.equals(JSP11TLDNames.ATTRIBUTE)) {
-					CMAttributeDeclaration attr = createAttributeDeclaration(document, child);
-					ed.attributes.setNamedItem(attr.getAttrName(), attr);
-				}
-				// variables
-				else if (nodeName.equals(JSP12TLDNames.VARIABLE)) {
-					ed.getVariables().add(createVariable(child));
-				}
-				else if (nodeName.equals(JSP12TLDNames.LARGE_ICON) && child.hasChildNodes()) {
-					ed.setLargeIcon(getContainedText(child));
-				}
-				else if (nodeName.equals(JSP12TLDNames.SMALL_ICON) && child.hasChildNodes()) {
-					ed.setSmallIcon(getContainedText(child));
-				}
-				else if (nodeName.equals(JSP20TLDNames.TAG_EXTENSION) && child.getNodeType() == Node.ELEMENT_NODE) {
-					ed.getExtensions().add(child);
-				}
-			}
-			child = child.getNextSibling();
-		}
-		return ed;
-	}
-
-	protected TLDFunction createFunction(CMDocument document, Node functionNode) {
-		TLDFunctionImpl function = new TLDFunctionImpl(document);
-		boolean hasName = false;
-
-		Node child = functionNode.getFirstChild();
-		while (child != null) {
-			if (child.getNodeType() == Node.ELEMENT_NODE) {
-				// tag information
-				String nodeName = child.getNodeName();
-				if (nodeName.equals(JSP12TLDNames.DESCRIPTION) && child.hasChildNodes()) {
-					function.setDescription(getContainedText(child));
-				}
-				else if (nodeName.equals(JSP12TLDNames.DISPLAY_NAME) && child.hasChildNodes()) {
-					function.setName(getContainedText(child));
-				}
-				else if (nodeName.equals(JSP20TLDNames.EXAMPLE) && child.hasChildNodes()) {
-					function.setExample(getContainedText(child));
-				}
-				else if (nodeName.equals(JSP20TLDNames.FUNCTION_CLASS) && child.hasChildNodes()) {
-					function.setClassName(getContainedText(child));
-				}
-				else if (nodeName.equals(JSP20TLDNames.FUNCTION_EXTENSION) && child.hasChildNodes()) {
-					function.getExtensions().add(child);
-				}
-				else if (nodeName.equals(JSP20TLDNames.FUNCTION_SIGNATURE) && child.hasChildNodes()) {
-					function.setSignature(getContainedText(child));
-				}
-				else if (nodeName.equals(JSP20TLDNames.ICON) && child.hasChildNodes()) {
-					function.setIcon(getContainedText(child));
-				}
-				else if (nodeName.equals(JSP12TLDNames.NAME) && child.hasChildNodes()) {
-					function.setName(getContainedText(child));
-					hasName = function.getName().trim().length() > 0;
-				}
-			}
-			child = child.getNextSibling();
-		}
-		if (hasName) {
-			return function;
-		}
-		return null;
-	}
-
-	protected TLDInitParam createInitParam(Node initParamNode) {
-		TLDInitParamImpl initParam = new TLDInitParamImpl();
-		Node child = initParamNode.getFirstChild();
-		while (child != null) {
-			if (child.getNodeType() == Node.ELEMENT_NODE) {
-				String nodeName = child.getNodeName();
-				if (nodeName.equals(JSP12TLDNames.VALIDATOR_PARAM_NAME) && child.hasChildNodes()) {
-					initParam.setName(getContainedText(child));
-				}
-				else if (nodeName.equals(JSP12TLDNames.VALIDATOR_PARAM_VALUE) && child.hasChildNodes()) {
-					initParam.setValue(getContainedText(child));
-				}
-				else if (nodeName.equals(JSP12TLDNames.DESCRIPTION) && child.hasChildNodes()) {
-					initParam.setDescription(getContainedText(child));
-				}
-			}
-			child = child.getNextSibling();
-		}
-		return initParam;
-	}
-
-	protected TLDListener createListener(Node listenerNode) {
-		TLDListenerImpl listener = new TLDListenerImpl();
-		Node child = listenerNode.getFirstChild();
-		while (child != null) {
-			if (child.getNodeType() == Node.ELEMENT_NODE) {
-				String nodeName = child.getNodeName();
-				if (nodeName.equals(JSP12TLDNames.LISTENER_CLASS) && child.hasChildNodes()) {
-					listener.setListenerClass(getContainedText(child));
-				}
-			}
-			child = child.getNextSibling();
-		}
-		return listener;
-	}
-
-	protected TLDValidator createValidator(Node validatorNode) {
-		TLDValidatorImpl validator = new TLDValidatorImpl();
-		Node child = validatorNode.getFirstChild();
-		while (child != null) {
-			if (child.getNodeType() == Node.ELEMENT_NODE) {
-				String nodeName = child.getNodeName();
-				if (nodeName.equals(JSP12TLDNames.VALIDATOR_CLASS) && child.hasChildNodes()) {
-					validator.setValidatorClass(getContainedText(child));
-				}
-				else if (nodeName.equals(JSP12TLDNames.VALIDATOR_INIT_PARAM) && child.hasChildNodes()) {
-					validator.getInitParams().add(createInitParam(child));
-				}
-			}
-			child = child.getNextSibling();
-		}
-		return validator;
-	}
-
-	protected TLDVariable createVariable(Node variableNode) {
-		TLDVariableImpl variable = new TLDVariableImpl();
-		Node child = variableNode.getFirstChild();
-		while (child != null) {
-			if (child.getNodeType() == Node.ELEMENT_NODE) {
-				String nodeName = child.getNodeName();
-				if (nodeName.equals(JSP12TLDNames.VARIABLE_CLASS) && child.hasChildNodes()) {
-					variable.setVariableClass(getContainedText(child));
-				}
-				else if (nodeName.equals(JSP12TLDNames.VARIABLE_DECLARE) && child.hasChildNodes()) {
-					variable.setDeclareString(getContainedText(child));
-				}
-				else if (nodeName.equals(JSP12TLDNames.VARIABLE_NAME_FROM_ATTRIBUTE) && child.hasChildNodes()) {
-					variable.setNameFromAttribute(getContainedText(child));
-				}
-				else if (nodeName.equals(JSP12TLDNames.VARIABLE_NAME_GIVEN) && child.hasChildNodes()) {
-					variable.setNameGiven(getContainedText(child));
-				}
-				else if (nodeName.equals(JSP12TLDNames.VARIABLE_SCOPE) && child.hasChildNodes()) {
-					variable.setScope(getContainedText(child));
-				}
-				else if (nodeName.equals(JSP12TLDNames.DESCRIPTION) && child.hasChildNodes()) {
-					variable.setDescription(getContainedText(child));
-				}
-			}
-			child = child.getNextSibling();
-		}
-		return variable;
-	}
-
-	protected String getContainedText(Node parent) {
-		NodeList children = parent.getChildNodes();
-		if (children.getLength() == 1) {
-			return children.item(0).getNodeValue().trim();
-		}
-		StringBuffer s = new StringBuffer();
-		Node child = parent.getFirstChild();
-		while (child != null) {
-			if (child.getNodeType() == Node.ENTITY_REFERENCE_NODE) {
-				String reference = ((EntityReference) child).getNodeValue();
-				if (reference == null && child.getNodeName() != null) {
-					reference = "&" + child.getNodeName() + ";"; //$NON-NLS-1$ //$NON-NLS-2$
-				}
-				if (reference != null) {
-					s.append(reference.trim());
-				}
-			}
-			else {
-				s.append(child.getNodeValue().trim());
-			}
-			child = child.getNextSibling();
-		}
-		return s.toString().trim();
-	}
-
-	public boolean isBuilderForGrammar(String grammarFileName) {
-		String fileName = grammarFileName.toLowerCase();
-		return fileName.endsWith(".tld") || fileName.endsWith(".jar"); //$NON-NLS-2$//$NON-NLS-1$
-	}
-
-	private CMDocument loadDocument(String baseLocation, Node taglib) {
-		Node root = taglib;
-
-		// create the CMDocument
-		CMDocumentImpl document = new CMDocumentImpl();
-		document.setBaseLocation(baseLocation);
-
-		if (root == null) {
-			if (_debug) {
-				System.out.println("null \"taglib\" element for TLD " + baseLocation); //$NON-NLS-1$
-			}
-			return document;
-		}
-
-		// populate the CMDocument
-		Node child = root.getFirstChild();
-		while (child != null) {
-			if (child.getNodeType() != Node.ELEMENT_NODE) {
-				child = child.getNextSibling();
-				continue;
-			}
-			String nodeName = child.getNodeName();
-			// tag
-			if (nodeName.equals(JSP11TLDNames.TAG)) {
-				CMElementDeclaration ed = createElementDeclaration(document, child);
-				if (ed != null) {
-					document.fElements.setNamedItem(ed.getNodeName(), ed);
-				}
-			}
-			// tag-file
-			else if (nodeName.equals(JSP20TLDNames.TAG_FILE) && child.getNodeType() == Node.ELEMENT_NODE && child.hasChildNodes()) {
-				Element tagFileElement = (Element) child;
-				String path = tagFileElement.getAttribute(JSP20TLDNames.PATH);
-
-				CMElementDeclarationImpl ed = (CMElementDeclarationImpl) createElementDeclaration(document, tagFileElement, path);
-				if (ed != null) {
-					document.fElements.setNamedItem(ed.getNodeName(), ed);
-				}
-			}
-			// other one-of-a-kind children
-			// JSP version
-			else if ((nodeName.equals(JSP11TLDNames.JSPVERSION) || nodeName.equals(JSP12TLDNames.JSP_VERSION)) && child.hasChildNodes()) {
-				document.setJspversion(getContainedText(child));
-			}
-			// tag library version
-			else if ((nodeName.equals(JSP11TLDNames.TLIBVERSION) || nodeName.equals(JSP12TLDNames.TLIB_VERSION)) && child.hasChildNodes()) {
-				document.setTlibversion(getContainedText(child));
-			}
-			// short name
-			else if ((nodeName.equals(JSP11TLDNames.SHORTNAME) || nodeName.equals(JSP12TLDNames.SHORT_NAME)) && child.hasChildNodes()) {
-				document.setShortname(getContainedText(child));
-			}
-			// URI/URN
-			else if ((nodeName.equals(JSP11TLDNames.URI) || nodeName.equals(JSP11TLDNames.URN)) && child.hasChildNodes()) { //$NON-NLS-1$
-				document.setUri(getContainedText(child));
-			}
-			// info
-			else if (nodeName.equals(JSP11TLDNames.INFO) && child.hasChildNodes()) {
-				document.setInfo(getContainedText(child));
-			}
-			// New JSP 1.2
-			// description
-			else if (nodeName.equals(JSP12TLDNames.DESCRIPTION)) {
-				document.setDescription(getContainedText(child));
-			}
-			// display name
-			else if (nodeName.equals(JSP12TLDNames.DISPLAY_NAME) && child.hasChildNodes()) {
-				document.setDisplayName(getContainedText(child));
-			}
-			// large icon
-			else if (nodeName.equals(JSP12TLDNames.LARGE_ICON) && child.hasChildNodes()) {
-				document.setLargeIcon(getContainedText(child));
-			}
-			// small icon
-			else if (nodeName.equals(JSP12TLDNames.SMALL_ICON) && child.hasChildNodes()) {
-				document.setSmallIcon(getContainedText(child));
-			}
-			// validator
-			else if (nodeName.equals(JSP12TLDNames.VALIDATOR)) {
-				document.setValidator(createValidator(child));
-			}
-			// listener
-			else if (nodeName.equals(JSP12TLDNames.LISTENER)) {
-				document.getListeners().add(createListener(child));
-			}
-			else if (nodeName.equals(JSP20TLDNames.FUNCTION)) {
-				TLDFunction function = createFunction(document, child);
-				if (function != null) {
-					document.getFunctions().add(function);
-				}
-			}
-			else if (nodeName.equals(JSP20TLDNames.TAGLIB_EXTENSION)) {
-				document.getExtensions().add(child);
-			}
-
-			child = child.getNextSibling();
-		}
-		return document;
-	}
-
-	/**
-	 * @param reference
-	 * @return
-	 */
-	public CMDocument createCMDocument(ITaglibRecord reference) {
-		CMDocumentImpl document = null;
-		switch (reference.getRecordType()) {
-			case (ITaglibRecord.TLD) : {
-				TLDRecord record = (TLDRecord) reference;
-				document = (CMDocumentImpl) buildCMDocumentFromFile(record.getLocation().toString());
-				if (_debug && document != null && document.getElements().getLength() == 0) {
-					System.out.println("failure parsing " + record.getLocation()); //$NON-NLS-1$
-				}
-
-				if (document.getSmallIcon() != null) {
-					String iconPath = URIHelper.normalize(((TLDDocument) document).getSmallIcon(), record.getLocation().toString(), "/"); //$NON-NLS-1$
-					document.setProperty(JSP12TLDNames.SMALL_ICON, "file:" + iconPath); //$NON-NLS-1$
-				}
-				if (document.getLargeIcon() != null) {
-					String iconPath = URIHelper.normalize(((TLDDocument) document).getLargeIcon(), record.getLocation().toString(), "/"); //$NON-NLS-1$
-					document.setProperty(JSP12TLDNames.LARGE_ICON, "file:" + iconPath); //$NON-NLS-1$
-				}
-			}
-				break;
-			case (ITaglibRecord.JAR) : {
-				JarRecord record = (JarRecord) reference;
-				document = (CMDocumentImpl) buildCMDocumentFromJar(record.getLocation().toString());
-				if (document.getSmallIcon() != null) {
-					String iconPath = URIHelper.normalize(((TLDDocument) document).getSmallIcon(), record.getLocation().toString() + "!META-INF/", "/"); //$NON-NLS-1$ //$NON-NLS-2$
-					document.setProperty(JSP12TLDNames.SMALL_ICON, "jar:file:" + iconPath); //$NON-NLS-1$
-				}
-				if (document.getLargeIcon() != null) {
-					String iconPath = URIHelper.normalize(((TLDDocument) document).getLargeIcon(), record.getLocation().toString() + "!META-INF/", "/"); //$NON-NLS-1$ //$NON-NLS-2$
-					document.setProperty(JSP12TLDNames.LARGE_ICON, "jar:file:" + iconPath); //$NON-NLS-1$
-				}
-				if (document != null && document.getElements().getLength() == 0) {
-					System.out.println("failure parsing " + record.getLocation()); //$NON-NLS-1$
-				}
-			}
-				break;
-			case (ITaglibRecord.TAGDIR) : {
-				// TagDirRecord record = (TagDirRecord) reference;
-				// document =
-				// buildCMDocumentFromDirectory(record.getLocation().toFile());
-			}
-				break;
-			case (ITaglibRecord.URL) : {
-				URLRecord record = (URLRecord) reference;
-				InputStream urlContents = null;
-				boolean doCache = false;
-				URLConnection connection = null;
-				try {
-					connection = record.getURL().openConnection();
-					doCache = connection.getUseCaches();
-					connection.setUseCaches(false);
-					urlContents = connection.getInputStream();
-					document = (CMDocumentImpl) buildCMDocument(record.getBaseLocation(), urlContents);
-					if (document.getSmallIcon() != null) {
-						String iconPath = URIHelper.normalize(((TLDDocument) document).getSmallIcon(), record.getURL().toString(), "/"); //$NON-NLS-1$
-						document.setProperty(JSP12TLDNames.SMALL_ICON, iconPath);
-					}
-					if (document.getLargeIcon() != null) {
-						String iconPath = URIHelper.normalize(((TLDDocument) document).getLargeIcon(), record.getURL().toString(), "/"); //$NON-NLS-1$
-						document.setProperty(JSP12TLDNames.LARGE_ICON, iconPath);
-					}
-					connection.setUseCaches(doCache);
-				}
-				catch (IOException e) {
-					// not uncommon given invalid URLs
-				}
-				finally {
-					if (urlContents != null) {
-						try {
-							urlContents.close();
-						}
-						catch (IOException e) {
-						}
-					}
-				}
-			}
-				break;
-		}
-		return document;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/CMDocumentImpl.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/CMDocumentImpl.java
deleted file mode 100644
index 740a360..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/CMDocumentImpl.java
+++ /dev/null
@@ -1,444 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.contentmodel.tld;
-
-
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.jst.jsp.core.internal.Logger;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDDocument;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDValidator;
-import org.eclipse.wst.sse.core.internal.util.StringUtils;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMNamespace;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMNode;
-import org.eclipse.wst.xml.core.internal.contentmodel.ContentModelManager;
-import org.eclipse.wst.xml.core.internal.contentmodel.annotation.AnnotationMap;
-import org.eclipse.wst.xml.core.internal.contentmodel.internal.annotation.AnnotationFileParser;
-
-public class CMDocumentImpl implements TLDDocument {
-	
-	/** Contains taginfo and/or any other misc properties*/
-	private AnnotationMap fAnnotationMap = null;
-	
-	private Map fProperties = new HashMap(0);
-
-	/**
-	 * Records from where this document was created
-	 */
-	private String fBaseLocation;
-	/** 
-	 * since JSP 1.2
-	 */
-	private String fDescription;
-	
-	private String fDisplayName;
-
-	/**
-	 * NOT public API
-	 */
-	public CMNamedNodeMapImpl fElements = new CMNamedNodeMapImpl();
-
-	private List fFunctions = new ArrayList(0);
-	
-	// id of the taglib
-	private String fId = null;
-	/**
-	 * Children of "taglib" within a .tld file each allow
-	 * one Text node (#PCDATA) beneath them.  Store the values
-	 * here for simplicity.
-	 */
-	// The JSP specification required for this taglib to function
-	private String fJSPVersion = null;
-	
-	private String fLargeIcon;
-
-	private List fListeners;
-	
-	private String fParentURI = null;
-	// A short name suggested as the default prefix for tags within the lib
-	private String fShortName = null;
-	
-	private String fSmallIcon;
-	
-	/**
-	 * since JSP 2.0
-	 * 
-	 * The entire element is stored here since its layout is undefined 
-	 */
-	private List fTaglibExtensions = new ArrayList(0);
-	
-	// Version information for the taglib itself
-	private String fTLibVersion = null;
-	
-	// A unique public URI describing this taglib.  Recommended to be the URL
-	// to the descriptor
-	private String fURI = null;
-
-	protected TLDValidator validator;
-	
-	/**
-	 * CMDocumentImpl constructor comment.
-	 */
-	public CMDocumentImpl() {
-		super();
-	}
-
-	/**
-	 * Get the annotation map associated with this document.  Lazily creates
-	 * and loads annotation map.
-	 * @return AnnotationMap
-	 */
-	private AnnotationMap getAnnotationMap() {
-		// create a new annotation map and load it up
-		if (fAnnotationMap == null) {
-			fAnnotationMap = new AnnotationMap();
-			
-		    List annotationFiles = ContentModelManager.getInstance().getAnnotationFiles(getUri());
-		    for (Iterator i = annotationFiles.iterator(); i.hasNext();) {
-		    	try {
-		    		String annotationFileURI = (String) i.next();
-		    		AnnotationFileParser parser = new AnnotationFileParser();
-		    		parser.parse(fAnnotationMap, annotationFileURI);
-		        } catch (Exception e) {
-		        	Logger.log(Logger.WARNING_DEBUG, "Exception thrown in CMDocumentImpl#getAnnotationMap", e); //$NON-NLS-1$
-		        }
-		    }
-		}
-		return fAnnotationMap;
-	}
-	/**
-	 * @return Returns the baseLocation.
-	 */
-	public String getBaseLocation() {
-		return fBaseLocation;
-	}
-
-	/**
-	 * Gets the description.
-	 * @return Returns a String
-	 */
-	public String getDescription() {
-		return fDescription;
-	}
-
-	/**
-	 * Gets the displayName.
-	 * @return Returns a String
-	 */
-	public String getDisplayName() {
-		return fDisplayName;
-	}
-
-	/**
-	 * getElements method
-	 * @return CMNamedNodeMap
-	 *
-	 * Returns CMNamedNodeMap of ElementDeclaration
-	 */
-	public CMNamedNodeMap getElements() {
-		return fElements;
-	}
-
-	/**
-	 * getEntities method
-	 * @return CMNamedNodeMap
-	 *
-	 * Returns CMNamedNodeMap of EntityDeclaration
-	 */
-	public CMNamedNodeMap getEntities() {
-		return null;
-	}
-	
-	public List getExtensions() {
-		return fTaglibExtensions;
-	}
-	/**
-	 * @return Returns the functions.
-	 */
-	public List getFunctions() {
-		return fFunctions;
-	}
-
-	/**
-	 * Gets the id.
-	 * @return Returns a String
-	 */
-	public String getId() {
-		return fId;
-	}
-
-	/**
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getInfo() {
-		return getDescription();
-	}
-
-	/**
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getJspversion() {
-		return fJSPVersion;
-	}
-
-	/**
-	 * Gets the largeIcon.
-	 * @return Returns a String
-	 */
-	public String getLargeIcon() {
-		return fLargeIcon;
-	}
-
-	public List getListeners() {
-		if (fListeners == null)
-			fListeners = new ArrayList();
-		return fListeners;
-	}
-
-	/**
-	 * getNamespace method
-	 * @return CMNamespace
-	 */
-	public CMNamespace getNamespace() {
-		return null;
-	}
-
-	/**
-	 * getNodeName method
-	 * @return java.lang.String
-	 */
-	public String getNodeName() {
-		return "#cmdocument"; //$NON-NLS-1$
-	}
-
-	/**
-	 * getNodeType method
-	 * @return int
-	 *
-	 * Returns one of :
-	 *
-	 */
-	public int getNodeType() {
-		return CMNode.DOCUMENT;
-	}
-	/**
-	 * @return Returns the parentURI.
-	 */
-	public String getParentURI() {
-		return fParentURI;
-	}
-
-	/**
-	 * getProperty method
-	 * @return java.lang.Object
-	 *
-	 * Returns the object property desciped by the propertyName
-	 *
-	 */
-	public Object getProperty(String propertyName) {
-		if (propertyName.equals(TLDDocument.CM_KIND)) {
-			return TLDDocument.JSP_TLD;
-		}
-		else if (propertyName.equals("annotationMap")) { //$NON-NLS-1$
-			return getAnnotationMap();
-		}
-		return fProperties.get(propertyName);
-	}
-
-	/**
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getShortname() {
-		return fShortName;
-	}
-
-	/**
-	 * Gets the smallIcon.
-	 * @return Returns a String
-	 */
-	public String getSmallIcon() {
-		return fSmallIcon;
-	}
-
-	/**
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getTlibversion() {
-		return fTLibVersion;
-	}
-
-	/**
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getUri() {
-		return fURI;
-	}
-
-	/*
-	 * @see TLDDocument#getValidator()
-	 */
-	public TLDValidator getValidator() {
-		return validator;
-	}
-	/**
-	 * @param baseLocation The baseLocation to set.
-	 */
-	public void setBaseLocation(String baseLocation) {
-		fBaseLocation = baseLocation;
-	}
-
-	/**
-	 * Sets the description.
-	 * @param description The description to set
-	 */
-	public void setDescription(String description) {
-		this.fDescription = description;
-	}
-
-	/**
-	 * Sets the displayName.
-	 * @param displayName The displayName to set
-	 */
-	public void setDisplayName(String displayName) {
-		this.fDisplayName = displayName;
-	}
-
-	/**
-	 * Sets the id.
-	 * @param id The id to set
-	 */
-	public void setId(String id) {
-		this.fId = id;
-	}
-
-	/**
-	 * 
-	 * @param newInfo java.lang.String
-	 */
-	public void setInfo(String newInfo) {
-		setDescription(newInfo);
-	}
-
-	/**
-	 * 
-	 * @param newJspversion java.lang.String
-	 */
-	public void setJspversion(String newJspversion) {
-		fJSPVersion = newJspversion;
-	}
-
-	/**
-	 * Sets the largeIcon.
-	 * @param largeIcon The largeIcon to set
-	 */
-	public void setLargeIcon(String largeIcon) {
-		this.fLargeIcon = largeIcon;
-	}
-
-	public void setListeners(List listeners) {
-		this.fListeners = listeners;
-	}
-	/**
-	 * @param parentURI The parentURI to set.
-	 */
-	public void setParentURI(String parentURI) {
-		fParentURI = parentURI;
-	}
-	
-	public void setProperty(String property, Object value) {
-		fProperties.put(property, value);
-	}
-
-	/**
-	 * 
-	 * @param newShortname java.lang.String
-	 */
-	public void setShortname(String newShortname) {
-		fShortName = newShortname;
-	}
-
-	/**
-	 * Sets the smallIcon.
-	 * @param smallIcon The smallIcon to set
-	 */
-	public void setSmallIcon(String smallIcon) {
-		this.fSmallIcon = smallIcon;
-	}
-
-	/**
-	 * 
-	 * @param newTlibversion java.lang.String
-	 */
-	public void setTlibversion(String newTlibversion) {
-		fTLibVersion = newTlibversion;
-	}
-
-	/**
-	 * 
-	 * @param newUri java.lang.String
-	 */
-	public void setUri(String newUri) {
-		fURI = newUri;
-	}
-
-	public void setValidator(TLDValidator validator) {
-		this.validator = validator;
-	}
-
-	/**
-	 * supports method
-	 * @return boolean
-	 *
-	 * Returns true if the CMNode supports a specified property
-	 *
-	 */
-	public boolean supports(String propertyName) {
-		if (TLDDocument.CM_KIND.equals(propertyName) || "annotationMap".equals(propertyName)) //$NON-NLS-1$
-			return true;
-		return fProperties.containsKey(propertyName);
-	}
-
-	public String toString() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append(super.toString());
-		buffer.append("\n\t short name:" + StringUtils.escape(getShortname())); //$NON-NLS-1$
-		buffer.append("\n\t display name:" + StringUtils.escape(getDisplayName())); //$NON-NLS-1$
-		buffer.append("\n\t description (info):" + StringUtils.escape(getDescription())); //$NON-NLS-1$
-		buffer.append("\n\t URI:" + StringUtils.escape(getUri())); //$NON-NLS-1$
-		buffer.append("\n\t jsp version:" + StringUtils.escape(getJspversion())); //$NON-NLS-1$
-		buffer.append("\n\t taglib version:" + StringUtils.escape(getTlibversion())); //$NON-NLS-1$
-		buffer.append("\n\t small icon:" + StringUtils.escape(getSmallIcon())); //$NON-NLS-1$
-		buffer.append("\n\t large icon:" + StringUtils.escape(getLargeIcon())); //$NON-NLS-1$
-		if (getValidator() != null)
-			buffer.append("\n\t validator:" + StringUtils.replace(getValidator().toString(), "\n", "\n\t\t")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		buffer.append("\n\t listeners:"); //$NON-NLS-1$
-		for (int i = 0; i < getListeners().size(); i++) {
-			buffer.append("\n" + StringUtils.replace(getListeners().get(i).toString(), "\n", "\n\t\t")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		}
-		buffer.append("\n\t elements:"); //$NON-NLS-1$
-		CMNamedNodeMap elements = getElements();
-		for (int i = 0; i < elements.getLength(); i++) {
-			buffer.append(StringUtils.replace(elements.item(i).toString(), "\n", "\n\t\t")); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		return buffer.toString();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/CMElementDeclarationImpl.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/CMElementDeclarationImpl.java
deleted file mode 100644
index c383d88..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/CMElementDeclarationImpl.java
+++ /dev/null
@@ -1,461 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.contentmodel.tld;
-
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.JSP11TLDNames;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.JSP12TLDNames;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDDocument;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDElementDeclaration;
-import org.eclipse.wst.sse.core.internal.util.StringUtils;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMContent;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMDataType;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMDocument;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMNode;
-import org.eclipse.wst.xml.core.internal.contentmodel.annotation.AnnotationMap;
-
-public class CMElementDeclarationImpl implements TLDElementDeclaration {
-
-	// optional attributes
-	public CMNamedNodeMapImpl attributes = new CMNamedNodeMapImpl();
-	// (empty|JSP|tagdependant|scriptless) - optional, defaults to JSP
-	private String bodycontent = JSP11TLDNames.CONTENT_JSP;
-
-	/** 
-	 * since JSP 1.2
-	 * 
-	 * Usage information
-	 */
-	private String description;
-	
-	/** 
-	 * since JSP 1.2
-	 */
-	private String displayName;
-
-	/** 
-	 * since JSP 2.0
-	 */
-	private String fExample;
-
-	private CMDocument fOwnerDocument;
-	
-	private String fPath = null;
-
-	private List fTagExtensions = new ArrayList(0);
-	/** 
-	 * since JSP 1.2
-	 */
-	private String largeIcon;
-	
-	
-	private int maxOccur = -1;
-	private int minOccur = 0;
-
-	// required tag name
-	private String nodeName = null;
-	
-	/** 
-	 * since JSP 1.2
-	 */
-	private String smallIcon;
-	
-	// tag handler class - required
-	private String tagclass = null;
-	
-	// tag extra info class (subclass of javax.servlet.jsp.TagExtraInfo) - optional
-	private String teiclass = null;
-
-	/** 
-	 * since JSP 1.2
-	 */
-	private List variables;
-
-	/**
-	 * CMElementDeclarationImpl constructor comment.
-	 */
-	public CMElementDeclarationImpl(CMDocument owner) {
-		super();
-		fOwnerDocument = owner;
-	}
-
-	/**
-	 * getAttributes method
-	 * @return CMNamedNodeMap
-	 *
-	 * Returns CMNamedNodeMap of AttributeDeclaration
-	 */
-	public CMNamedNodeMap getAttributes() {
-		return attributes;
-	}
-
-	/**
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getBodycontent() {
-		return bodycontent;
-	}
-
-	/**
-	 * getCMContent method
-	 * @return CMContent
-	 *
-	 * Returns the root node of this element's content model.
-	 * This can be an CMElementDeclaration or a CMGroup
-	 */
-	public CMContent getContent() {
-		return null;
-	}
-
-	/**
-	 * getContentType method
-	 * @return int
-	 *
-	 * Returns one of :
-	 * ANY, EMPTY, ELEMENT, MIXED, PCDATA, CDATA.
-	 */
-	public int getContentType() {
-		if (bodycontent.equals(JSP11TLDNames.CONTENT_EMPTY))
-			return EMPTY;
-		if (bodycontent.equals(JSP11TLDNames.CONTENT_TAGDEPENDENT))
-			return PCDATA;
-		else
-			// JSP
-			return ANY;
-	}
-
-	/**
-	 * getDataType method
-	 * @return java.lang.String
-	 */
-	public CMDataType getDataType() {
-		return new CMDataTypeImpl(CMDataType.CDATA);
-	}
-
-	/**
-	 * Gets the description.
-	 * @return Returns a String
-	 */
-	public String getDescription() {
-		return description;
-	}
-
-	/**
-	 * Gets the displayName.
-	 * @return Returns a String
-	 */
-	public String getDisplayName() {
-		return displayName;
-	}
-
-	/**
-	 * getElementName method
-	 * @return java.lang.String
-	 */
-	public String getElementName() {
-		return getNodeName();
-	}
-	/**
-	 * @return Returns the example.
-	 */
-	public String getExample() {
-		return fExample;
-	}
-	/**
-	 * @return Returns the extensions.
-	 */
-	public List getExtensions() {
-		return fTagExtensions;
-	}
-
-	/**
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getInfo() {
-		return getDescription();
-	}
-
-	/**
-	 * Gets the largeIcon.
-	 * @return Returns a String
-	 */
-	public String getLargeIcon() {
-		return largeIcon;
-	}
-
-	/**
-	 * getLocalElements method
-	 * @return CMNamedNodeMap
-	 *
-	 * Returns a list of locally defined elements.
-	 */
-	public CMNamedNodeMap getLocalElements() {
-		return null;
-	}
-
-	/**
-	 * getMaxOccur method
-	 * @return int
-	 *
-	 * If -1, it's UNBOUNDED.
-	 */
-	public int getMaxOccur() {
-		return maxOccur;
-	}
-
-	/**
-	 * getMinOccur method
-	 * @return int
-	 *
-	 * If 0, it's OPTIONAL.
-	 * If 1, it's REQUIRED.
-	 */
-	public int getMinOccur() {
-		return minOccur;
-	}
-
-	/**
-	 * getNodeName method
-	 * @return java.lang.String
-	 */
-	public String getNodeName() {
-		return nodeName;
-	}
-
-	/**
-	 * getNodeType method
-	 * @return int
-	 *
-	 * Returns one of :
-	 *
-	 */
-	public int getNodeType() {
-		return CMNode.ELEMENT_DECLARATION;
-	}
-
-	/**
-	 * @return
-	 */
-	public CMDocument getOwnerDocument() {
-		return fOwnerDocument;
-	}
-	/**
-	 * @return Returns the path.
-	 */
-	public String getPath() {
-		return fPath;
-	}
-
-	/**
-	 * getProperty method
-	 * @return java.lang.Object
-	 *
-	 * Returns the object property described by the propertyName
-	 *
-	 */
-	public Object getProperty(String propertyName) {
-		if (propertyName != null && propertyName.equals("tagInfo")) { //$NON-NLS-1$
-			return getTagInfo();	// return tag info
-			// bug88336 no need to restore markers 
-			// return StringUtils.restoreMarkers(getTagInfo()); // return tag description
-		}
-		else if (propertyName != null && propertyName.equals("description")) {	//$NON-NLS-1$
-			return getDescription();
-			// bug88336 no need to restore markers 
-			// return StringUtils.restoreMarkers(getDescription()); // return tag description
-		}
-		else if (propertyName.equals(TLDDocument.CM_KIND)) {
-			return TLDDocument.JSP_TLD;
-		}
-		else if (propertyName.equals(JSP12TLDNames.SMALL_ICON) || propertyName.equals(JSP12TLDNames.LARGE_ICON)) {
-			return getOwnerDocument().getProperty(propertyName);
-		}
-		return null;
-	}
-
-	/**
-	 * Gets the smallIcon.
-	 * @return Returns a String
-	 */
-	public String getSmallIcon() {
-		return smallIcon;
-	}
-	
-	/**
-	 * Returns the XPath of this element
-	 * (currently just returns the node name)
-	 * @return
-	 */
-	private String getSpec() {
-		return getNodeName();
-	}
-
-	/**
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getTagclass() {
-		return tagclass;
-	}
-	
-	/**
-	 * Get the taginfo for this current element
-	 * @return String taginfo if it exists, null otherwise
-	 */
-	private String getTagInfo() {
-		if (getOwnerDocument().supports("annotationMap")) { //$NON-NLS-1$
-			AnnotationMap map = (AnnotationMap)getOwnerDocument().getProperty("annotationMap"); //$NON-NLS-1$
-			String spec = getSpec();
-			String result = map.getProperty(spec, "tagInfo"); //$NON-NLS-1$
-			return result;
-			// bug88336 no need to restore markers 
-			// return StringUtils.restoreMarkers(result); // return tag info
-		}
-		return null;
-	}
-
-	/**
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getTeiclass() {
-		return teiclass;
-	}
-
-	/**
-	 * Gets the variables.
-	 * @return Returns a List
-	 */
-	public List getVariables() {
-		if (variables == null)
-			variables = new ArrayList();
-		return variables;
-	}
-
-	/**
-	 * 
-	 * @param newBodycontent java.lang.String
-	 */
-	public void setBodycontent(String newBodycontent) {
-		bodycontent = newBodycontent;
-	}
-
-	/**
-	 * Sets the description.
-	 * @param description The description to set
-	 */
-	public void setDescription(String description) {
-		this.description = description;
-	}
-
-	/**
-	 * Sets the displayName.
-	 * @param displayName The displayName to set
-	 */
-	public void setDisplayName(String displayName) {
-		this.displayName = displayName;
-	}
-	/**
-	 * @param example The example to set.
-	 */
-	public void setExample(String example) {
-		fExample = example;
-	}
-
-	/**
-	 * Sets the largeIcon.
-	 * @param largeIcon The largeIcon to set
-	 */
-	public void setLargeIcon(String largeIcon) {
-		this.largeIcon = largeIcon;
-	}
-
-	public void setNodeName(String string) {
-		nodeName = string;
-	}
-	/**
-	 * @param path The path to set.
-	 */
-	public void setPath(String path) {
-		fPath = path;
-	}
-
-	/**
-	 * Sets the smallIcon.
-	 * @param smallIcon The smallIcon to set
-	 */
-	public void setSmallIcon(String smallIcon) {
-		this.smallIcon = smallIcon;
-	}
-
-	/**
-	 * 
-	 * @param newTagclass java.lang.String
-	 */
-	public void setTagclass(String newTagclass) {
-		tagclass = newTagclass;
-	}
-
-	/**
-	 * 
-	 * @param newTeiclass java.lang.String
-	 */
-	public void setTeiclass(String newTeiclass) {
-		teiclass = newTeiclass;
-	}
-
-	/**
-	 * Sets the variables.
-	 * @param variables The variables to set
-	 */
-	public void setVariables(List variables) {
-		this.variables = variables;
-	}
-
-	/**
-	 * supports method
-	 * 
-	 * @return boolean
-	 * 
-	 * Returns true if the CMNode supports a specified property
-	 * 
-	 */
-	public boolean supports(String propertyName) {
-		return propertyName == null || propertyName.equals("tagInfo") || propertyName.equals(JSP12TLDNames.DESCRIPTION) || propertyName.equals(TLDDocument.CM_KIND) || propertyName.equals(JSP12TLDNames.SMALL_ICON) || propertyName.equals(JSP12TLDNames.LARGE_ICON);//$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	public String toString() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("\n\t " + super.toString()); //$NON-NLS-1$
-		buffer.append("\n\t name:" + StringUtils.escape(getNodeName())); //$NON-NLS-1$
-		buffer.append("\n\t tag class:" + StringUtils.escape(getTagclass())); //$NON-NLS-1$
-		buffer.append("\n\t tei class:" + StringUtils.escape(getTeiclass())); //$NON-NLS-1$
-		buffer.append("\n\t body content:" + StringUtils.escape(getBodycontent())); //$NON-NLS-1$
-		buffer.append("\n\t description (info):" + StringUtils.escape(getDescription())); //$NON-NLS-1$
-		buffer.append("\n\t attributes:"); //$NON-NLS-1$
-		CMNamedNodeMap attributes = getAttributes();
-		for (int i = 0; i < attributes.getLength(); i++) {
-			buffer.append("\n\t\t" + StringUtils.replace(attributes.item(i).toString(), "\n", "\n\t\t")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		}
-		buffer.append("\n\t variables:"); //$NON-NLS-1$
-		for (int i = 0; i < getVariables().size(); i++) {
-			buffer.append("\n\t\t" + StringUtils.replace(getVariables().get(i).toString(), "\n", "\n\t\t")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		}
-		return buffer.toString();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/CMNamedNodeMapImpl.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/CMNamedNodeMapImpl.java
deleted file mode 100644
index 38613f9..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/CMNamedNodeMapImpl.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.contentmodel.tld;
-
-
-
-import java.util.Hashtable;
-import java.util.Iterator;
-
-import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMNode;
-
-public class CMNamedNodeMapImpl implements CMNamedNodeMap {
-
-	public static CMNamedNodeMapImpl EMPTY_NAMED_NODE_MAP = new CMNamedNodeMapImpl();
-	protected Hashtable table = new Hashtable();
-
-	/**
-	 * CMNamedNodeMapImpl constructor comment.
-	 */
-	public CMNamedNodeMapImpl() {
-		super();
-	}
-
-	Hashtable getHashtable() {
-		return table;
-	}
-
-	/**
-	 * getLength method
-	 * @return int
-	 */
-	public int getLength() {
-		return table.size();
-	}
-
-	/**
-	 * getNamedItem method
-	 * @return CMNode
-	 * @param name java.lang.String
-	 */
-	public CMNode getNamedItem(String name) {
-		return (CMNode) table.get(name);
-	}
-
-	/**
-	 * item method
-	 * @return CMNode
-	 * @param index int
-	 */
-	public CMNode item(int index) {
-		Object result = null;
-		int size = table.size();
-		if (index < size) {
-			Iterator values = iterator();
-			for (int i = 0; i <= index; i++) {
-				result = values.next();
-			}
-		}
-		return (CMNode) result;
-	}
-
-	public Iterator iterator() {
-		return table.values().iterator();
-	}
-
-	/**
-	 * getNamedItem method
-	 * @return
-	 * @param name java.lang.String
-	 * @param aNode CMNode
-	 */
-	public void setNamedItem(String name, CMNode aNode) {
-		if (name != null && aNode != null)
-			table.put(name, aNode);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/CMNodeListImpl.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/CMNodeListImpl.java
deleted file mode 100644
index b066cf7..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/CMNodeListImpl.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.contentmodel.tld;
-
-
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.wst.xml.core.internal.contentmodel.CMNode;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMNodeList;
-
-public class CMNodeListImpl implements CMNodeList {
-	static CMNodeListImpl EMPTY_NODE_LIST = new CMNodeListImpl(Collections.EMPTY_LIST);
-	protected List list;
-
-	public CMNodeListImpl() {
-		this(new ArrayList());
-	}
-
-	public CMNodeListImpl(List list) {
-		this.list = list;
-	}
-
-	public void appendItem(CMNode node) {
-		list.add(node);
-	}
-
-	/**
-	 * getLength method
-	 * @return int
-	 */
-	public int getLength() {
-		return list.size();
-	}
-
-	public List getList() {
-		return list;
-	}
-
-	/**
-	 * item method
-	 * @return CMNode
-	 * @param index int
-	 */
-	public CMNode item(int index) {
-		return (CMNode) list.get(index);
-	}
-
-	public Iterator iterator() {
-		return list.iterator();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/TLDCMDocumentManager.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/TLDCMDocumentManager.java
deleted file mode 100644
index a89a923..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/TLDCMDocumentManager.java
+++ /dev/null
@@ -1,991 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.contentmodel.tld;
-
-
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Stack;
-
-import org.eclipse.core.filebuffers.FileBuffers;
-import org.eclipse.core.filebuffers.ITextFileBuffer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.core.runtime.content.IContentDescription;
-import org.eclipse.jst.jsp.core.internal.Logger;
-import org.eclipse.jst.jsp.core.internal.contentmodel.ITaglibIndexListener;
-import org.eclipse.jst.jsp.core.internal.contentmodel.ITaglibRecord;
-import org.eclipse.jst.jsp.core.internal.contentmodel.ITaglibRecordEvent;
-import org.eclipse.jst.jsp.core.internal.contentmodel.TaglibController;
-import org.eclipse.jst.jsp.core.internal.contentmodel.TaglibIndex;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.JSP11TLDNames;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.JSP12TLDNames;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.JSP20TLDNames;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDDocument;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDElementDeclaration;
-import org.eclipse.jst.jsp.core.internal.parser.JSPSourceParser;
-import org.eclipse.jst.jsp.core.internal.provisional.JSP12Namespace;
-import org.eclipse.jst.jsp.core.internal.regions.DOMJSPRegionContexts;
-import org.eclipse.wst.common.uriresolver.internal.provisional.URIResolverPlugin;
-import org.eclipse.wst.common.uriresolver.internal.util.URIHelper;
-import org.eclipse.wst.sse.core.internal.ltk.parser.BlockMarker;
-import org.eclipse.wst.sse.core.internal.ltk.parser.StructuredDocumentRegionHandler;
-import org.eclipse.wst.sse.core.internal.ltk.parser.StructuredDocumentRegionHandlerExtension;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegionList;
-import org.eclipse.wst.sse.core.internal.util.Assert;
-import org.eclipse.wst.sse.core.internal.util.Debug;
-import org.eclipse.wst.sse.core.internal.util.StringUtils;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMDocument;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.xml.core.internal.regions.DOMRegionContext;
-
-public class TLDCMDocumentManager implements ITaglibIndexListener {
-
-	protected class DirectiveStructuredDocumentRegionHandler implements StructuredDocumentRegionHandler, StructuredDocumentRegionHandlerExtension {
-
-		/**
-		 * Adds a block tagname (fully namespace qualified) into the list of
-		 * block tag names for the parser. The marker
-		 * IStructuredDocumentRegion along with position cues during reparses
-		 * allow the JSPSourceParser to enable/ignore the tags as blocks.
-		 */
-		protected void addBlockTag(String tagnameNS, IStructuredDocumentRegion marker) {
-			if (getParser() == null)
-				return;
-			if (getParser().getBlockMarker(tagnameNS) == null) {
-				getParser().addBlockMarker(new BlockMarker(tagnameNS, marker, DOMRegionContext.BLOCK_TEXT, true, false));
-				if (_debug) {
-					System.out.println("TLDCMDocumentManager added block marker: " + tagnameNS + "@" + marker.getStartOffset()); //$NON-NLS-2$//$NON-NLS-1$
-				}
-			}
-		}
-
-		/**
-		 * Enables a TLD owning the given prefix loaded from the given URI at
-		 * the anchorStructuredDocumentRegion. The list of
-		 * additionalCMDocuments will claim to not know any of its tags at
-		 * positions earlier than that IStructuredDocumentRegion's position.
-		 * 
-		 * For taglib directives, the taglib is the anchor while taglibs
-		 * registered through include directives use the parent document's
-		 * include directive as their anchor.
-		 * 
-		 * @param prefix
-		 * @param uri
-		 * @param anchorStructuredDocumentRegion
-		 */
-		protected void enableTaglibFromURI(String prefix, String uri, IStructuredDocumentRegion anchorStructuredDocumentRegion) {
-			if (prefix == null || uri == null || bannedPrefixes.contains(prefix))
-				return;
-			// Try to load the CMDocument for this URI
-			CMDocument tld = getCMDocument(uri);
-			if (tld == null || !(tld instanceof TLDDocument)) {
-				if (_debug) {
-					System.out.println("TLDCMDocumentManager failed to create a CMDocument for " + uri); //$NON-NLS-1$
-				}
-				return;
-			}
-			CMNamedNodeMap elements = tld.getElements();
-			// Go through the CMDocument for any tags that must be marked as
-			// block tags
-			// starting at the anchoring IStructuredDocumentRegion. As the
-			// document is edited and the
-			// IStructuredDocumentRegion moved around, the block tag
-			// enablement will automatically follow
-			// it.
-			for (int i = 0; i < elements.getLength(); i++) {
-				TLDElementDeclaration ed = (TLDElementDeclaration) elements.item(i);
-				if (ed.getBodycontent() == JSP12TLDNames.CONTENT_TAGDEPENDENT)
-					addBlockTag(prefix + ":" + ed.getNodeName(), anchorStructuredDocumentRegion); //$NON-NLS-1$
-			}
-			// Since modifications to StructuredDocumentRegions adjacent to a
-			// taglib directive can cause
-			// that IStructuredDocumentRegion to be reported, filter out any
-			// duplicated URIs. When the
-			// taglib is actually modified, a full rebuild will occur and no
-			// duplicates
-			// will/should be found.
-			List trackers = getTaglibTrackers();
-			for (int i = 0; i < trackers.size(); i++) {
-				TaglibTracker tracker = (TaglibTracker) trackers.get(i);
-				if (tracker.getPrefix().equals(prefix) && tracker.getURI().equals(uri)) {
-					return;
-				}
-			}
-			if (_debug) {
-				System.out.println("TLDCMDocumentManager registered a tracker for " + uri + " with prefix " + prefix); //$NON-NLS-2$//$NON-NLS-1$
-			}
-			getTaglibTrackers().add(new TaglibTracker(uri, prefix, tld, anchorStructuredDocumentRegion));
-		}
-
-		/**
-		 * Enables a TLD owning the given prefix loaded from the given URI at
-		 * the anchorStructuredDocumentRegion. The list of
-		 * additionalCMDocuments will claim to not know any of its tags at
-		 * positions earlier than that IStructuredDocumentRegion's position.
-		 * 
-		 * For taglib directives, the taglib is the anchor while taglibs
-		 * registered through include directives use the parent document's
-		 * include directive as their anchor.
-		 * 
-		 * @param prefix
-		 * @param uri
-		 * @param taglibStructuredDocumentRegion
-		 */
-		protected void enableTagsInDir(String prefix, String tagdir, IStructuredDocumentRegion taglibStructuredDocumentRegion) {
-			if (prefix == null || tagdir == null || bannedPrefixes.contains(prefix))
-				return;
-			if (_debug) {
-				System.out.println("TLDCMDocumentManager enabling tags from directory" + tagdir + " for prefix " + prefix); //$NON-NLS-2$//$NON-NLS-1$
-			}
-			// Try to load the CMDocument for this URI
-			CMDocument tld = getImplicitCMDocument(tagdir);
-			if (tld == null || !(tld instanceof TLDDocument))
-				return;
-			CMNamedNodeMap elements = tld.getElements();
-			// Go through the CMDocument for any tags that must be marked as
-			// block tags
-			// starting at the anchoring IStructuredDocumentRegion. As the
-			// document is edited and the
-			// IStructuredDocumentRegion moved around, the block tag
-			// enablement will automatically follow
-			// it.
-			for (int i = 0; i < elements.getLength(); i++) {
-				TLDElementDeclaration ed = (TLDElementDeclaration) elements.item(i);
-				if (ed.getBodycontent() == JSP12TLDNames.CONTENT_TAGDEPENDENT)
-					addBlockTag(prefix + ":" + ed.getNodeName(), taglibStructuredDocumentRegion); //$NON-NLS-1$
-			}
-			// Since modifications to StructuredDocumentRegions adjacent to a
-			// taglib directive can cause
-			// that IStructuredDocumentRegion to be reported, filter out any
-			// duplicated URIs. When the
-			// taglib is actually modified, a full rebuild will occur and no
-			// duplicates
-			// will/should be found.
-			List trackers = getTaglibTrackers();
-			for (int i = 0; i < trackers.size(); i++) {
-				TaglibTracker tracker = (TaglibTracker) trackers.get(i);
-				if (tracker.getPrefix().equals(prefix) && tracker.getURI().equals(tagdir)) {
-					return;
-				}
-			}
-			if (_debug) {
-				System.out.println("TLDCMDocumentManager registered a tracker for directory" + tagdir + " with prefix " + prefix); //$NON-NLS-2$//$NON-NLS-1$
-			}
-			getTaglibTrackers().add(new TaglibTracker(tagdir, prefix, tld, taglibStructuredDocumentRegion));
-		}
-
-		public void nodeParsed(IStructuredDocumentRegion aCoreStructuredDocumentRegion) {
-			// could test > 1, but since we only care if there are 8 (<%@,
-			// taglib, uri, =, where, prefix, =, what) [or 4 for includes]
-			if (aCoreStructuredDocumentRegion.getNumberOfRegions() > 4 && aCoreStructuredDocumentRegion.getRegions().get(1).getType() == DOMJSPRegionContexts.JSP_DIRECTIVE_NAME) {
-				ITextRegion name = aCoreStructuredDocumentRegion.getRegions().get(1);
-				try {
-					if (getParser() == null) {
-						Logger.log(Logger.WARNING, "Warning: parser text was requested by " + getClass().getName() + " but none was available; taglib support disabled"); //$NON-NLS-1$ //$NON-NLS-2$
-					}
-					else {
-						boolean taglibDetected = false;
-						boolean taglibDirectiveDetected = false;
-						boolean includeDetected = false;
-						boolean includeDirectiveDetected = false;
-						int startOffset = aCoreStructuredDocumentRegion.getStartOffset(name);
-						int textLength = name.getTextLength();
-
-						if (getParser() != null) {
-							taglibDetected = getParser().regionMatches(startOffset, textLength, JSP12TLDNames.TAGLIB);
-							taglibDirectiveDetected = getParser().regionMatches(startOffset, textLength, JSP12Namespace.ElementName.DIRECTIVE_TAGLIB);
-							includeDetected = getParser().regionMatches(startOffset, textLength, JSP12TLDNames.INCLUDE);
-							includeDirectiveDetected = getParser().regionMatches(startOffset, textLength, JSP12Namespace.ElementName.DIRECTIVE_INCLUDE);
-						}
-						else {
-							// old fashioned way
-							String directiveName = getParser().getText(startOffset, textLength);
-							taglibDetected = directiveName.equals(JSP12TLDNames.TAGLIB);
-							taglibDirectiveDetected = directiveName.equals(JSP12Namespace.ElementName.DIRECTIVE_TAGLIB);
-							includeDetected = directiveName.equals(JSP12TLDNames.INCLUDE);
-							includeDirectiveDetected = directiveName.equals(JSP12Namespace.ElementName.DIRECTIVE_INCLUDE);
-						}
-						if (taglibDetected || taglibDirectiveDetected) {
-							processTaglib(aCoreStructuredDocumentRegion);
-						}
-						else if (includeDetected || includeDirectiveDetected) {
-							processInclude(aCoreStructuredDocumentRegion);
-						}
-					}
-				}
-				catch (StringIndexOutOfBoundsException sioobExc) {
-					// do nothing
-				}
-			}
-			// could test > 1, but since we only care if there are 5 (<,
-			// jsp:root, xmlns:prefix, =, where)
-			else if (aCoreStructuredDocumentRegion.getNumberOfRegions() > 4 && aCoreStructuredDocumentRegion.getRegions().get(1).getType() == DOMJSPRegionContexts.JSP_ROOT_TAG_NAME) {
-				if (getParser() == null) {
-					Logger.log(Logger.WARNING, "Warning: parser text was requested by " + getClass().getName() + " but none was available; taglib support disabled"); //$NON-NLS-1$ //$NON-NLS-2$
-				}
-				else {
-					processJSPRoot(aCoreStructuredDocumentRegion);
-				}
-			}
-		}
-
-		protected void processInclude(IStructuredDocumentRegion aCoreStructuredDocumentRegion) {
-			processInclude(aCoreStructuredDocumentRegion, aCoreStructuredDocumentRegion, getParser());
-		}
-
-		/**
-		 * Process an include directive found by the textSource parser and
-		 * anchor any taglibs found within at the
-		 * anchorStructuredDocumentRegion. Includes use the including file as
-		 * the point of reference, not necessarily the "top" file.
-		 */
-		protected void processInclude(IStructuredDocumentRegion includeStructuredDocumentRegion, IStructuredDocumentRegion anchorStructuredDocumentRegion, JSPSourceParser textSource) {
-			ITextRegionList regions = includeStructuredDocumentRegion.getRegions();
-			String includedFile = null;
-			boolean isFilename = false;
-			try {
-				for (int i = 0; i < regions.size(); i++) {
-					ITextRegion region = regions.get(i);
-					if (region.getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_NAME) {
-						if (textSource.getText(includeStructuredDocumentRegion.getStartOffset(region), region.getTextLength()).equals(JSP12TLDNames.FILE)) {
-							isFilename = true;
-						}
-						else {
-							isFilename = false;
-						}
-					}
-					else if (isFilename && region.getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_VALUE) {
-						includedFile = textSource.getText(includeStructuredDocumentRegion.getStartOffset(region), region.getTextLength());
-						isFilename = false;
-					}
-				}
-			}
-			catch (StringIndexOutOfBoundsException sioobExc) {
-				// nothing to be done
-				includedFile = null;
-			}
-			if (includedFile != null) {
-				IPath root = TaglibIndex.getContextRoot(getCurrentBaseLocation());
-				IPath fileLocation = new Path(URIHelper.normalize(StringUtils.strip(includedFile).trim(), getCurrentBaseLocation().toString(), root.toString()));
-				// check for "loops"
-				if (!getIncludes().contains(fileLocation) && fileLocation != null && !fileLocation.equals(getCurrentBaseLocation())) {
-
-					// prevent slow performance when editing scriptlet part of
-					// the JSP
-					// only process includes if they've been modified
-					if (hasAnyIncludeBeenModified(fileLocation.toString())) {
-						getIncludes().push(fileLocation);
-						if (getParser() != null)
-							new IncludeHelper(anchorStructuredDocumentRegion, getParser()).parse(fileLocation.toString());
-						else
-							Logger.log(Logger.WARNING, "Warning: parser text was requested by " + getClass().getName() + " but none was available; taglib support disabled"); //$NON-NLS-1$ //$NON-NLS-2$
-						getIncludes().pop();
-					}
-				}
-				else {
-					if (Debug.debugTokenizer)
-						System.out.println("LOOP IN @INCLUDES FOUND: " + fileLocation); //$NON-NLS-1$
-				}
-			}
-		}
-
-		// Pulls the URI and prefix from the given jsp:root
-		// IStructuredDocumentRegion and
-		// makes sure the tags are known.
-		protected void processJSPRoot(IStructuredDocumentRegion jspRootStructuredDocumentRegion) {
-			processJSPRoot(jspRootStructuredDocumentRegion, jspRootStructuredDocumentRegion, getParser());
-		}
-
-		protected void processJSPRoot(IStructuredDocumentRegion taglibStructuredDocumentRegion, IStructuredDocumentRegion anchorStructuredDocumentRegion, JSPSourceParser textSource) {
-			ITextRegionList regions = taglibStructuredDocumentRegion.getRegions();
-			String uri = null;
-			String prefix = null;
-			boolean taglib = false;
-			try {
-				for (int i = 0; i < regions.size(); i++) {
-					ITextRegion region = regions.get(i);
-					if (region.getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_NAME) {
-						String name = textSource.getText(taglibStructuredDocumentRegion.getStartOffset(region), region.getTextLength());
-						if (name.startsWith(XMLNS)) { //$NON-NLS-1$
-							prefix = name.substring(XMLNS_LENGTH);
-							if (!bannedPrefixes.contains(prefix))
-								taglib = true;
-						}
-						else {
-							prefix = null;
-							taglib = false;
-						}
-					}
-					else if (taglib && region.getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_VALUE) {
-						uri = textSource.getText(taglibStructuredDocumentRegion.getStartOffset(region), region.getTextLength());
-						if (uri != null && prefix != null && (StringUtils.strip(uri).length() > 0) && (StringUtils.strip(prefix).length() > 0)) {
-							if (anchorStructuredDocumentRegion == null)
-								enableTaglibFromURI(StringUtils.strip(prefix), StringUtils.strip(uri), taglibStructuredDocumentRegion);
-							else
-								enableTaglibFromURI(StringUtils.strip(prefix), StringUtils.strip(uri), anchorStructuredDocumentRegion);
-							uri = null;
-							prefix = null;
-						}
-					}
-				}
-			}
-			catch (StringIndexOutOfBoundsException sioobExc) {
-				// nothing to be done
-				uri = null;
-				prefix = null;
-			}
-		}
-
-		protected void processTaglib(IStructuredDocumentRegion taglibStructuredDocumentRegion) {
-			processTaglib(taglibStructuredDocumentRegion, taglibStructuredDocumentRegion, getParser());
-		}
-
-		/**
-		 * Pulls the URI and prefix from the given taglib directive
-		 * IStructuredDocumentRegion and makes sure the tags are known.
-		 */
-		protected void processTaglib(IStructuredDocumentRegion taglibStructuredDocumentRegion, IStructuredDocumentRegion anchorStructuredDocumentRegion, JSPSourceParser textSource) {
-			ITextRegionList regions = taglibStructuredDocumentRegion.getRegions();
-			String uri = null;
-			String prefix = null;
-			String tagdir = null;
-			String attrName = null;
-			try {
-				for (int i = 0; i < regions.size(); i++) {
-					ITextRegion region = regions.get(i);
-					// remember attribute name
-					int startOffset = taglibStructuredDocumentRegion.getStartOffset(region);
-					int textLength = region.getTextLength();
-					if (region.getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_NAME) {
-						// String name = textSource.getText(startOffset,
-						// textLength);
-						if (textSource.regionMatches(startOffset, textLength, JSP11TLDNames.PREFIX)) {
-							attrName = JSP11TLDNames.PREFIX;
-						}
-						else if (textSource.regionMatches(startOffset, textLength, JSP12TLDNames.URI)) {
-							attrName = JSP11TLDNames.URI;
-						}
-						else if (textSource.regionMatches(startOffset, textLength, JSP20TLDNames.TAGDIR)) {
-							attrName = JSP20TLDNames.TAGDIR;
-						}
-						else {
-							attrName = null;
-						}
-					}
-					// process value
-					else if (region.getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_VALUE) {
-						if (JSP11TLDNames.PREFIX.equals(attrName))
-							prefix = textSource.getText(startOffset, textLength);
-						else if (JSP11TLDNames.URI.equals(attrName))
-							uri = textSource.getText(startOffset, textLength);
-						else if (JSP20TLDNames.TAGDIR.equals(attrName))
-							tagdir = textSource.getText(startOffset, textLength);
-					}
-				}
-			}
-			catch (StringIndexOutOfBoundsException sioobExc) {
-				// nothing to be done
-				uri = null;
-				prefix = null;
-			}
-			if (uri != null && prefix != null && (StringUtils.strip(uri).length() > 0) && (StringUtils.strip(prefix).length() > 0)) {
-				if (anchorStructuredDocumentRegion == null)
-					enableTaglibFromURI(StringUtils.strip(prefix), StringUtils.strip(uri), taglibStructuredDocumentRegion);
-				else
-					enableTaglibFromURI(StringUtils.strip(prefix), StringUtils.strip(uri), anchorStructuredDocumentRegion);
-			}
-			else if (tagdir != null && prefix != null && (StringUtils.strip(tagdir).length() > 0) && (StringUtils.strip(prefix).length() > 0)) {
-				if (anchorStructuredDocumentRegion == null)
-					enableTagsInDir(StringUtils.strip(prefix), StringUtils.strip(tagdir), taglibStructuredDocumentRegion);
-				else
-					enableTagsInDir(StringUtils.strip(prefix), StringUtils.strip(tagdir), anchorStructuredDocumentRegion);
-			}
-		}
-
-		private void resetBlockTags() {
-			if (getParser() == null)
-				return;
-			Iterator names = getParser().getBlockMarkers().iterator();
-			while (names.hasNext()) {
-				BlockMarker marker = (BlockMarker) names.next();
-				if (!marker.isGlobal() && marker.getContext() == DOMRegionContext.BLOCK_TEXT) {
-					if (_debug) {
-						System.out.println("TLDCMDocumentManager removing block tag named: " + marker.getTagName()); //$NON-NLS-1$
-					}
-					names.remove();
-				}
-			}
-		}
-
-		public void resetNodes() {
-			if (Debug.debugTaglibs)
-				System.out.println(getClass().getName() + ": resetting"); //$NON-NLS-1$
-			getIncludes().clear();
-			resetBlockTags();
-			resetTaglibTrackers();
-		}
-
-		public void setStructuredDocument(IStructuredDocument newDocument) {
-			Assert.isTrue(newDocument != null, "null document"); //$NON-NLS-1$
-			Assert.isTrue(newDocument.getParser() != null, "null document parser"); //$NON-NLS-1$
-			Assert.isTrue(newDocument.getParser() instanceof JSPSourceParser, "can only listen to document with a JSPSourceParser"); //$NON-NLS-1$
-			getSourceParser().removeStructuredDocumentRegionHandler(this);
-			setSourceParser((JSPSourceParser) newDocument.getParser());
-			getSourceParser().addStructuredDocumentRegionHandler(this);
-		}
-	}
-
-	protected class IncludeHelper extends DirectiveStructuredDocumentRegionHandler {
-		protected IStructuredDocumentRegion fAnchor = null;
-		protected JSPSourceParser fLocalParser = null;
-		protected JSPSourceParser fParentParser = null;
-
-		public IncludeHelper(IStructuredDocumentRegion anchor, JSPSourceParser rootParser) {
-			super();
-			fAnchor = anchor;
-			fParentParser = rootParser;
-		}
-
-		private String detectCharset(IFile file) {
-			if (file.getType() == IResource.FILE && file.isAccessible()) {
-				IContentDescription d = null;
-				try {
-					// optimized description lookup, might not succeed
-					d = file.getContentDescription();
-					if (d != null)
-						return d.getCharset();
-				}
-				catch (CoreException e) {
-					// should not be possible given the accessible and file
-					// type
-					// check above
-				}
-				InputStream contents = null;
-				try {
-					contents = file.getContents();
-					IContentDescription description = Platform.getContentTypeManager().getDescriptionFor(contents, file.getName(), new QualifiedName[]{IContentDescription.CHARSET});
-					if (description != null) {
-						return description.getCharset();
-					}
-				}
-				catch (IOException e) {
-					// will try to cleanup in finally
-				}
-				catch (CoreException e) {
-					Logger.logException(e);
-				}
-				finally {
-					if (contents != null) {
-						try {
-							contents.close();
-						}
-						catch (Exception e) {
-							// not sure how to recover at this point
-						}
-					}
-				}
-			}
-			return ResourcesPlugin.getEncoding();
-		}
-
-		protected String getContents(String fileName) {
-			StringBuffer s = new StringBuffer();
-			IFile iFile = FileBuffers.getWorkspaceFileAtLocation(new Path(fileName));
-			if (iFile != null && iFile.exists()) {
-				String charset = detectCharset(iFile);
-				InputStream contents = null;
-				try {
-					contents = iFile.getContents();
-					Reader reader = new InputStreamReader(contents, charset);
-					char[] readBuffer = new char[2048];
-					int n = reader.read(readBuffer);
-					while (n > 0) {
-						s.append(readBuffer, 0, n);
-						n = reader.read(readBuffer);
-					}
-				}
-				catch (Exception e) {
-					if (Debug.debugStructuredDocument)
-						Logger.log(Logger.WARNING, "An exception occured while scanning " + fileName, e); //$NON-NLS-1$
-				}
-				finally {
-					try {
-						if (contents != null) {
-							contents.close();
-						}
-					}
-					catch (Exception e) {
-						// nothing to do
-					}
-				}
-			}
-			else {
-				int c = 0;
-				int length = 0;
-				int count = 0;
-				File file = null;
-				FileInputStream fis = null;
-				try {
-					file = new File(fileName);
-					length = (int) file.length();
-					fis = new FileInputStream(file);
-					while (((c = fis.read()) >= 0) && (count < length)) {
-						count++;
-						s.append((char) c);
-					}
-				}
-				catch (FileNotFoundException e) {
-					if (Debug.debugStructuredDocument)
-						System.out.println("File not found : \"" + fileName + "\""); //$NON-NLS-2$//$NON-NLS-1$
-				}
-				catch (ArrayIndexOutOfBoundsException e) {
-					if (Debug.debugStructuredDocument)
-						System.out.println("Usage wrong: specify inputfile"); //$NON-NLS-1$
-					//$NON-NLS-1$
-				}
-				catch (IOException e) {
-					if (Debug.debugStructuredDocument)
-						System.out.println("An I/O error occured while scanning :"); //$NON-NLS-1$
-					//$NON-NLS-1$
-				}
-				catch (Exception e) {
-					if (Debug.debugStructuredDocument)
-						e.printStackTrace();
-				}
-				finally {
-					try {
-						if (fis != null) {
-							fis.close();
-						}
-					}
-					catch (Exception e) {
-						// nothing to do
-					}
-				}
-			}
-			return s.toString();
-		}
-
-		public void nodeParsed(IStructuredDocumentRegion aCoreStructuredDocumentRegion) {
-			// could test > 1, but since we only care if there are 8 (<%@,
-			// taglib, uri, =, where, prefix, =, what)
-			if (aCoreStructuredDocumentRegion.getNumberOfRegions() > 1 && aCoreStructuredDocumentRegion.getRegions().get(1).getType() == DOMJSPRegionContexts.JSP_DIRECTIVE_NAME) {
-				ITextRegion name = aCoreStructuredDocumentRegion.getRegions().get(1);
-				try {
-					String directiveName = fLocalParser.getText(aCoreStructuredDocumentRegion.getStartOffset(name), name.getTextLength());
-					if (directiveName.equals(JSP12TLDNames.TAGLIB) || directiveName.equals(JSP12Namespace.ElementName.DIRECTIVE_TAGLIB)) {
-						processTaglib(aCoreStructuredDocumentRegion, fAnchor, fLocalParser);
-					}
-					if (directiveName.equals(JSP12TLDNames.INCLUDE) || directiveName.equals(JSP12Namespace.ElementName.DIRECTIVE_INCLUDE)) {
-						processInclude(aCoreStructuredDocumentRegion, fAnchor, fLocalParser);
-					}
-				}
-				catch (StringIndexOutOfBoundsException sioobExc) {
-					// do nothing
-				}
-			}
-			// could test > 1, but since we only care if there are 5 (<,
-			// jsp:root, xmlns:prefix, =, where)
-			else if (aCoreStructuredDocumentRegion.getNumberOfRegions() > 4 && aCoreStructuredDocumentRegion.getRegions().get(1).getType() == DOMJSPRegionContexts.JSP_ROOT_TAG_NAME) {
-				processJSPRoot(aCoreStructuredDocumentRegion, fAnchor, fLocalParser);
-			}
-		}
-
-		public void parse(String filename) {
-			JSPSourceParser p = new JSPSourceParser();
-			fLocalParser = p;
-			List blockTags = fParentParser.getBlockMarkers();
-			String includedFilename = filename;
-			File baseFile = FileBuffers.getSystemFileAtLocation(new Path(includedFilename));
-			try {
-				if (baseFile != null)
-					includedFilename = baseFile.getCanonicalPath();
-			}
-			catch (IOException e) {
-			}
-			String s = getContents(includedFilename);
-			fLocalParser.addStructuredDocumentRegionHandler(this);
-			fLocalParser.reset(s);
-			for (int i = 0; i < blockTags.size(); i++) {
-				BlockMarker marker = (BlockMarker) blockTags.get(i);
-				fLocalParser.addBlockMarker(new BlockMarker(marker.getTagName(), null, marker.getContext(), marker.isCaseSensitive()));
-			}
-			// force parse
-			fLocalParser.getDocumentRegions();
-			fLocalParser = null;
-		}
-
-		public void resetNodes() {
-		}
-
-	}
-
-	static final boolean _debug = "true".equalsIgnoreCase(Platform.getDebugOption("org.eclipse.jst.jsp.core/debug/tldcmdocument/manager")); //$NON-NLS-1$ //$NON-NLS-2$
-
-	// will hold the prefixes banned by the specification; taglibs may not use
-	// them
-	protected static List bannedPrefixes = null;
-	static final String XMLNS = "xmlns:"; //$NON-NLS-1$ 
-	static final int XMLNS_LENGTH = XMLNS.length();
-
-	static {
-		bannedPrefixes = new ArrayList(7);
-		bannedPrefixes.add("jsp"); //$NON-NLS-1$
-		bannedPrefixes.add("jspx"); //$NON-NLS-1$
-		bannedPrefixes.add("java"); //$NON-NLS-1$
-		bannedPrefixes.add("javax"); //$NON-NLS-1$
-		bannedPrefixes.add("servlet"); //$NON-NLS-1$
-		bannedPrefixes.add("sun"); //$NON-NLS-1$
-		bannedPrefixes.add("sunw"); //$NON-NLS-1$
-	}
-
-	private CMDocumentFactoryTLD fCMDocumentBuilder = null;
-	private DirectiveStructuredDocumentRegionHandler fDirectiveHandler = null;
-	private Hashtable fDocuments = null;
-	private Stack fIncludes = null;
-
-	private JSPSourceParser fParser = null;
-
-	// trivial hand edit to remove unused variable private URIResolverProvider
-	// fResolverProvider = null;
-
-	private List fTaglibTrackers = null;
-
-	// timestamp cache to prevent excessive reparsing
-	// of included files
-	// String (filepath) > Long (modification stamp)
-	HashMap fInclude2TimestampMap = new HashMap();
-
-	public TLDCMDocumentManager() {
-		super();
-	}
-
-	public void clearCache() {
-		if (_debug) {
-			System.out.println("TLDCMDocumentManager cleared its CMDocument cache"); //$NON-NLS-1$
-		}
-		getDocuments().clear();
-	}
-
-	/**
-	 * Return the CMDocument at the uri (cached)
-	 */
-	protected CMDocument getCMDocument(String uri) {
-		if (uri == null || uri.length() == 0)
-			return null;
-		String reference = uri;
-		/**
-		 * JSP 1.2 Specification, section 5.2.2 jsp-1_2-fcs-spec.pdf, page 87
-		 */
-		String URNprefix = "urn:jsptld:"; //$NON-NLS-1$
-		if (reference.startsWith(URNprefix)) {
-			/**
-			 * @see section 7.3.2
-			 */
-			if (reference.length() > URNprefix.length())
-				reference = reference.substring(11);
-		}
-		else {
-			/**
-			 * @see section 7.3.6
-			 */
-		}
-		CMDocument doc = (CMDocument) getDocuments().get(reference);
-		if (doc == null) {
-			doc = loadTaglib(reference);
-			if (doc != null)
-				getDocuments().put(reference, doc);
-		}
-		return doc;
-	}
-
-	/**
-	 * Gets the cMDocumentBuilder.
-	 * 
-	 * @return Returns a CMDocumentFactoryTLD, since it has more builder
-	 *         methods
-	 */
-	protected CMDocumentFactoryTLD getCMDocumentBuilder() {
-		if (fCMDocumentBuilder == null)
-			fCMDocumentBuilder = new CMDocumentFactoryTLD();
-		return fCMDocumentBuilder;
-	}
-
-	public List getCMDocumentTrackers(int offset) {
-		List validDocs = new ArrayList();
-		Iterator alldocs = getTaglibTrackers().iterator();
-		while (alldocs.hasNext()) {
-			TaglibTracker aTracker = (TaglibTracker) alldocs.next();
-			if (aTracker.getStructuredDocumentRegion().getStartOffset() < offset || offset < 0) {
-				validDocs.add(aTracker);
-			}
-		}
-		return validDocs;
-	}
-
-	public List getCMDocumentTrackers(String prefix, int offset) {
-		List validDocs = new ArrayList();
-		Iterator alldocs = getTaglibTrackers().iterator();
-		while (alldocs.hasNext()) {
-			TaglibTracker aTracker = (TaglibTracker) alldocs.next();
-			if ((aTracker.getStructuredDocumentRegion().getStartOffset() < offset || offset < 0) && aTracker.getPrefix().equals(prefix)) {
-				validDocs.add(aTracker);
-			}
-		}
-		return validDocs;
-	}
-
-	/**
-	 * 
-	 * @return java.lang.String
-	 */
-	IPath getCurrentBaseLocation() {
-		IPath baseLocation = null;
-		if (!getIncludes().isEmpty()) {
-			baseLocation = (IPath) getIncludes().peek();
-		}
-		else {
-			IPath path = TaglibController.getFileBuffer(this).getLocation();
-			if (path.toFile().exists())
-				baseLocation = path;
-			else
-				baseLocation = ResourcesPlugin.getWorkspace().getRoot().getFile(path).getLocation();
-		}
-		return baseLocation;
-	}
-
-	protected DirectiveStructuredDocumentRegionHandler getDirectiveStructuredDocumentRegionHandler() {
-		if (fDirectiveHandler == null)
-			fDirectiveHandler = new DirectiveStructuredDocumentRegionHandler();
-		return fDirectiveHandler;
-	}
-
-	/**
-	 * Gets the documents.
-	 * 
-	 * @return Returns a Hashtable
-	 */
-	public Hashtable getDocuments() {
-		if (fDocuments == null)
-			fDocuments = new Hashtable();
-		return fDocuments;
-	}
-
-	/**
-	 * Return the CMDocument at the tagdir (cached)
-	 */
-	protected CMDocument getImplicitCMDocument(String tagdir) {
-		if (tagdir == null || tagdir.length() == 0)
-			return null;
-		String reference = tagdir;
-		/**
-		 * JSP 1.2 Specification, section 5.2.2 jsp-1_2-fcs-spec.pdf, page 87
-		 */
-		String URNprefix = "urn:jsptld:"; //$NON-NLS-1$
-		if (reference.startsWith(URNprefix)) {
-			/**
-			 * @see section 7.3.2
-			 */
-			if (reference.length() > URNprefix.length())
-				reference = reference.substring(11);
-		}
-		else {
-			/**
-			 * @see section 7.3.6
-			 */
-		}
-		CMDocument doc = (CMDocument) getDocuments().get(reference);
-		if (doc == null) {
-			doc = loadTagDir(reference);
-			if (doc != null)
-				getDocuments().put(reference, doc);
-		}
-		return doc;
-	}
-
-	/**
-	 * Gets the includes.
-	 * 
-	 * @return Returns a Stack
-	 */
-	protected Stack getIncludes() {
-		if (fIncludes == null)
-			fIncludes = new Stack();
-		return fIncludes;
-	}
-
-	JSPSourceParser getParser() {
-		return fParser;
-	}
-
-	public JSPSourceParser getSourceParser() {
-		return fParser;
-	}
-
-	public StructuredDocumentRegionHandler getStructuredDocumentRegionHandler() {
-		return getDirectiveStructuredDocumentRegionHandler();
-	}
-
-	/**
-	 * 
-	 * @return java.util.List
-	 */
-	public List getTaglibTrackers() {
-		if (fTaglibTrackers == null)
-			fTaglibTrackers = new ArrayList();
-		return fTaglibTrackers;
-	}
-
-	public void indexChanged(ITaglibRecordEvent event) {
-	}
-
-	/**
-	 * Loads the tags from the specified URI. It must point to a URL of valid
-	 * tag files to work.
-	 */
-	protected CMDocument loadTagDir(String uri) {
-		ITaglibRecord reference = TaglibIndex.resolve(getCurrentBaseLocation().toString(), uri, false);
-		if (reference != null) {
-			CMDocument document = getCMDocumentBuilder().createCMDocument(reference);
-			if (document != null) {
-				return document;
-			}
-		}
-		// JSP2_TODO: implement for JSP 2.0
-		String location = URIResolverPlugin.createResolver().resolve(getCurrentBaseLocation().toString(), null, uri);
-		if (location == null)
-			return null;
-		if (_debug) {
-			System.out.println("Loading tags from dir" + uri + " at " + location); //$NON-NLS-2$//$NON-NLS-1$
-		}
-		return getCMDocumentBuilder().createCMDocument(location);
-	}
-
-	/**
-	 * Loads the taglib from the specified URI. It must point to a valid
-	 * taglib descriptor or valid JAR file to work.
-	 */
-	protected CMDocument loadTaglib(String uri) {
-		CMDocument document = null;
-		ITextFileBuffer fileBuffer = TaglibController.getFileBuffer(this);
-		if (fileBuffer != null) {
-			ITaglibRecord reference = TaglibIndex.resolve(fileBuffer.getLocation().toString(), uri, false);
-			if (reference != null) {
-				document = getCMDocumentBuilder().createCMDocument(reference);
-			}
-			else {
-				String location = URIResolverPlugin.createResolver().resolve(getCurrentBaseLocation().toString(), null, uri);
-				if (location != null) {
-					if (_debug) {
-						System.out.println("Loading tags from " + uri + " at " + location); //$NON-NLS-2$//$NON-NLS-1$
-					}
-					document = getCMDocumentBuilder().createCMDocument(location);
-				}
-			}
-		}
-		return document;
-	}
-
-	protected void resetTaglibTrackers() {
-		if (_debug) {
-			System.out.println("TLDCMDocumentManager cleared its taglib trackers\n"); //$NON-NLS-1$
-		}
-		getTaglibTrackers().clear();
-	}
-
-	public void setSourceParser(JSPSourceParser parser) {
-		if (fParser != null)
-			fParser.removeStructuredDocumentRegionHandler(getStructuredDocumentRegionHandler());
-		fParser = parser;
-		if (fParser != null)
-			fParser.addStructuredDocumentRegionHandler(getStructuredDocumentRegionHandler());
-	}
-
-	/**
-	 * @param fileLocation
-	 *            the "root" file
-	 */
-	boolean hasAnyIncludeBeenModified(String fileLocation) {
-
-		boolean result = false;
-		// check the top level
-		if (hasBeenModified(fileLocation)) {
-			result = true;
-		}
-		else {
-			// check all includees
-			Iterator iter = fInclude2TimestampMap.keySet().iterator();
-			while (iter.hasNext()) {
-				if (hasBeenModified((String) iter.next())) {
-					result = true;
-					break;
-				}
-			}
-		}
-		return result;
-	}
-
-	/**
-	 * @param filename
-	 * @return
-	 */
-	boolean hasBeenModified(String filename) {
-
-		boolean result = false;
-		// quick filename/timestamp cache check here...
-		IPath filePath = new Path(filename);
-		IFile f = ResourcesPlugin.getWorkspace().getRoot().getFileForLocation(filePath);
-		if (f == null && filePath.segmentCount() > 1) {
-			f = ResourcesPlugin.getWorkspace().getRoot().getFile(filePath);
-		}
-		if (f != null && f.exists()) {
-			Long currentStamp = new Long(f.getModificationStamp());
-			Object o = fInclude2TimestampMap.get(filename);
-			if (o != null) {
-				Long previousStamp = (Long) o;
-				// stamps don't match, file changed
-				if (currentStamp.longValue() != previousStamp.longValue()) {
-					result = true;
-					// store for next time
-					fInclude2TimestampMap.put(filename, currentStamp);
-				}
-			}
-			else {
-				// return true, since we've not encountered this file yet.
-				result = true;
-				// store for next time
-				fInclude2TimestampMap.put(filename, currentStamp);
-			}
-		}
-		return result;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/TLDFunctionImpl.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/TLDFunctionImpl.java
deleted file mode 100644
index 65c7de0..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/TLDFunctionImpl.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.contentmodel.tld;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDFunction;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMDocument;
-
-public class TLDFunctionImpl implements TLDFunction {
-	private String fClassName = null;
-	private String fDescription = null;
-	private String fDisplayName = null;
-	private String fExample = null;
-	private List fExtensions = new ArrayList(0);
-	private String fIcon = null;
-	private String fName = null;
-
-	private CMDocument fOwnerDocument = null;
-	private String fSignature = null;
-
-	public TLDFunctionImpl(CMDocument owner) {
-		super();
-		fOwnerDocument = owner;
-	}
-
-	/**
-	 * @return Returns the className.
-	 */
-	public String getClassName() {
-		return fClassName;
-	}
-	/**
-	 * @return Returns the description.
-	 */
-	public String getDescription() {
-		return fDescription;
-	}
-
-	/**
-	 * @return Returns the displayName.
-	 */
-	public String getDisplayName() {
-		return fDisplayName;
-	}
-
-	/**
-	 * @return Returns the example.
-	 */
-	public String getExample() {
-		return fExample;
-	}
-
-	/**
-	 * @return Returns the extensions.
-	 */
-	public List getExtensions() {
-		return fExtensions;
-	}
-
-	/**
-	 * @return Returns the icon.
-	 */
-	public String getIcon() {
-		return fIcon;
-	}
-
-	/**
-	 * @return Returns the name.
-	 */
-	public String getName() {
-		return fName;
-	}
-
-	/**
-	 * @return Returns the ownerDocument.
-	 */
-	public CMDocument getOwnerDocument() {
-		return fOwnerDocument;
-	}
-
-	/**
-	 * @return Returns the signature.
-	 */
-	public String getSignature() {
-		return fSignature;
-	}
-
-	/**
-	 * @param className
-	 *            The className to set.
-	 */
-	public void setClassName(String className) {
-		fClassName = className;
-	}
-	/**
-	 * @param description The description to set.
-	 */
-	public void setDescription(String description) {
-		fDescription = description;
-	}
-
-	/**
-	 * @param displayName
-	 *            The displayName to set.
-	 */
-	public void setDisplayName(String displayName) {
-		fDisplayName = displayName;
-	}
-
-	/**
-	 * @param example
-	 *            The example to set.
-	 */
-	public void setExample(String example) {
-		fExample = example;
-	}
-
-	/**
-	 * @param icon
-	 *            The icon to set.
-	 */
-	public void setIcon(String icon) {
-		fIcon = icon;
-	}
-
-	/**
-	 * @param name
-	 *            The name to set.
-	 */
-	public void setName(String name) {
-		fName = name;
-	}
-
-	/**
-	 * @param signature
-	 *            The signature to set.
-	 */
-	public void setSignature(String signature) {
-		fSignature = signature;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/TLDInitParamImpl.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/TLDInitParamImpl.java
deleted file mode 100644
index 7edf467..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/TLDInitParamImpl.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * Created on Sep 9, 2003
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.jst.jsp.core.internal.contentmodel.tld;
-
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDInitParam;
-import org.eclipse.wst.sse.core.internal.util.StringUtils;
-
-
-public class TLDInitParamImpl implements TLDInitParam {
-	private String description;
-	private String name;
-	private String value;
-
-	public TLDInitParamImpl() {
-		super();
-	}
-
-	public String getDescription() {
-		return description;
-	}
-
-	public String getName() {
-		return name;
-	}
-
-	public String getValue() {
-		return value;
-	}
-
-	public void setDescription(String description) {
-		this.description = description;
-	}
-
-	public void setName(String name) {
-		this.name = name;
-	}
-
-	public void setValue(String value) {
-		this.value = value;
-	}
-
-	public String toString() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append(super.toString());
-		buffer.append("\n\t name:" + StringUtils.escape(getName())); //$NON-NLS-1$
-		buffer.append("\n\t description:" + StringUtils.escape(getDescription())); //$NON-NLS-1$
-		buffer.append("\n\t value:" + StringUtils.escape(getValue())); //$NON-NLS-1$
-		return buffer.toString();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/TLDListenerImpl.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/TLDListenerImpl.java
deleted file mode 100644
index 517b319..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/TLDListenerImpl.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * Created on Sep 9, 2003
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.jst.jsp.core.internal.contentmodel.tld;
-
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDListener;
-import org.eclipse.wst.sse.core.internal.util.StringUtils;
-
-
-public class TLDListenerImpl implements TLDListener {
-	protected String listenerClass;
-
-	public String getListenerClass() {
-		return listenerClass;
-	}
-
-	public void setListenerClass(String className) {
-		listenerClass = className;
-	}
-
-	public String toString() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append(super.toString());
-		buffer.append("\n\t listener class:" + StringUtils.escape(getListenerClass())); //$NON-NLS-1$
-		return buffer.toString();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/TLDValidatorImpl.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/TLDValidatorImpl.java
deleted file mode 100644
index 55badba..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/TLDValidatorImpl.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * Created on Sep 9, 2003
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.jst.jsp.core.internal.contentmodel.tld;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDValidator;
-import org.eclipse.wst.sse.core.internal.util.StringUtils;
-
-
-public class TLDValidatorImpl implements TLDValidator {
-	protected List initParams;
-	protected String validatorClass;
-
-	public List getInitParams() {
-		if (initParams == null)
-			initParams = new ArrayList();
-		return initParams;
-	}
-
-	public String getValidatorClass() {
-		return validatorClass;
-	}
-
-	public void setInitParams(List initParams) {
-		this.initParams = initParams;
-	}
-
-	public void setValidatorClass(String validatorClass) {
-		this.validatorClass = validatorClass;
-	}
-
-	public String toString() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append(super.toString());
-		buffer.append("\n\t validator class:" + StringUtils.escape(getValidatorClass())); //$NON-NLS-1$
-		buffer.append("\n\t init-parms:"); //$NON-NLS-1$
-		for (int i = 0; i < getInitParams().size(); i++) {
-			buffer.append("\n" + StringUtils.replace(getInitParams().get(i).toString(), "\n", "\n\t\t")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		}
-		return buffer.toString();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/TLDVariableImpl.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/TLDVariableImpl.java
deleted file mode 100644
index f6c0525..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/TLDVariableImpl.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.contentmodel.tld;
-
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.JSP12TLDNames;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDVariable;
-import org.eclipse.wst.sse.core.internal.util.StringUtils;
-
-
-public class TLDVariableImpl implements TLDVariable {
-	// optional - defaults to true
-	private boolean declare = true;
-	
-	private String fDescription;
-	// required
-	private String nameFromAttribute;
-	// required
-	private String nameGiven;
-	// optional - defaults to NESTED
-	private String scope = JSP12TLDNames.VARIABLE_SCOPE_NESTED;
-	// required - defaults to a String
-	private String variableClass = "java.lang.String"; //$NON-NLS-1$
-
-	public boolean getDeclare() {
-		return declare;
-	}
-
-	/**
-	 * @return Returns the description.
-	 */
-	public String getDescription() {
-		return fDescription;
-	}
-
-	public String getNameFromAttribute() {
-		return nameFromAttribute;
-	}
-
-	public String getNameGiven() {
-		return nameGiven;
-	}
-
-	public String getScope() {
-		return scope;
-	}
-
-	public String getVariableClass() {
-		return variableClass;
-	}
-
-	public void setDeclare(boolean declare) {
-		this.declare = declare;
-	}
-
-	public void setDeclareString(String decl) {
-		setDeclare(decl.equals(JSP12TLDNames.TRUE) || decl.equals(JSP12TLDNames.YES));
-	}
-	/**
-	 * @param description The description to set.
-	 */
-	public void setDescription(String description) {
-		fDescription = description;
-	}
-
-	public void setNameFromAttribute(String nameFromAttribute) {
-		this.nameFromAttribute = nameFromAttribute;
-	}
-
-	public void setNameGiven(String nameGiven) {
-		this.nameGiven = nameGiven;
-	}
-
-	public void setScope(String scope) {
-		this.scope = scope;
-	}
-
-	public void setVariableClass(String variableClass) {
-		this.variableClass = variableClass;
-	}
-
-	public String toString() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append(super.toString());
-		buffer.append("\n\t name given:" + StringUtils.escape(getNameGiven())); //$NON-NLS-1$
-		buffer.append("\n\t name from attribute:" + StringUtils.escape(getNameFromAttribute())); //$NON-NLS-1$
-		// Boolean.toString(boolean) is introduced in JDK 1.4
-		//buffer.append("\n\t declare:" + StringUtils.escape(Boolean.toString(getDeclare())));
-		buffer.append("\n\t declare:" + StringUtils.toString(getDeclare())); //$NON-NLS-1$
-		buffer.append("\n\t scope:" + StringUtils.escape(getScope())); //$NON-NLS-1$
-		buffer.append("\n\t variable class:" + StringUtils.escape(getVariableClass())); //$NON-NLS-1$
-		return buffer.toString();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/TaglibTracker.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/TaglibTracker.java
deleted file mode 100644
index fcd90af..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/TaglibTracker.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.contentmodel.tld;
-
-
-
-import org.eclipse.jst.jsp.core.internal.contentmodel.CMDocumentWrapperImpl;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMDocument;
-import org.eclipse.wst.xml.core.internal.provisional.contentmodel.CMDocumentTracker;
-
-/**
- * TaglibTracker class
- */
-public class TaglibTracker extends CMDocumentWrapperImpl implements CMDocumentTracker {
-
-	private IStructuredDocumentRegion fStructuredDocumentRegion;
-
-	public TaglibTracker(String newURI, String newPrefix, CMDocument tld, IStructuredDocumentRegion aStructuredDocumentRegion) {
-		super(newURI, newPrefix, tld);
-		fStructuredDocumentRegion = aStructuredDocumentRegion;
-	}
-
-	public IStructuredDocumentRegion getStructuredDocumentRegion() {
-		return fStructuredDocumentRegion;
-	}
-
-	public String toString() {
-		if (getStructuredDocumentRegion() != null)
-			return getPrefix() + "@" + getStructuredDocumentRegion().getStartOffset(); //$NON-NLS-1$
-		return super.toString();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/provisional/JSP11TLDNames.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/provisional/JSP11TLDNames.java
deleted file mode 100644
index 6a484dc..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/provisional/JSP11TLDNames.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*nlsXXX*/
-package org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional;
-
-public interface JSP11TLDNames {
-
-	String TAGLIB = "taglib"; //$NON-NLS-1$
-
-	String CONTENT_JSP = "JSP"; //$NON-NLS-1$
-	String CONTENT_EMPTY = "empty"; //$NON-NLS-1$
-	String CONTENT_TAGDEPENDENT = "tagdependent"; //$NON-NLS-1$
-
-	String TAG = "tag"; //$NON-NLS-1$
-	String JSPVERSION = "jspversion"; //$NON-NLS-1$
-	String TLIBVERSION = "tlibversion"; //$NON-NLS-1$
-	String SHORTNAME = "shortname"; //$NON-NLS-1$
-	String URI = "uri"; //$NON-NLS-1$
-	String URN = "urn"; //$NON-NLS-1$
-	String INFO = "info"; //$NON-NLS-1$
-
-	String NAME = "name"; //$NON-NLS-1$
-	String TEICLASS = "teiclass"; //$NON-NLS-1$
-	String TAGCLASS = "tagclass"; //$NON-NLS-1$
-	String BODYCONTENT = "bodycontent"; //$NON-NLS-1$
-	String ATTRIBUTE = "attribute"; //$NON-NLS-1$
-
-	String ID = "id"; //$NON-NLS-1$
-	String REQUIRED = "required"; //$NON-NLS-1$
-	String RTEXPRVALUE = "rtexprvalue"; //$NON-NLS-1$
-
-	String PREFIX = "prefix"; //$NON-NLS-1$
-
-	String INCLUDE = "include"; //$NON-NLS-1$
-	String FILE = "file"; //$NON-NLS-1$
-
-	String TRUE = "true"; //$NON-NLS-1$
-	String FALSE = "false"; //$NON-NLS-1$
-	String YES = "yes"; //$NON-NLS-1$
-	String NO = "no"; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/provisional/JSP12TLDNames.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/provisional/JSP12TLDNames.java
deleted file mode 100644
index 7072988..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/provisional/JSP12TLDNames.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*nlsXXX*/
-package org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional;
-
-public interface JSP12TLDNames {
-
-	String TAGLIB = JSP11TLDNames.TAGLIB;
-
-	String CONTENT_JSP = JSP11TLDNames.CONTENT_JSP;
-	String CONTENT_EMPTY = JSP11TLDNames.CONTENT_EMPTY;
-	String CONTENT_TAGDEPENDENT = JSP11TLDNames.CONTENT_TAGDEPENDENT;
-
-	String TAG = JSP11TLDNames.TAG;
-	String JSP_VERSION = "jsp-version"; //$NON-NLS-1$
-	String TLIB_VERSION = "tlib-version"; //$NON-NLS-1$
-	String SHORT_NAME = "short-name"; //$NON-NLS-1$
-	String URI = JSP11TLDNames.URI;
-	String URN = JSP11TLDNames.URN;
-
-	String NAME = JSP11TLDNames.NAME;
-	String TEI_CLASS = "tei-class"; //$NON-NLS-1$
-	String TAG_CLASS = "tag-class"; //$NON-NLS-1$
-	String BODY_CONTENT = "body-content"; //$NON-NLS-1$
-	String ATTRIBUTE = JSP11TLDNames.ATTRIBUTE;
-
-	String ID = JSP11TLDNames.ID;
-	String REQUIRED = JSP11TLDNames.REQUIRED;
-	String RTEXPRVALUE = JSP11TLDNames.RTEXPRVALUE;
-
-	String PREFIX = JSP11TLDNames.PREFIX;
-
-	String INCLUDE = JSP11TLDNames.INCLUDE;
-	String FILE = JSP11TLDNames.FILE;
-
-	String TRUE = JSP11TLDNames.TRUE;
-	String FALSE = JSP11TLDNames.FALSE;
-	String YES = JSP11TLDNames.YES;
-	String NO = JSP11TLDNames.NO;
-
-	/*
-	 * @see Eclipse JSP 1.2
-	 */
-	String DESCRIPTION = "description"; //$NON-NLS-1$
-	String DISPLAY_NAME = "display-name"; //$NON-NLS-1$
-	String SMALL_ICON = "small-icon"; //$NON-NLS-1$
-	String LARGE_ICON = "large-icon"; //$NON-NLS-1$
-
-
-	String VALIDATOR = "validator"; //$NON-NLS-1$
-	String VALIDATOR_CLASS = "validator-class"; //$NON-NLS-1$
-	String VALIDATOR_INIT_PARAM = "init-param"; //$NON-NLS-1$
-	String VALIDATOR_PARAM_NAME = "param-name"; //$NON-NLS-1$
-	String VALIDATOR_PARAM_VALUE = "param-value"; //$NON-NLS-1$
-
-
-	String LISTENER = "listener"; //$NON-NLS-1$
-	String LISTENER_CLASS = "listener-class"; //$NON-NLS-1$
-
-	String VARIABLE = "variable"; //$NON-NLS-1$
-	String VARIABLE_NAME_GIVEN = "name-given"; //$NON-NLS-1$
-	String VARIABLE_NAME_FROM_ATTRIBUTE = "name-from-attribute"; //$NON-NLS-1$
-	String VARIABLE_CLASS = "variable-class"; //$NON-NLS-1$
-	String VARIABLE_DECLARE = "declare"; //$NON-NLS-1$
-	String VARIABLE_SCOPE = "scope"; //$NON-NLS-1$
-	String VARIABLE_SCOPE_NESTED = "NESTED"; //$NON-NLS-1$
-	String VARIABLE_SCOPE_AT_BEGIN = "AT_BEGIN"; //$NON-NLS-1$
-	String VARIABLE_SCOPE_AT_END = "AT_END"; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/provisional/JSP20TLDNames.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/provisional/JSP20TLDNames.java
deleted file mode 100644
index ea51e19..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/provisional/JSP20TLDNames.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.contentmodel.tld.provisional;
-
-/*nlsXXX*/
-public interface JSP20TLDNames extends JSP12TLDNames {
-	String CONTENT_SCRIPTLESS = "scriptless"; //$NON-NLS-1$
-	String EXAMPLE = "example"; //$NON-NLS-1$
-	String FRAGMENT = "fragment"; //$NON-NLS-1$
-	String FUNCTION = "function"; //$NON-NLS-1$
-	String FUNCTION_CLASS = "function-class"; //$NON-NLS-1$
-	String FUNCTION_EXTENSION = "function-extension"; //$NON-NLS-1$
-	String FUNCTION_SIGNATURE = "function-signature"; //$NON-NLS-1$
-	String ICON = "icon"; //$NON-NLS-1$
-	String PATH = "path"; //$NON-NLS-1$
-	String TAG_EXTENSION = "tag-extension"; //$NON-NLS-1$
-	String TAG_FILE = "tag-file"; //$NON-NLS-1$
-
-	String TAGDIR = "tagdir"; //$NON-NLS-1$
-	
-	String TAGLIB_EXTENSION = "taglib-extension"; //$NON-NLS-1$
-
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/provisional/TLDAttributeDeclaration.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/provisional/TLDAttributeDeclaration.java
deleted file mode 100644
index af38bf9..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/provisional/TLDAttributeDeclaration.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.contentmodel.tld.provisional;
-
-
-
-import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMDocument;
-
-/**
- * Represents an attribute definition from a TLD
- */
-public interface TLDAttributeDeclaration extends CMAttributeDeclaration {
-
-	/**
-	 * a description of the attribute
-	 * @return String
-	 * @see  JSP 2.0
-	 */
-	String getDescription();
-	
-	/**
-	 * the attribute's name
-	 * @see  JSP 1.1
-	 */
-	String getId();
-
-	CMDocument getOwnerDocument();
-
-	/**
-	 * whether the attribute's value may be dynamically calculated at runtime by an expression
-	 * @see  JSP 1.1
-	 */
-	String getRtexprvalue();
-
-	/**
-	 * the type of the attribute's value
-	 * @see  JSP 1.2
-	 */
-	String getType();
-
-	/**
-	 * whether this attribute is a fragment
-	 * 
-	 * @return boolean
-	 */
-	boolean isFragment();
-	
-	/**
-	 * if the attribute is required or optional
-	 * @see  JSP 1.1
-	 */
-	boolean isRequired();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/provisional/TLDDocument.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/provisional/TLDDocument.java
deleted file mode 100644
index 821a6bc..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/provisional/TLDDocument.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.contentmodel.tld.provisional;
-
-import java.util.List;
-
-import org.eclipse.wst.xml.core.internal.contentmodel.CMDocument;
-
-public interface TLDDocument extends CMDocument {
-
-	String CM_KIND = "Content Model Kind"; //$NON-NLS-1$
-	String JSP_TLD = "JSP Tag Library Descriptor"; //$NON-NLS-1$
-
-	/**
-	 * @see  JSP 2.0
-	 * 
-	 * @return
-	 */
-	String getBaseLocation();
-	
-	/**
-	 * @return String - The contents of the "description" element of a JSP 1.2 tag library descriptor; a simple string describing the "use" of this taglib, should be user discernable.
-	 * @see  JSP 1.2
-	 */
-	String getDescription();
-
-	/**
-	 * @return String - The contents of the "display-name" element of a JSP 1.2 tag library descriptor; it is a short name that is intended to be displayed by tools
-	 * @see  JSP 1.2
-	 */
-	String getDisplayName();
-
-	/**
-	 * @return List - A list of extension elements describing the tag library
-	 * @see  JSP 2.0
-	 */
-	List getExtensions();
-	
-	/**
-	 * @return List - A list of TLDFunctions describing the declared functions
-	 * @see  JSP 2.0
-	 */
-	List getFunctions();
-	
-	/**
-	 * @return String - The contents of the "info" element of a JSP 1.1 tag library descriptor; a simple string describing the "use" of this taglib, should be user discernable.
-	 * @see  JSP 1.1
-	 */
-	String getInfo();
-
-	/**
-	 * @return String - The version of JSP the tag library depends upon
-	 * @see  JSP 1.1
-	 */
-	String getJspversion();
-
-	/**
-	 * @return String - The contents of the "large-icon" element of a JSP 1.2 tag library descriptor; optional large-icon that can be used by tools
-	 * @see  JSP 1.2
-	 */
-	String getLargeIcon();
-
-	/**
-	 * @see  JSP 1.2
-	 * @return List - a List of TLDListeners
-	 */
-	List getListeners();
-
-	/**
-	 * @return String - A simple default short name that could be used by a JSP authoring tool to create names with a mnemonic value; for example, it may be used as the preferred prefix value in taglib directives
-	 * @see  JSP 1.1
-	 */
-	String getShortname();
-
-	/**
-	 * @return String - The contents of the "small-icon" element of a JSP 1.2 tag library descriptor; optional small-icon that can be used by tools
-	 * @see  JSP 1.2
-	 */
-	String getSmallIcon();
-
-	/**
-	 * @return String - The version of the tag library (it's implementation)
-	 * @see  JSP 1.1
-	 */
-	String getTlibversion();
-
-	/**
-	 * @return String - the URI declared within the descriptor
-	 * @see  JSP 1.1
-	 */
-	String getUri();
-
-	/**
-	 * @see  JSP 1.2
-	 */
-	TLDValidator getValidator();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/provisional/TLDElementDeclaration.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/provisional/TLDElementDeclaration.java
deleted file mode 100644
index dd1ac34..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/provisional/TLDElementDeclaration.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.contentmodel.tld.provisional;
-
-import java.util.List;
-
-import org.eclipse.wst.xml.core.internal.contentmodel.CMDocument;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
-
-public interface TLDElementDeclaration extends CMElementDeclaration {
-
-	/**
-	 * The body content type
-	 * 
-	 * @see JSP 1.1
-	 */
-	String getBodycontent();
-
-	/**
-	 * Optional tag-specific information
-	 * 
-	 * @see JSP 1.2
-	 */
-	String getDescription();
-
-	/**
-	 * A short name that is intended to be displayed by tools
-	 * 
-	 * @see JSP 1.2
-	 */
-	String getDisplayName();
-
-	/**
-	 * Optional informal description of an example of a use of this tag
-	 * 
-	 * @see JSP 2.0
-	 */
-	String getExample();
-
-	/**
-	 * Zero or more extensions that provide extra information about this tag,
-	 * for tool consumption
-	 * 
-	 * @see JSP 2.0
-	 */
-	List getExtensions();
-
-	/**
-	 * Optional tag-specific information
-	 * 
-	 * @see JSP 1.1
-	 */
-	String getInfo();
-
-	/**
-	 * Name of an optional large icon that can be used by tools
-	 * 
-	 * @see JSP 1.2
-	 */
-	String getLargeIcon();
-
-	CMDocument getOwnerDocument();
-
-	/**
-	 * Where to find the .tag file implementing this action, relative to the
-	 * root of the web application or the root of the JAR file for a tag
-	 * library packaged in a JAR. This must begin with /WEB-INF/tags if the
-	 * .tag file resides in the WAR, or /META-INF/tags if the .tag file
-	 * resides in a JAR.
-	 * 
-	 * 
-	 * @return the path to the .tag(x) file as defined in the .tld file, null
-	 *         if internal to the .tld
-	 * @see JSP 2.0
-	 */
-	String getPath();
-
-	/**
-	 * Name of an optional small icon that can be used by tools
-	 * 
-	 * @see JSP 1.2
-	 */
-	String getSmallIcon();
-
-	/**
-	 * The name of the tag handler class implementing
-	 * javax.servlet.jsp.tagext.Tag
-	 * 
-	 * @see JSP 1.1
-	 */
-	String getTagclass();
-
-	/**
-	 * The name of an optional subclass of
-	 * javax.servlet.jsp.tagext.TagExtraInfo
-	 * 
-	 * @see JSP 1.1
-	 */
-	String getTeiclass();
-
-	/**
-	 * @see JSP 1.2
-	 * @return List of TLDVariables
-	 */
-	List getVariables();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/provisional/TLDFunction.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/provisional/TLDFunction.java
deleted file mode 100644
index 8f2b50a..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/provisional/TLDFunction.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.contentmodel.tld.provisional;
-
-import java.util.List;
-
-import org.eclipse.wst.xml.core.internal.contentmodel.CMDocument;
-
-public interface TLDFunction {
-
-	String getClassName();
-	
-	String getDescription();
-
-	String getDisplayName();
-
-	String getExample();
-
-	List getExtensions();
-
-	String getIcon();
-
-	String getName();
-
-	CMDocument getOwnerDocument();
-
-	String getSignature();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/provisional/TLDInitParam.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/provisional/TLDInitParam.java
deleted file mode 100644
index 0e33654..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/provisional/TLDInitParam.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.contentmodel.tld.provisional;
-
-
-/**
- * A name/value pair as an initialization param along with a description
- * @see JSP 1.2
- */
-public interface TLDInitParam {
-	String getDescription();
-
-	/**
-	 * The param-name element contains the name of a parameter.
-	 */
-	String getName();
-
-	/**
-	 * The param-value element contains the name of a parameter.
-	 */
-	String getValue();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/provisional/TLDListener.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/provisional/TLDListener.java
deleted file mode 100644
index 64915b9..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/provisional/TLDListener.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.contentmodel.tld.provisional;
-
-
-/**
- * Defines an optional event listener object to be instantiated and registered automatically
- * @see JSP 1.2
- */
-public interface TLDListener {
-	String getListenerClass();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/provisional/TLDValidator.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/provisional/TLDValidator.java
deleted file mode 100644
index d98a88c..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/provisional/TLDValidator.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.contentmodel.tld.provisional;
-
-import java.util.List;
-
-
-/**
- * Defines an optional validator that can be used to validate the conformance of a JSP page to using this tag library
- * @see JSP 1.2
- */
-public interface TLDValidator {
-	/**
-	 * @return List - a List of TLDInitParams
-	 */
-	List getInitParams();
-
-	String getValidatorClass();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/provisional/TLDVariable.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/provisional/TLDVariable.java
deleted file mode 100644
index d079058..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/provisional/TLDVariable.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.contentmodel.tld.provisional;
-
-/**
- * Information on the scripting variables defined by this tag.
- * @see  JSP 1.2
- */
-public interface TLDVariable {
-
-	/**
-	 * Whether the variable is declared or not, true is the default.
-	 */
-	boolean getDeclare();
-
-	String getDescription();
-
-	/**
-	 * The name of an attribute whose (translation time) value will give the name of the variable.
-	 */
-	String getNameFromAttribute();
-
-	/**
-	 * The variable name given as a constant
-	 */
-	String getNameGiven();
-	
-	/**
-	 * The scope of the scripting variable defined.
-	 */
-	String getScope();
-
-	/**
-	 * Name of the class of the variable, java.lang.String if null
-	 */
-	String getVariableClass();
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contenttype/ContentDescriberForJSP.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contenttype/ContentDescriberForJSP.java
deleted file mode 100644
index d2e2023..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contenttype/ContentDescriberForJSP.java
+++ /dev/null
@@ -1,238 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.contenttype;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Reader;
-
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.core.runtime.content.IContentDescriber;
-import org.eclipse.core.runtime.content.IContentDescription;
-import org.eclipse.core.runtime.content.ITextContentDescriber;
-import org.eclipse.jst.jsp.core.internal.provisional.contenttype.IContentDescriptionForJSP;
-import org.eclipse.wst.sse.core.internal.encoding.EncodingMemento;
-import org.eclipse.wst.sse.core.internal.encoding.IContentDescriptionExtended;
-import org.eclipse.wst.sse.core.internal.encoding.IResourceCharsetDetector;
-
-public final class ContentDescriberForJSP implements ITextContentDescriber {
-	private final static QualifiedName[] SUPPORTED_OPTIONS = {IContentDescription.CHARSET, IContentDescription.BYTE_ORDER_MARK, IContentDescriptionExtended.DETECTED_CHARSET, IContentDescriptionExtended.UNSUPPORTED_CHARSET, IContentDescriptionExtended.APPROPRIATE_DEFAULT, IContentDescriptionForJSP.CONTENT_TYPE_ATTRIBUTE, IContentDescriptionForJSP.LANGUAGE_ATTRIBUTE};
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.runtime.content.IContentDescriber#describe(java.io.InputStream,
-	 *      org.eclipse.core.runtime.content.IContentDescription)
-	 */
-	public int describe(InputStream contents, IContentDescription description) throws IOException {
-		int result = IContentDescriber.INVALID;
-
-		// if discription is null, we are just being asked to
-		// assess contents validity
-		if (description != null) {
-			result = calculateSupportedOptions(contents, description);
-		}
-		else {
-			result = determineValidity(contents);
-		}
-
-		return result;
-	}
-
-	private int determineValidity(InputStream contents) {
-		// There's little to prove, via contents, that
-		// a file is JSP, so always return interminant, and
-		// let filetypes decide.
-		return IContentDescriber.INDETERMINATE;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.runtime.content.ITextContentDescriber#describe(java.io.Reader,
-	 *      org.eclipse.core.runtime.content.IContentDescription)
-	 */
-	public int describe(Reader contents, IContentDescription description) throws IOException {
-		int result = IContentDescriber.INVALID;
-
-		// if discription is null, we are just being asked to
-		// assess contents validity
-		if (description != null) {
-			result = calculateSupportedOptions(contents, description);
-		}
-		else {
-			result = determineValidity(contents);
-		}
-
-		return result;
-	}
-
-	private int determineValidity(Reader contents) {
-		// There's little to prove, via contents, that
-		// a file is JSP, so always return interminant, and
-		// let filetypes decide.
-		return IContentDescriber.INDETERMINATE;
-	}
-
-	public QualifiedName[] getSupportedOptions() {
-		return SUPPORTED_OPTIONS;
-	}
-
-	private int calculateSupportedOptions(InputStream contents, IContentDescription description) throws IOException {
-		int result = IContentDescriber.INDETERMINATE;
-		if (isRelevent(description)) {
-			IResourceCharsetDetector detector = getDetector();
-			detector.set(contents);
-			handleCalculations(description, detector);
-			result = IContentDescriber.VALID;
-		}
-		return result;
-	}
-
-	/**
-	 * @param contents
-	 * @param description
-	 * @throws IOException
-	 */
-	private int calculateSupportedOptions(Reader contents, IContentDescription description) throws IOException {
-		int result = IContentDescriber.INDETERMINATE;
-		if (isRelevent(description)) {
-			IResourceCharsetDetector detector = getDetector();
-			detector.set(contents);
-			handleCalculations(description, detector);
-			result = IContentDescriber.VALID;
-		}
-		return result;
-	}
-
-	private IResourceCharsetDetector getDetector() {
-		return new JSPResourceEncodingDetector();
-	}
-
-	private void handleCalculations(IContentDescription description, IResourceCharsetDetector detector) throws IOException {
-		// handle standard ones first, to be sure detector processes
-		handleStandardCalculations(description, detector);
-		// now do those specific for JSPs
-		// note: detector should always be of correct instance, but we'll
-		// check, for now.
-		if (detector instanceof JSPResourceEncodingDetector) {
-			JSPResourceEncodingDetector jspDetector = (JSPResourceEncodingDetector) detector;
-			String language = jspDetector.getLanguage();
-			if (language != null && language.length() > 0) {
-				description.setProperty(IContentDescriptionForJSP.LANGUAGE_ATTRIBUTE, language);
-			}
-			String contentTypeAttribute = jspDetector.getContentType();
-			if (contentTypeAttribute != null && contentTypeAttribute.length() > 0) {
-				description.setProperty(IContentDescriptionForJSP.CONTENT_TYPE_ATTRIBUTE, contentTypeAttribute);
-			}
-		}
-	}
-
-	private void handleDetectedSpecialCase(IContentDescription description, Object detectedCharset, Object javaCharset) {
-		if (detectedCharset != null) {
-			// Once we detected a charset, we should set the property even
-			// though it's the same as javaCharset
-			// because there are clients that rely on this property to
-			// determine if the charset is actually detected in file or not.
-			description.setProperty(IContentDescriptionExtended.DETECTED_CHARSET, detectedCharset);
-		}
-	}
-
-	/**
-	 * @param description
-	 * @param detector
-	 * @throws IOException
-	 */
-	private void handleStandardCalculations(IContentDescription description, IResourceCharsetDetector detector) throws IOException {
-		// note: if we're asked for one, we set them all. I need to be sure if
-		// called
-		// mulitiple times (one for each, say) that we don't waste time
-		// processing same
-		// content again.
-		EncodingMemento encodingMemento = ((JSPResourceEncodingDetector) detector).getEncodingMemento();
-		// TODO: I need to verify to see if this BOM work is always done
-		// by text type.
-		Object detectedByteOrderMark = encodingMemento.getUnicodeBOM();
-		if (detectedByteOrderMark != null) {
-			Object existingByteOrderMark = description.getProperty(IContentDescription.BYTE_ORDER_MARK);
-			// not sure why would ever be different, so if is different, may
-			// need to "push" up into base.
-			if (!detectedByteOrderMark.equals(existingByteOrderMark))
-				description.setProperty(IContentDescription.BYTE_ORDER_MARK, detectedByteOrderMark);
-		}
-
-
-		if (!encodingMemento.isValid()) {
-			// note: after setting here, its the mere presence of
-			// IContentDescriptionExtended.UNSUPPORTED_CHARSET
-			// in the resource's description that can be used to determine if
-			// invalid
-			// in those cases, the "detected" property contains an
-			// "appropriate default" to use.
-			description.setProperty(IContentDescriptionExtended.UNSUPPORTED_CHARSET, encodingMemento.getInvalidEncoding());
-			description.setProperty(IContentDescriptionExtended.APPROPRIATE_DEFAULT, encodingMemento.getAppropriateDefault());
-		}
-
-		Object detectedCharset = encodingMemento.getDetectedCharsetName();
-		Object javaCharset = encodingMemento.getJavaCharsetName();
-
-		// we always include detected, if its different than java
-		handleDetectedSpecialCase(description, detectedCharset, javaCharset);
-
-		if (javaCharset != null) {
-			Object existingCharset = description.getProperty(IContentDescription.CHARSET);
-			if (javaCharset.equals(existingCharset)) {
-				handleDetectedSpecialCase(description, detectedCharset, javaCharset);
-			}
-			else {
-				// we may need to add what we found, but only need to add
-				// if different from the default.
-				Object defaultCharset = detector.getSpecDefaultEncoding();
-				if (defaultCharset != null) {
-					if (!defaultCharset.equals(javaCharset)) {
-						description.setProperty(IContentDescription.CHARSET, javaCharset);
-					}
-				}
-				else {
-					// assuming if there is no spec default, we always need to
-					// add, I'm assuming
-					description.setProperty(IContentDescription.CHARSET, javaCharset);
-				}
-			}
-		}
-
-	}
-
-	/**
-	 * @param description
-	 * @return
-	 */
-	private boolean isRelevent(IContentDescription description) {
-		boolean result = false;
-		if (description == null)
-			result = false;
-		else if (description.isRequested(IContentDescription.BYTE_ORDER_MARK))
-			result = true;
-		else if (description.isRequested(IContentDescription.CHARSET))
-			result = true;
-		else if (description.isRequested(IContentDescriptionExtended.APPROPRIATE_DEFAULT))
-			result = true;
-		else if (description.isRequested(IContentDescriptionExtended.DETECTED_CHARSET))
-			result = true;
-		else if (description.isRequested(IContentDescriptionExtended.UNSUPPORTED_CHARSET))
-			result = true;
-		else if (description.isRequested(IContentDescriptionForJSP.CONTENT_TYPE_ATTRIBUTE))
-			result = true;
-		else if (description.isRequested(IContentDescriptionForJSP.LANGUAGE_ATTRIBUTE))
-			result = true;
-		return result;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contenttype/HeadParserToken.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contenttype/HeadParserToken.java
deleted file mode 100644
index 5a93e08..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contenttype/HeadParserToken.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.jsp.core.internal.contenttype;
-
-public class HeadParserToken {
-	private int fStart;
-
-	private String fText;
-	private String fType;
-
-	protected HeadParserToken() {
-		super();
-	}
-
-	public HeadParserToken(String type, int start, String text) {
-		this();
-		fType = type;
-		fStart = start;
-		fText = text;
-
-	}
-
-	public String getText() {
-		return fText;
-	}
-
-	public String getType() {
-		return fType;
-	}
-
-	public String toString() {
-		return ("text: " + fText + " offset: " + fStart + " type: " + fType); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contenttype/IntStack.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contenttype/IntStack.java
deleted file mode 100644
index e04d0a2..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contenttype/IntStack.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.jsp.core.internal.contenttype;
-
-/*
- * 
- * A non-resizable class implementing the behavior of java.util.Stack, but
- * directly for the <code> integer </code> primitive.
- */
-import java.util.EmptyStackException;
-
-public class IntStack {
-	private int[] list = null;
-
-	private int size = 0;
-
-	public IntStack() {
-		this(100);
-	}
-
-	public IntStack(int maxdepth) {
-		super();
-		list = new int[maxdepth];
-		initialize();
-	}
-
-	public void clear() {
-		initialize();
-	}
-
-	public boolean empty() {
-		return size == 0;
-	}
-
-	public int get(int slot) {
-		return list[slot];
-	}
-
-	private void initialize() {
-		for (int i = 0; i < list.length; i++)
-			list[i] = -1;
-	}
-
-	/**
-	 * Returns the int at the top of the stack without removing it
-	 * 
-	 * @return int at the top of this stack.
-	 * @exception EmptyStackException
-	 *                when empty.
-	 */
-	public int peek() {
-		if (size == 0)
-			throw new EmptyStackException();
-		return list[size - 1];
-	}
-
-	/**
-	 * Removes and returns the int at the top of the stack
-	 * 
-	 * @return int at the top of this stack.
-	 * @exception EmptyStackException
-	 *                when empty.
-	 */
-	public int pop() {
-		int value = peek();
-		list[size - 1] = -1;
-		size--;
-		return value;
-	}
-
-	/**
-	 * Pushes an item onto the top of this stack.
-	 * 
-	 * @param newValue -
-	 *            the int to be pushed onto this stack.
-	 * @return the <code>newValue</code> argument.
-	 */
-	public int push(int newValue) {
-		if (size == list.length) {
-			throw new StackOverflowError();
-		}
-		list[size++] = newValue;
-		return newValue;
-	}
-
-	public int size() {
-		return list.length;
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contenttype/JSPHeadTokenizer.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contenttype/JSPHeadTokenizer.java
deleted file mode 100644
index 604e9d3..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contenttype/JSPHeadTokenizer.java
+++ /dev/null
@@ -1,1484 +0,0 @@
-/* The following code was generated by JFlex 1.4 on 7/5/05 12:27 AM */
-
-/*******************************************************************************
- * 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 Corporation - initial API and implementation
- *******************************************************************************/
-/*nlsXXX*/
-package org.eclipse.jst.jsp.core.internal.contenttype;
-import java.io.IOException;
-import java.io.Reader;
-
-import org.eclipse.wst.xml.core.internal.contenttype.EncodingParserConstants;
-import org.eclipse.wst.xml.core.internal.contenttype.XMLHeadTokenizerConstants;
-
-
-
-
-
-
-/**
- * This class is a scanner generated by 
- * <a href="http://www.jflex.de/">JFlex</a> 1.4
- * on 7/5/05 12:27 AM from the specification file
- * <tt>D:/builds/Workspaces/PureHeadWTP_M7/org.eclipse.jst.jsp.core/DevTimeSupport/HeadParsers/JSPHeadTokenizer.jFlex</tt>
- */
-public class JSPHeadTokenizer {
-
-  /** This character denotes the end of file */
-  public static final int YYEOF = -1;
-
-  /** initial size of the lookahead buffer */
-  private static final int ZZ_BUFFERSIZE = 8192;
-
-  /** lexical states */
-  public static final int YYINITIAL = 0;
-  public static final int UnDelimitedString = 12;
-  public static final int DQ_STRING = 8;
-  public static final int SQ_STRING = 10;
-  public static final int ST_XMLDecl = 2;
-  public static final int ST_PAGE_DIRECTIVE = 4;
-  public static final int QuotedAttributeValue = 6;
-
-  /**
-   * ZZ_LEXSTATE[l] is the state in the DFA for the lexical state l
-   * ZZ_LEXSTATE[l+1] is the state in the DFA for the lexical state l
-   *                  at the beginning of a line
-   * l is of the form l = 2*k, k a non negative integer
-   */
-  private static final int ZZ_LEXSTATE[] = { 
-     0,  1,  2,  2,  3,  3,  4,  4,  5,  5,  6,  6,  7, 7
-  };
-
-  /** 
-   * Translates characters to character classes
-   */
-  private static final String ZZ_CMAP_PACKED = 
-    "\11\0\1\6\1\11\2\0\1\10\22\0\1\6\1\0\1\45\2\0"+
-    "\1\17\1\0\1\46\6\0\1\36\1\44\12\0\1\27\1\0\1\12"+
-    "\1\7\1\41\1\13\1\20\1\22\1\0\1\33\1\30\1\24\1\0"+
-    "\1\23\1\0\1\31\1\25\1\0\1\16\1\15\1\40\1\37\1\21"+
-    "\1\0\1\32\1\26\1\34\1\42\1\35\1\0\1\14\1\43\7\0"+
-    "\1\22\1\0\1\33\1\30\1\24\1\0\1\23\1\0\1\31\1\25"+
-    "\1\0\1\16\1\15\1\40\1\37\1\21\1\0\1\32\1\26\1\34"+
-    "\1\42\1\35\1\0\1\14\1\43\101\0\1\4\3\0\1\5\17\0"+
-    "\1\3\16\0\1\1\20\0\1\3\16\0\1\1\1\2\170\0\1\2"+
-    "\ufe87\0";
-
-  /** 
-   * Translates characters to character classes
-   */
-  private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED);
-
-  /** 
-   * Translates DFA states to action switch labels.
-   */
-  private static final int [] ZZ_ACTION = zzUnpackAction();
-
-  private static final String ZZ_ACTION_PACKED_0 =
-    "\10\0\20\1\2\2\1\1\1\3\1\4\1\5\1\6"+
-    "\2\5\1\7\1\5\1\7\1\10\2\11\2\0\1\12"+
-    "\1\13\6\0\1\14\3\0\1\15\2\0\1\16\1\0"+
-    "\1\17\1\20\3\0\1\21\30\0\1\22\14\0\1\23"+
-    "\2\0\1\24\4\0\1\25\1\26\12\0\1\27\1\0"+
-    "\1\30\2\0";
-
-  private static int [] zzUnpackAction() {
-    int [] result = new int[126];
-    int offset = 0;
-    offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result);
-    return result;
-  }
-
-  private static int zzUnpackAction(String packed, int offset, int [] result) {
-    int i = 0;       /* index in packed string  */
-    int j = offset;  /* index in unpacked array */
-    int l = packed.length();
-    while (i < l) {
-      int count = packed.charAt(i++);
-      int value = packed.charAt(i++);
-      do result[j++] = value; while (--count > 0);
-    }
-    return j;
-  }
-
-
-  /* error codes */
-  private static final int ZZ_UNKNOWN_ERROR = 0;
-  private static final int ZZ_NO_MATCH = 1;
-  private static final int ZZ_PUSHBACK_2BIG = 2;
-
-  /* error messages for the codes above */
-  private static final String ZZ_ERROR_MSG[] = {
-    "Unkown internal scanner error",
-    "Error: could not match input",
-    "Error: pushback value was too large"
-  };
-
-  /** the input device */
-  private java.io.Reader zzReader;
-
-  /** the current state of the DFA */
-  private int zzState;
-
-  /** the current lexical state */
-  private int zzLexicalState = YYINITIAL;
-
-  /** this buffer contains the current text to be matched and is
-      the source of the yytext() string */
-  private char zzBuffer[] = new char[ZZ_BUFFERSIZE];
-
-  /** the textposition at the last accepting state */
-  private int zzMarkedPos;
-
-  /** the textposition at the last state to be included in yytext */
-  private int zzPushbackPos;
-
-  /** the current text position in the buffer */
-  private int zzCurrentPos;
-
-  /** startRead marks the beginning of the yytext() string in the buffer */
-  private int zzStartRead;
-
-  /** endRead marks the last character in the buffer, that has been read
-      from input */
-  private int zzEndRead;
-
-  /** number of newlines encountered up to the start of the matched text */
-  private int yyline;
-
-  /** the number of characters up to the start of the matched text */
-  private int yychar;
-
-  /**
-   * the number of characters from the last newline up to the start of the 
-   * matched text
-   */
-  private int yycolumn;
-
-  /** 
-   * zzAtBOL == true <=> the scanner is currently at the beginning of a line
-   */
-  private boolean zzAtBOL = true;
-
-  /** zzAtEOF == true <=> the scanner is at the EOF */
-  private boolean zzAtEOF;
-
-  /** denotes if the user-EOF-code has already been executed */
-  private boolean zzEOFDone;
-
-  /* user code: */
-
-
-
-
-        private boolean hasMore = true;
-        private final static int MAX_TO_SCAN = 8000;
-        StringBuffer string = new StringBuffer();
-        // state stack for easier state handling
-        private IntStack fStateStack = new IntStack();
-        private String valueText = null;
-
-
-        public JSPHeadTokenizer() {
-                super();
-        }
-
-          public void reset (Reader in) {
-                /* the input device */
-                zzReader = in;
-
-                /* the current state of the DFA */
-                zzState = 0;
-
-                /* the current lexical state */
-                zzLexicalState = YYINITIAL;
-
-                /* this buffer contains the current text to be matched and is
-                 the source of the yytext() string */
-                java.util.Arrays.fill(zzBuffer, (char)0);
-
-                /* the textposition at the last accepting state */
-                zzMarkedPos = 0;
-
-                /* the textposition at the last state to be included in yytext */
-                zzPushbackPos = 0;
-
-                /* the current text position in the buffer */
-                zzCurrentPos = 0;
-
-                /* startRead marks the beginning of the yytext() string in the buffer */
-                zzStartRead = 0;
-
-                /**
-                 * endRead marks the last character in the buffer, that has been read
-                 * from input
-                 */
-                zzEndRead = 0;
-
-                /* number of newlines encountered up to the start of the matched text */
-                yyline = 0;
-
-                /* the number of characters up to the start of the matched text */
-                yychar = 0;
-
-                /**
-                 * the number of characters from the last newline up to the start
-                 * of the matched text
-                 */
-                yycolumn = 0;
-
-                /**
-                 * yy_atBOL == true <=> the scanner is currently at the beginning
-                 * of a line
-                 */
-                zzAtBOL = true;
-
-                /* yy_atEOF == true <=> the scanner has returned a value for EOF */
-                zzAtEOF = false;
-
-                /* denotes if the user-EOF-code has already been executed */
-                zzEOFDone = false;
-
-
-                fStateStack.clear();
-
-                hasMore = true;
-
-
-        }
-
-
-        public final HeadParserToken getNextToken() throws IOException {
-                String context = null;
-                context = primGetNextToken();
-                HeadParserToken result = null;
-                if (valueText != null) {
-                        result = createToken(context, yychar, valueText);
-                        valueText = null;
-                } else {
-                        result = createToken(context, yychar, yytext());
-                }
-                return result;
-        }
-
-        public final boolean hasMoreTokens() {
-                return hasMore && yychar < MAX_TO_SCAN;
-        }
-        private void pushCurrentState() {
-                fStateStack.push(yystate());
-
-        }
- 
-        private void popState() {
-                yybegin(fStateStack.pop());
-        }
-        private HeadParserToken createToken(String context, int start, String text) {
-                return new HeadParserToken(context, start, text);
-        }
-
-
-
-
-  /**
-   * Creates a new scanner
-   * There is also a java.io.InputStream version of this constructor.
-   *
-   * @param   in  the java.io.Reader to read input from.
-   */
-  public JSPHeadTokenizer(java.io.Reader in) {
-    this.zzReader = in;
-  }
-
-  /**
-   * Creates a new scanner.
-   * There is also java.io.Reader version of this constructor.
-   *
-   * @param   in  the java.io.Inputstream to read input from.
-   */
-  public JSPHeadTokenizer(java.io.InputStream in) {
-    this(new java.io.InputStreamReader(in));
-  }
-
-  /** 
-   * Unpacks the compressed character translation table.
-   *
-   * @param packed   the packed character translation table
-   * @return         the unpacked character translation table
-   */
-  private static char [] zzUnpackCMap(String packed) {
-    char [] map = new char[0x10000];
-    int i = 0;  /* index in packed string  */
-    int j = 0;  /* index in unpacked array */
-    while (i < 182) {
-      int  count = packed.charAt(i++);
-      char value = packed.charAt(i++);
-      do map[j++] = value; while (--count > 0);
-    }
-    return map;
-  }
-
-
-  /**
-   * Refills the input buffer.
-   *
-   * @return      <code>false</code>, iff there was new input.
-   * 
-   * @exception   java.io.IOException  if any I/O-Error occurs
-   */
-  private boolean zzRefill() throws java.io.IOException {
-
-    /* first: make room (if you can) */
-    if (zzStartRead > 0) {
-      System.arraycopy(zzBuffer, zzStartRead,
-                       zzBuffer, 0,
-                       zzEndRead-zzStartRead);
-
-      /* translate stored positions */
-      zzEndRead-= zzStartRead;
-      zzCurrentPos-= zzStartRead;
-      zzMarkedPos-= zzStartRead;
-      zzPushbackPos-= zzStartRead;
-      zzStartRead = 0;
-    }
-
-    /* is the buffer big enough? */
-    if (zzCurrentPos >= zzBuffer.length) {
-      /* if not: blow it up */
-      char newBuffer[] = new char[zzCurrentPos*2];
-      System.arraycopy(zzBuffer, 0, newBuffer, 0, zzBuffer.length);
-      zzBuffer = newBuffer;
-    }
-
-    /* finally: fill the buffer with new input */
-    int numRead = zzReader.read(zzBuffer, zzEndRead,
-                                            zzBuffer.length-zzEndRead);
-
-    if (numRead < 0) {
-      return true;
-    }
-    else {
-      zzEndRead+= numRead;
-      return false;
-    }
-  }
-
-    
-  /**
-   * Closes the input stream.
-   */
-  public final void yyclose() throws java.io.IOException {
-    zzAtEOF = true;            /* indicate end of file */
-    zzEndRead = zzStartRead;  /* invalidate buffer    */
-
-    if (zzReader != null)
-      zzReader.close();
-  }
-
-
-  /**
-   * Resets the scanner to read from a new input stream.
-   * Does not close the old reader.
-   *
-   * All internal variables are reset, the old input stream 
-   * <b>cannot</b> be reused (internal buffer is discarded and lost).
-   * Lexical state is set to <tt>ZZ_INITIAL</tt>.
-   *
-   * @param reader   the new input stream 
-   */
-  public final void yyreset(java.io.Reader reader) {
-    zzReader = reader;
-    zzAtBOL  = true;
-    zzAtEOF  = false;
-    zzEndRead = zzStartRead = 0;
-    zzCurrentPos = zzMarkedPos = zzPushbackPos = 0;
-    yyline = yychar = yycolumn = 0;
-    zzLexicalState = YYINITIAL;
-  }
-
-
-  /**
-   * Returns the current lexical state.
-   */
-  public final int yystate() {
-    return zzLexicalState;
-  }
-
-
-  /**
-   * Enters a new lexical state
-   *
-   * @param newState the new lexical state
-   */
-  public final void yybegin(int newState) {
-    zzLexicalState = newState;
-  }
-
-
-  /**
-   * Returns the text matched by the current regular expression.
-   */
-  public final String yytext() {
-    return new String( zzBuffer, zzStartRead, zzMarkedPos-zzStartRead );
-  }
-
-
-  /**
-   * Returns the character at position <tt>pos</tt> from the 
-   * matched text. 
-   * 
-   * It is equivalent to yytext().charAt(pos), but faster
-   *
-   * @param pos the position of the character to fetch. 
-   *            A value from 0 to yylength()-1.
-   *
-   * @return the character at position pos
-   */
-  public final char yycharat(int pos) {
-    return zzBuffer[zzStartRead+pos];
-  }
-
-
-  /**
-   * Returns the length of the matched text region.
-   */
-  public final int yylength() {
-    return zzMarkedPos-zzStartRead;
-  }
-
-
-  /**
-   * Reports an error that occured while scanning.
-   *
-   * In a wellformed scanner (no or only correct usage of 
-   * yypushback(int) and a match-all fallback rule) this method 
-   * will only be called with things that "Can't Possibly Happen".
-   * If this method is called, something is seriously wrong
-   * (e.g. a JFlex bug producing a faulty scanner etc.).
-   *
-   * Usual syntax/scanner level error handling should be done
-   * in error fallback rules.
-   *
-   * @param   errorCode  the code of the errormessage to display
-   */
-  private void zzScanError(int errorCode) {
-    String message;
-    try {
-      message = ZZ_ERROR_MSG[errorCode];
-    }
-    catch (ArrayIndexOutOfBoundsException e) {
-      message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR];
-    }
-
-    throw new Error(message);
-  } 
-
-
-  /**
-   * Pushes the specified amount of characters back into the input stream.
-   *
-   * They will be read again by then next call of the scanning method
-   *
-   * @param number  the number of characters to be read again.
-   *                This number must not be greater than yylength()!
-   */
-  public void yypushback(int number)  {
-    if ( number > yylength() )
-      zzScanError(ZZ_PUSHBACK_2BIG);
-
-    zzMarkedPos -= number;
-  }
-
-
-  /**
-   * Contains user EOF-code, which will be executed exactly once,
-   * when the end of file is reached
-   */
-  private void zzDoEOF() {
-    if (!zzEOFDone) {
-      zzEOFDone = true;
-            hasMore=false;
-
-    }
-  }
-
-
-  /**
-   * Resumes scanning until the next regular expression is matched,
-   * the end of input is encountered or an I/O-Error occurs.
-   *
-   * @return      the next token
-   * @exception   java.io.IOException  if any I/O-Error occurs
-   */
-  public String primGetNextToken() throws java.io.IOException {
-    int zzInput;
-    int zzAction;
-
-    // cached fields:
-    int zzCurrentPosL;
-    int zzMarkedPosL;
-    int zzEndReadL = zzEndRead;
-    char [] zzBufferL = zzBuffer;
-    char [] zzCMapL = ZZ_CMAP;
-
-
-    while (true) {
-      zzMarkedPosL = zzMarkedPos;
-
-      yychar+= zzMarkedPosL-zzStartRead;
-
-      if (zzMarkedPosL > zzStartRead) {
-        switch (zzBufferL[zzMarkedPosL-1]) {
-        case '\n':
-        case '\u000B':
-        case '\u000C':
-        case '\u0085':
-        case '\u2028':
-        case '\u2029':
-          zzAtBOL = true;
-          break;
-        case '\r': 
-          if (zzMarkedPosL < zzEndReadL)
-            zzAtBOL = zzBufferL[zzMarkedPosL] != '\n';
-          else if (zzAtEOF)
-            zzAtBOL = false;
-          else {
-            boolean eof = zzRefill();
-            zzMarkedPosL = zzMarkedPos;
-            zzBufferL = zzBuffer;
-            if (eof) 
-              zzAtBOL = false;
-            else 
-              zzAtBOL = zzBufferL[zzMarkedPosL] != '\n';
-          }
-          break;
-        default:
-          zzAtBOL = false;
-        }
-      }
-      zzAction = -1;
-
-      zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL;
-  
-      if (zzAtBOL)
-        zzState = ZZ_LEXSTATE[zzLexicalState+1];
-      else
-        zzState = ZZ_LEXSTATE[zzLexicalState];
-
-
-      zzForAction: {
-        while (true) {
-    
-          if (zzCurrentPosL < zzEndReadL)
-            zzInput = zzBufferL[zzCurrentPosL++];
-          else if (zzAtEOF) {
-            zzInput = YYEOF;
-            break zzForAction;
-          }
-          else {
-            // store back cached positions
-            zzCurrentPos  = zzCurrentPosL;
-            zzMarkedPos   = zzMarkedPosL;
-            boolean eof = zzRefill();
-            // get translated positions and possibly new buffer
-            zzCurrentPosL  = zzCurrentPos;
-            zzMarkedPosL   = zzMarkedPos;
-            zzBufferL      = zzBuffer;
-            zzEndReadL     = zzEndRead;
-            if (eof) {
-              zzInput = YYEOF;
-              break zzForAction;
-            }
-            else {
-              zzInput = zzBufferL[zzCurrentPosL++];
-            }
-          }
-          zzInput = zzCMapL[zzInput];
-
-          boolean zzIsFinal = false;
-          boolean zzNoLookAhead = false;
-
-          zzForNext: { switch (zzState) {
-            case 0:
-              switch (zzInput) {
-                case 10: zzIsFinal = true; zzState = 9; break zzForNext;
-                default: zzIsFinal = true; zzNoLookAhead = true; zzState = 8; break zzForNext;
-              }
-
-            case 1:
-              switch (zzInput) {
-                case 1: zzIsFinal = true; zzState = 10; break zzForNext;
-                case 2: zzIsFinal = true; zzState = 11; break zzForNext;
-                case 3: zzIsFinal = true; zzState = 12; break zzForNext;
-                case 6: 
-                case 8: 
-                case 9: zzIsFinal = true; zzState = 13; break zzForNext;
-                case 10: zzIsFinal = true; zzState = 14; break zzForNext;
-                default: zzIsFinal = true; zzNoLookAhead = true; zzState = 8; break zzForNext;
-              }
-
-            case 2:
-              switch (zzInput) {
-                case 6: 
-                case 8: 
-                case 9: zzIsFinal = true; zzState = 15; break zzForNext;
-                case 11: zzIsFinal = true; zzState = 16; break zzForNext;
-                case 20: zzIsFinal = true; zzState = 17; break zzForNext;
-                case 29: zzIsFinal = true; zzState = 18; break zzForNext;
-                default: zzIsFinal = true; zzNoLookAhead = true; zzState = 8; break zzForNext;
-              }
-
-            case 3:
-              switch (zzInput) {
-                case 14: zzIsFinal = true; zzState = 19; break zzForNext;
-                case 15: zzIsFinal = true; zzState = 20; break zzForNext;
-                case 17: zzIsFinal = true; zzState = 21; break zzForNext;
-                case 27: zzIsFinal = true; zzState = 22; break zzForNext;
-                case 36: zzIsFinal = true; zzState = 23; break zzForNext;
-                default: zzIsFinal = true; zzNoLookAhead = true; zzState = 8; break zzForNext;
-              }
-
-            case 4:
-              switch (zzInput) {
-                case 6: 
-                case 8: zzIsFinal = true; zzState = 25; break zzForNext;
-                case 9: zzIsFinal = true; zzState = 26; break zzForNext;
-                case 37: zzIsFinal = true; zzNoLookAhead = true; zzState = 27; break zzForNext;
-                case 38: zzIsFinal = true; zzNoLookAhead = true; zzState = 28; break zzForNext;
-                default: zzIsFinal = true; zzNoLookAhead = true; zzState = 24; break zzForNext;
-              }
-
-            case 5:
-              switch (zzInput) {
-                case 8: 
-                case 9: zzIsFinal = true; zzNoLookAhead = true; zzState = 30; break zzForNext;
-                case 11: zzIsFinal = true; zzState = 31; break zzForNext;
-                case 15: zzIsFinal = true; zzState = 32; break zzForNext;
-                case 37: zzIsFinal = true; zzNoLookAhead = true; zzState = 33; break zzForNext;
-                case 38: zzIsFinal = true; zzState = 34; break zzForNext;
-                default: zzIsFinal = true; zzNoLookAhead = true; zzState = 29; break zzForNext;
-              }
-
-            case 6:
-              switch (zzInput) {
-                case 8: 
-                case 9: zzIsFinal = true; zzNoLookAhead = true; zzState = 30; break zzForNext;
-                case 15: zzIsFinal = true; zzState = 32; break zzForNext;
-                case 38: zzIsFinal = true; zzState = 35; break zzForNext;
-                default: zzIsFinal = true; zzNoLookAhead = true; zzState = 29; break zzForNext;
-              }
-
-            case 7:
-              switch (zzInput) {
-                case 11: 
-                case 15: zzIsFinal = true; zzState = 32; break zzForNext;
-                case 6: 
-                case 8: 
-                case 9: zzIsFinal = true; zzNoLookAhead = true; zzState = 36; break zzForNext;
-                case 37: zzIsFinal = true; zzNoLookAhead = true; zzState = 37; break zzForNext;
-                case 38: zzIsFinal = true; zzState = 38; break zzForNext;
-                default: zzIsFinal = true; zzNoLookAhead = true; zzState = 29; break zzForNext;
-              }
-
-            case 9:
-              switch (zzInput) {
-                case 15: zzState = 39; break zzForNext;
-                case 21: zzState = 40; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 10:
-              switch (zzInput) {
-                case 2: zzIsFinal = true; zzNoLookAhead = true; zzState = 41; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 11:
-              switch (zzInput) {
-                case 1: zzIsFinal = true; zzNoLookAhead = true; zzState = 42; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 12:
-              switch (zzInput) {
-                case 4: zzState = 43; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 13:
-              switch (zzInput) {
-                case 6: 
-                case 8: 
-                case 9: zzState = 44; break zzForNext;
-                case 10: zzState = 45; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 14:
-              switch (zzInput) {
-                case 15: zzState = 39; break zzForNext;
-                case 21: zzState = 40; break zzForNext;
-                case 11: zzState = 46; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 15:
-              switch (zzInput) {
-                case 6: 
-                case 8: 
-                case 9: zzState = 47; break zzForNext;
-                case 11: zzState = 48; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 16:
-              switch (zzInput) {
-                case 33: zzIsFinal = true; zzNoLookAhead = true; zzState = 49; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 17:
-              switch (zzInput) {
-                case 32: zzState = 50; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 18:
-              switch (zzInput) {
-                case 20: zzState = 51; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 19:
-              switch (zzInput) {
-                case 18: zzState = 52; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 20:
-              switch (zzInput) {
-                case 33: zzIsFinal = true; zzNoLookAhead = true; zzState = 53; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 21:
-              switch (zzInput) {
-                case 18: zzState = 54; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 22:
-              switch (zzInput) {
-                case 31: zzState = 55; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 23:
-              switch (zzInput) {
-                case 33: zzIsFinal = true; zzNoLookAhead = true; zzState = 56; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 25:
-              switch (zzInput) {
-                case 6: 
-                case 8: zzIsFinal = true; zzState = 25; break zzForNext;
-                case 9: zzState = 57; break zzForNext;
-                default: zzIsFinal = true; zzNoLookAhead = true; zzState = 24; break zzForNext;
-              }
-
-            case 26:
-              switch (zzInput) {
-                case 6: 
-                case 8: zzIsFinal = true; zzState = 25; break zzForNext;
-                case 9: zzState = 57; break zzForNext;
-                default: zzIsFinal = true; zzNoLookAhead = true; zzState = 24; break zzForNext;
-              }
-
-            case 31:
-              switch (zzInput) {
-                case 33: zzIsFinal = true; zzNoLookAhead = true; zzState = 58; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 32:
-              switch (zzInput) {
-                case 33: zzIsFinal = true; zzNoLookAhead = true; zzState = 59; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 34:
-              switch (zzInput) {
-                case 10: zzState = 60; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 35:
-              switch (zzInput) {
-                case 10: zzState = 60; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 38:
-              switch (zzInput) {
-                case 10: zzState = 60; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 39:
-              switch (zzInput) {
-                case 6: 
-                case 8: 
-                case 9: zzState = 39; break zzForNext;
-                case 16: zzState = 61; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 40:
-              switch (zzInput) {
-                case 22: zzState = 62; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 43:
-              switch (zzInput) {
-                case 5: zzIsFinal = true; zzNoLookAhead = true; zzState = 63; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 44:
-              switch (zzInput) {
-                case 6: 
-                case 8: 
-                case 9: zzState = 44; break zzForNext;
-                case 10: zzState = 45; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 45:
-              switch (zzInput) {
-                case 11: zzState = 46; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 46:
-              switch (zzInput) {
-                case 12: zzState = 64; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 47:
-              switch (zzInput) {
-                case 6: 
-                case 8: 
-                case 9: zzState = 47; break zzForNext;
-                case 11: zzState = 48; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 48:
-              switch (zzInput) {
-                case 33: zzIsFinal = true; zzNoLookAhead = true; zzState = 49; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 50:
-              switch (zzInput) {
-                case 27: zzState = 65; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 51:
-              switch (zzInput) {
-                case 26: zzState = 66; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 52:
-              switch (zzInput) {
-                case 32: zzState = 67; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 54:
-              switch (zzInput) {
-                case 19: zzState = 68; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 55:
-              switch (zzInput) {
-                case 32: zzState = 69; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 57:
-              switch (zzInput) {
-                case 6: 
-                case 8: zzIsFinal = true; zzState = 25; break zzForNext;
-                case 9: zzState = 57; break zzForNext;
-                default: zzIsFinal = true; zzNoLookAhead = true; zzState = 24; break zzForNext;
-              }
-
-            case 60:
-              switch (zzInput) {
-                case 38: zzIsFinal = true; zzNoLookAhead = true; zzState = 30; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 61:
-              switch (zzInput) {
-                case 6: 
-                case 8: 
-                case 9: zzState = 61; break zzForNext;
-                case 17: zzState = 70; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 62:
-              switch (zzInput) {
-                case 17: zzState = 71; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 64:
-              switch (zzInput) {
-                case 13: zzState = 72; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 65:
-              switch (zzInput) {
-                case 31: zzState = 73; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 66:
-              switch (zzInput) {
-                case 22: zzState = 74; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 67:
-              switch (zzInput) {
-                case 19: zzState = 75; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 68:
-              switch (zzInput) {
-                case 20: zzState = 76; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 69:
-              switch (zzInput) {
-                case 28: zzState = 77; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 70:
-              switch (zzInput) {
-                case 18: zzState = 78; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 71:
-              switch (zzInput) {
-                case 23: zzState = 79; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 72:
-              switch (zzInput) {
-                case 14: zzState = 80; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 73:
-              switch (zzInput) {
-                case 24: zzState = 81; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 74:
-              switch (zzInput) {
-                case 25: zzState = 82; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 75:
-              switch (zzInput) {
-                case 34: zzState = 83; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 76:
-              switch (zzInput) {
-                case 20: zzState = 84; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 77:
-              switch (zzInput) {
-                case 20: zzState = 85; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 78:
-              switch (zzInput) {
-                case 19: zzState = 86; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 79:
-              switch (zzInput) {
-                case 24: zzState = 87; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 80:
-              switch (zzInput) {
-                case 6: 
-                case 8: 
-                case 9: zzIsFinal = true; zzState = 88; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 81:
-              switch (zzInput) {
-                case 25: zzState = 89; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 82:
-              switch (zzInput) {
-                case 31: zzState = 90; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 83:
-              switch (zzInput) {
-                case 18: zzState = 91; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 84:
-              switch (zzInput) {
-                case 32: zzState = 92; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 85:
-              switch (zzInput) {
-                case 32: zzState = 93; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 86:
-              switch (zzInput) {
-                case 20: zzState = 94; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 87:
-              switch (zzInput) {
-                case 25: zzState = 95; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 88:
-              switch (zzInput) {
-                case 6: 
-                case 8: 
-                case 9: zzIsFinal = true; zzState = 88; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 89:
-              switch (zzInput) {
-                case 32: zzState = 96; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 90:
-              switch (zzInput) {
-                case 32: zzState = 97; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 91:
-              switch (zzInput) {
-                case 19: zzState = 98; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 92:
-              switch (zzInput) {
-                case 27: zzState = 99; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 93:
-              switch (zzInput) {
-                case 28: zzState = 100; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 94:
-              switch (zzInput) {
-                case 6: 
-                case 8: 
-                case 9: zzIsFinal = true; zzState = 101; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 95:
-              switch (zzInput) {
-                case 26: zzState = 102; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 96:
-              switch (zzInput) {
-                case 19: zzState = 103; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 97:
-              switch (zzInput) {
-                case 6: 
-                case 8: 
-                case 9: zzState = 97; break zzForNext;
-                case 7: zzIsFinal = true; zzState = 104; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 98:
-              switch (zzInput) {
-                case 20: zzState = 105; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 99:
-              switch (zzInput) {
-                case 31: zzState = 106; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 100:
-              switch (zzInput) {
-                case 28: zzState = 107; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 101:
-              switch (zzInput) {
-                case 6: 
-                case 8: 
-                case 9: zzIsFinal = true; zzState = 101; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 102:
-              switch (zzInput) {
-                case 20: zzState = 108; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 103:
-              switch (zzInput) {
-                case 6: 
-                case 8: 
-                case 9: zzState = 103; break zzForNext;
-                case 7: zzIsFinal = true; zzState = 109; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 104:
-              switch (zzInput) {
-                case 6: 
-                case 8: 
-                case 9: zzIsFinal = true; zzState = 104; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 105:
-              switch (zzInput) {
-                case 6: 
-                case 8: 
-                case 9: zzState = 105; break zzForNext;
-                case 7: zzIsFinal = true; zzState = 110; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 106:
-              switch (zzInput) {
-                case 24: zzState = 111; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 107:
-              switch (zzInput) {
-                case 35: zzState = 112; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 108:
-              switch (zzInput) {
-                case 27: zzState = 113; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 109:
-              switch (zzInput) {
-                case 6: 
-                case 8: 
-                case 9: zzIsFinal = true; zzState = 109; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 110:
-              switch (zzInput) {
-                case 6: 
-                case 8: 
-                case 9: zzIsFinal = true; zzState = 110; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 111:
-              switch (zzInput) {
-                case 25: zzState = 114; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 112:
-              switch (zzInput) {
-                case 17: zzState = 115; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 113:
-              switch (zzInput) {
-                case 28: zzState = 116; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 114:
-              switch (zzInput) {
-                case 32: zzState = 117; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 115:
-              switch (zzInput) {
-                case 20: zzState = 118; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 116:
-              switch (zzInput) {
-                case 25: zzState = 119; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 117:
-              switch (zzInput) {
-                case 19: zzState = 120; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 118:
-              switch (zzInput) {
-                case 6: 
-                case 8: 
-                case 9: zzState = 118; break zzForNext;
-                case 7: zzIsFinal = true; zzState = 121; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 119:
-              switch (zzInput) {
-                case 29: zzState = 122; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 120:
-              switch (zzInput) {
-                case 6: 
-                case 8: 
-                case 9: zzState = 120; break zzForNext;
-                case 7: zzIsFinal = true; zzState = 123; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 121:
-              switch (zzInput) {
-                case 6: 
-                case 8: 
-                case 9: zzIsFinal = true; zzState = 121; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 122:
-              switch (zzInput) {
-                case 20: zzState = 124; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 123:
-              switch (zzInput) {
-                case 6: 
-                case 8: 
-                case 9: zzIsFinal = true; zzState = 123; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 124:
-              switch (zzInput) {
-                case 30: zzState = 125; break zzForNext;
-                default: break zzForAction;
-              }
-
-            case 125:
-              switch (zzInput) {
-                case 17: zzState = 70; break zzForNext;
-                default: break zzForAction;
-              }
-
-            default:
-              // if this is ever reached, there is a serious bug in JFlex
-              zzScanError(ZZ_UNKNOWN_ERROR);
-              break;
-          } }
-
-          if ( zzIsFinal ) {
-            zzAction = zzState;
-            zzMarkedPosL = zzCurrentPosL;
-            if ( zzNoLookAhead ) break zzForAction;
-          }
-
-        }
-      }
-
-      // store back cached position
-      zzMarkedPos = zzMarkedPosL;
-
-      switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
-        case 10: 
-          { if (yychar == 0 ) {hasMore = false; return EncodingParserConstants.UTF16BE;}
-          }
-        case 25: break;
-        case 17: 
-          { if (yychar == 0 ) {hasMore = false; return EncodingParserConstants.UTF83ByteBOM;}
-          }
-        case 26: break;
-        case 4: 
-          { yybegin(SQ_STRING); string.setLength(0);
-          }
-        case 27: break;
-        case 5: 
-          { string.append( yytext() );
-          }
-        case 28: break;
-        case 22: 
-          { pushCurrentState(); yybegin(QuotedAttributeValue); return JSPHeadTokenizerConstants.PageLanguage;
-          }
-        case 29: break;
-        case 24: 
-          { pushCurrentState(); yybegin(QuotedAttributeValue); return JSPHeadTokenizerConstants.PageEncoding;
-          }
-        case 30: break;
-        case 1: 
-          { if (yychar > MAX_TO_SCAN) {hasMore=false; return EncodingParserConstants.MAX_CHARS_REACHED;}
-          }
-        case 31: break;
-        case 11: 
-          { if (yychar == 0 ) {hasMore = false; return EncodingParserConstants.UTF16LE;}
-          }
-        case 32: break;
-        case 6: 
-          { yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;
-          }
-        case 33: break;
-        case 8: 
-          { yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.UnDelimitedStringValue;
-          }
-        case 34: break;
-        case 9: 
-          { yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTermintatedUnDelimitedStringValue;
-          }
-        case 35: break;
-        case 7: 
-          { popState(); valueText = string.toString(); return EncodingParserConstants.StringValue;
-          }
-        case 36: break;
-        case 13: 
-          { yybegin(YYINITIAL);  return JSPHeadTokenizerConstants.PageDirectiveEnd;
-          }
-        case 37: break;
-        case 23: 
-          { pushCurrentState(); yybegin(QuotedAttributeValue); return JSPHeadTokenizerConstants.PageContentType;
-          }
-        case 38: break;
-        case 18: 
-          { if (yychar == 0 ) {yybegin(ST_XMLDecl); return XMLHeadTokenizerConstants.XMLDeclStart;}
-          }
-        case 39: break;
-        case 15: 
-          { yypushback(2); popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;
-          }
-        case 40: break;
-        case 2: 
-          { yypushback(1); yybegin(UnDelimitedString); string.setLength(0);
-          }
-        case 41: break;
-        case 12: 
-          { yybegin(YYINITIAL); return XMLHeadTokenizerConstants.XMLDeclEnd;
-          }
-        case 42: break;
-        case 14: 
-          { yybegin(YYINITIAL); return JSPHeadTokenizerConstants.PageDirectiveEnd;
-          }
-        case 43: break;
-        case 19: 
-          { yybegin(ST_PAGE_DIRECTIVE); return JSPHeadTokenizerConstants.PageDirectiveStart;
-          }
-        case 44: break;
-        case 21: 
-          { pushCurrentState(); yybegin(QuotedAttributeValue); return XMLHeadTokenizerConstants.XMLDelEncoding;
-          }
-        case 45: break;
-        case 20: 
-          { pushCurrentState(); yybegin(QuotedAttributeValue); return XMLHeadTokenizerConstants.XMLDeclVersion;
-          }
-        case 46: break;
-        case 16: 
-          { yypushback(2);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;
-          }
-        case 47: break;
-        case 3: 
-          { yybegin(DQ_STRING); string.setLength(0);
-          }
-        case 48: break;
-        default: 
-          if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
-            zzAtEOF = true;
-            zzDoEOF();
-              { hasMore = false; return EncodingParserConstants.EOF; }
-          } 
-          else {
-            zzScanError(ZZ_NO_MATCH);
-          }
-      }
-    }
-  }
-
-
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contenttype/JSPHeadTokenizerConstants.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contenttype/JSPHeadTokenizerConstants.java
deleted file mode 100644
index 08fa5b9..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contenttype/JSPHeadTokenizerConstants.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.contenttype;
-
-import org.eclipse.wst.xml.core.internal.contenttype.XMLHeadTokenizerConstants;
-
-public interface JSPHeadTokenizerConstants extends XMLHeadTokenizerConstants {
-	String PageDirectiveStart = "PageDirectiveStart"; //$NON-NLS-1$
-	String PageDirectiveEnd = "PageDirectiveEnd"; //$NON-NLS-1$
-	String PageLanguage = "PageLanguage"; //$NON-NLS-1$
-	String PageEncoding = "PageEncoding"; //$NON-NLS-1$
-	String PageContentType = "PageContentType"; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contenttype/JSPResourceEncodingDetector.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contenttype/JSPResourceEncodingDetector.java
deleted file mode 100644
index 3beae68..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contenttype/JSPResourceEncodingDetector.java
+++ /dev/null
@@ -1,483 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.contenttype;
-
-import java.io.BufferedInputStream;
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Reader;
-import java.nio.charset.Charset;
-import java.nio.charset.IllegalCharsetNameException;
-import java.nio.charset.UnsupportedCharsetException;
-import java.util.regex.Pattern;
-
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.wst.sse.core.internal.encoding.CodedIO;
-import org.eclipse.wst.sse.core.internal.encoding.EncodingMemento;
-import org.eclipse.wst.sse.core.internal.encoding.IResourceCharsetDetector;
-import org.eclipse.wst.sse.core.internal.encoding.NonContentBasedEncodingRules;
-import org.eclipse.wst.sse.core.internal.encoding.util.ByteReader;
-import org.eclipse.wst.xml.core.internal.contenttype.EncodingParserConstants;
-import org.eclipse.wst.xml.core.internal.contenttype.XMLHeadTokenizerConstants;
-
-public class JSPResourceEncodingDetector implements IResourceCharsetDetector {
-
-	private String fCharset;
-
-	private String fContentType;
-
-	private String fContentTypeValue;
-
-	private String fLanguage;
-
-	private String fPageEncodingValue;
-
-	private JSPHeadTokenizer fTokenizer;
-
-	private String fXMLDecEncodingName;
-
-	private boolean unicodeCase;
-
-	private EncodingMemento fEncodingMemento;
-
-	private boolean fHeaderParsed;
-
-	private Reader fReader;
-
-
-	/**
-	 * No Arg constructor.
-	 */
-	public JSPResourceEncodingDetector() {
-		super();
-	}
-
-	class NullMemento extends EncodingMemento {
-		/**
-		 * 
-		 */
-		public NullMemento() {
-			super();
-			String defaultCharset = NonContentBasedEncodingRules.useDefaultNameRules(null);
-			setJavaCharsetName(defaultCharset);
-			setAppropriateDefault(defaultCharset);
-			setDetectedCharsetName(null);
-		}
-
-	}
-
-	/**
-	 * @return Returns the contentType.
-	 */
-	public String getContentType() throws IOException {
-		ensureInputSet();
-		if (!fHeaderParsed) {
-			parseInput();
-			// we keep track of if header's already been parse, so can make
-			// multiple 'get' calls, without causing reparsing.
-			fHeaderParsed = true;
-			// Note: there is a "hidden assumption" here that an empty
-			// string in content should be treated same as not present.
-		}
-		return fContentType;
-	}
-
-	public String getEncoding() throws IOException {
-		return getEncodingMemento().getDetectedCharsetName();
-	}
-
-	// to ensure consist overall rules used, we'll mark as
-	// final,
-	// and require subclasses to provide certain pieces of
-	// the
-	// implementation
-	public EncodingMemento getEncodingMemento() throws IOException {
-		ensureInputSet();
-		if (!fHeaderParsed) {
-			parseInput();
-			// we keep track of if header's already been
-			// parse, so can make
-			// multiple 'get' calls, without causing
-			// reparsing.
-			fHeaderParsed = true;
-			// Note: there is a "hidden assumption" here
-			// that an empty
-			// string in content should be treated same as
-			// not present.
-		}
-		if (fEncodingMemento == null) {
-			handleSpecDefault();
-		}
-		if (fEncodingMemento == null) {
-			// safty net
-			fEncodingMemento = new NullMemento();
-		}
-		return fEncodingMemento;
-	}
-
-	public String getLanguage() throws IOException {
-		ensureInputSet();
-		if (!fHeaderParsed) {
-			parseInput();
-			fHeaderParsed = true;
-		}
-		return fLanguage;
-	}
-
-	public String getSpecDefaultEncoding() {
-		// by JSP Spec
-		final String enc = "ISO-8859-1"; //$NON-NLS-1$
-		return enc;
-	}
-
-	public EncodingMemento getSpecDefaultEncodingMemento() {
-		resetAll();
-		EncodingMemento result = null;
-		String enc = getSpecDefaultEncoding();
-		if (enc != null) {
-			createEncodingMemento(enc, EncodingMemento.DEFAULTS_ASSUMED_FOR_EMPTY_INPUT);
-			fEncodingMemento.setAppropriateDefault(enc);
-			result = fEncodingMemento;
-		}
-		return result;
-	}
-
-	/**
-	 * 
-	 */
-	public void set(InputStream inputStream) {
-		resetAll();
-		fReader = new ByteReader(inputStream);
-		try {
-			fReader.mark(CodedIO.MAX_MARK_SIZE);
-		}
-		catch (IOException e) {
-			// impossible, since we know ByteReader
-			// supports marking
-			throw new Error(e);
-		}
-	}
-
-	/**
-	 * 
-	 */
-	public void set(IStorage iStorage) throws CoreException {
-		resetAll();
-		InputStream inputStream = iStorage.getContents();
-		InputStream resettableStream = new BufferedInputStream(inputStream, CodedIO.MAX_BUF_SIZE);
-		resettableStream.mark(CodedIO.MAX_MARK_SIZE);
-		set(resettableStream);
-		// TODO we'll need to "remember" IFile, or
-		// get its (or its project's) settings, in case
-		// those are needed to handle cases when the
-		// encoding is not in the file stream.
-	}
-
-	/**
-	 * Note: this is not part of interface to help avoid confusion ... it
-	 * expected this Reader is a well formed character reader ... that is, its
-	 * all ready been determined to not be a unicode marked input stream. And,
-	 * its assumed to be in the correct position, at position zero, ready to
-	 * read first character.
-	 */
-	public void set(Reader reader) {
-		resetAll();
-		fReader = reader;
-		if (!fReader.markSupported()) {
-			fReader = new BufferedReader(fReader);
-		}
-		try {
-			fReader.mark(CodedIO.MAX_MARK_SIZE);
-		}
-		catch (IOException e) {
-			// impossble, since we just checked if markable
-			throw new Error(e);
-		}
-	}
-
-	private boolean canHandleAsUnicodeStream(String tokenType) {
-		boolean canHandleAsUnicode = false;
-		if (tokenType == EncodingParserConstants.UTF83ByteBOM) {
-			canHandleAsUnicode = true;
-			String enc = "UTF-8"; //$NON-NLS-1$
-			createEncodingMemento(enc, EncodingMemento.DETECTED_STANDARD_UNICODE_BYTES);
-			fEncodingMemento.setUTF83ByteBOMUsed(true);
-		}
-		else if (tokenType == EncodingParserConstants.UTF16BE) {
-			canHandleAsUnicode = true;
-			String enc = "UTF-16BE"; //$NON-NLS-1$
-			createEncodingMemento(enc, EncodingMemento.DETECTED_STANDARD_UNICODE_BYTES);
-		}
-		else if (tokenType == EncodingParserConstants.UTF16LE) {
-			canHandleAsUnicode = true;
-			String enc = "UTF-16"; //$NON-NLS-1$
-			createEncodingMemento(enc, EncodingMemento.DETECTED_STANDARD_UNICODE_BYTES);
-		}
-		return canHandleAsUnicode;
-	}
-
-	/**
-	 * Note: once this instance is created, trace info still needs to be
-	 * appended by caller, depending on the context its created.
-	 */
-	private void createEncodingMemento(String detectedCharsetName) {
-		fEncodingMemento = new EncodingMemento();
-		fEncodingMemento.setJavaCharsetName(getAppropriateJavaCharset(detectedCharsetName));
-		fEncodingMemento.setDetectedCharsetName(detectedCharsetName);
-		// TODO: if detectedCharset and spec default is
-		// null, need to use "work
-		// bench based" defaults.
-		fEncodingMemento.setAppropriateDefault(getSpecDefaultEncoding());
-	}
-
-	/**
-	 * There can sometimes be mulitple 'encodings' specified in a file. This
-	 * is an attempt to centralize the rules for deciding between them.
-	 * Returns encoding according to priority: 1. XML Declaration 2. page
-	 * directive pageEncoding name 3. page directive contentType charset name
-	 */
-	private String getAppropriateEncoding() {
-		String result = null;
-		if (fXMLDecEncodingName != null)
-			result = fXMLDecEncodingName;
-		else if (fPageEncodingValue != null)
-			result = fPageEncodingValue;
-		else if (fCharset != null)
-			result = fCharset;
-		return result;
-	}
-
-	/**
-	 * This method can return null, if invalid charset name (in which case
-	 * "appropriateDefault" should be used, if a name is really need for some
-	 * "save anyway" cases).
-	 * 
-	 * @param detectedCharsetName
-	 * @return
-	 */
-	private String getAppropriateJavaCharset(String detectedCharsetName) {
-		String result = null;
-		// 1. Check explicit mapping overrides from
-		// property file -- its here we pick up "rules" for cases
-		// that are not even in Java
-		result = CodedIO.checkMappingOverrides(detectedCharsetName);
-		// 2. Use the "canonical" name from JRE mappings
-		// Note: see Charset JavaDoc, the name you get one
-		// with can be alias,
-		// the name you get back is "standard" name.
-		Charset javaCharset = null;
-		try {
-			javaCharset = Charset.forName(detectedCharsetName);
-		}
-		catch (UnsupportedCharsetException e) {
-			// only set invalid, if result is same as detected -- they won't
-			// be equal if
-			// overridden
-			if (result != null && result.equals(detectedCharsetName)) {
-				fEncodingMemento.setInvalidEncoding(detectedCharsetName);
-			}
-		}
-		catch (IllegalCharsetNameException e) {
-			// only set invalid, if result is same as detected -- they won't
-			// be equal if
-			// overridden
-			if (result != null && result.equals(detectedCharsetName)) {
-				fEncodingMemento.setInvalidEncoding(detectedCharsetName);
-			}
-		}
-		// give priority to java cononical name, if present
-		if (javaCharset != null) {
-			result = javaCharset.name();
-			// but still allow overrides
-			result = CodedIO.checkMappingOverrides(result);
-		}
-		return result;
-	}
-
-	private JSPHeadTokenizer getTokinizer() {
-		if (fTokenizer == null) {
-			fTokenizer = new JSPHeadTokenizer();
-		}
-		return fTokenizer;
-	}
-
-	private void handleSpecDefault() {
-		String encodingName;
-		encodingName = getSpecDefaultEncoding();
-		if (encodingName != null) {
-			// createEncodingMemento(encodingName,
-			// EncodingMemento.USED_CONTENT_TYPE_DEFAULT);
-			fEncodingMemento = new EncodingMemento();
-			fEncodingMemento.setJavaCharsetName(encodingName);
-			fEncodingMemento.setAppropriateDefault(encodingName);
-		}
-	}
-
-	private boolean isLegalString(String valueTokenType) {
-		boolean result = false;
-		if (valueTokenType != null) {
-			result = valueTokenType.equals(EncodingParserConstants.StringValue) || valueTokenType.equals(EncodingParserConstants.UnDelimitedStringValue) || valueTokenType.equals(EncodingParserConstants.InvalidTerminatedStringValue) || valueTokenType.equals(EncodingParserConstants.InvalidTermintatedUnDelimitedStringValue);
-		}
-		return result;
-	}
-
-
-	/**
-	 * This method should be exactly the same as what is in 
-	 * JSPHeadTokenizerTester
-	 * @param contentType
-	 */
-	private void parseContentTypeValue(String contentType) {
-		Pattern pattern = Pattern.compile(";\\s*charset\\s*=\\s*"); //$NON-NLS-1$
-		String[] parts = pattern.split(contentType);
-		if (parts.length > 0) {
-			// if only one item, it can still be charset instead of
-			// contentType
-			if (parts.length == 1) {
-				if (parts[0].length() > 6) {
-					String checkForCharset = parts[0].substring(0, 7);
-					if (checkForCharset.equalsIgnoreCase("charset")) {
-						int eqpos = parts[0].indexOf('=');
-						eqpos = eqpos + 1;
-						if (eqpos < parts[0].length()) {
-							fCharset = parts[0].substring(eqpos);
-							fCharset = fCharset.trim();
-						}
-					}
-					else {
-						fContentType = parts[0];
-					}
-				}
-			}
-			else {
-				fContentType = parts[0];
-			}
-		}
-		if (parts.length > 1) {
-			fCharset = parts[1];
-		}
-	}
-
-
-	/**
-	 * Looks for what ever encoding properties the tokenizer returns. Its the
-	 * responsibility of the tokenizer to stop when appropriate and not go too
-	 * far.
-	 */
-	private void parseHeader(JSPHeadTokenizer tokenizer) throws IOException {
-		fPageEncodingValue = null;
-		fCharset = null;
-
-		HeadParserToken token = null;
-		do {
-			// don't use 'get' here (at least until reset issue fixed)
-			token = tokenizer.getNextToken();
-			String tokenType = token.getType();
-			if (canHandleAsUnicodeStream(tokenType))
-				unicodeCase = true;
-			else {
-
-				if (tokenType == XMLHeadTokenizerConstants.XMLDelEncoding) {
-					if (tokenizer.hasMoreTokens()) {
-						HeadParserToken valueToken = tokenizer.getNextToken();
-						String valueTokenType = valueToken.getType();
-						if (isLegalString(valueTokenType)) {
-							fXMLDecEncodingName = valueToken.getText();
-						}
-					}
-				}
-				else if (tokenType == JSPHeadTokenizerConstants.PageEncoding) {
-					if (tokenizer.hasMoreTokens()) {
-						HeadParserToken valueToken = tokenizer.getNextToken();
-						String valueTokenType = valueToken.getType();
-						if (isLegalString(valueTokenType)) {
-							fPageEncodingValue = valueToken.getText();
-						}
-					}
-				}
-				else if (tokenType == JSPHeadTokenizerConstants.PageContentType) {
-					if (tokenizer.hasMoreTokens()) {
-						HeadParserToken valueToken = tokenizer.getNextToken();
-						String valueTokenType = valueToken.getType();
-						if (isLegalString(valueTokenType)) {
-							fContentTypeValue = valueToken.getText();
-						}
-					}
-				}
-				else if (tokenType == JSPHeadTokenizerConstants.PageLanguage) {
-					if (tokenizer.hasMoreTokens()) {
-						HeadParserToken valueToken = tokenizer.getNextToken();
-						String valueTokenType = valueToken.getType();
-						if (isLegalString(valueTokenType)) {
-							fLanguage = valueToken.getText();
-						}
-					}
-				}
-			}
-		}
-		while (tokenizer.hasMoreTokens());
-		if (fContentTypeValue != null) {
-			parseContentTypeValue(fContentTypeValue);
-		}
-
-	}
-
-	private void parseInput() throws IOException {
-		JSPHeadTokenizer tokenizer = getTokinizer();
-		fReader.reset();
-		tokenizer.reset(fReader);
-		parseHeader(tokenizer);
-		// unicode stream cases are created directly in parseHeader
-		if (!unicodeCase) {
-			String enc = getAppropriateEncoding();
-			if (enc != null && enc.length() > 0) {
-				createEncodingMemento(enc, EncodingMemento.FOUND_ENCODING_IN_CONTENT);
-			}
-		}
-	}
-
-	/**
-	 * 
-	 */
-	private void resetAll() {
-		fReader = null;
-		fHeaderParsed = false;
-		fEncodingMemento = null;
-		fCharset = null;
-		fContentTypeValue = null;
-		fPageEncodingValue = null;
-		fXMLDecEncodingName = null;
-		unicodeCase = false;
-	}
-
-
-
-	/**
-	 * convience method all subclasses can use (but not override)
-	 * 
-	 * @param detectedCharsetName
-	 * @param reason
-	 */
-	private void createEncodingMemento(String detectedCharsetName, String reason) {
-		createEncodingMemento(detectedCharsetName);
-	}
-
-	/**
-	 * convience method all subclasses can use (but not override)
-	 */
-	private void ensureInputSet() {
-		if (fReader == null) {
-			throw new IllegalStateException("input must be set before use"); //$NON-NLS-1$
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/DocumentFactoryForJSP.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/DocumentFactoryForJSP.java
deleted file mode 100644
index d0050e2..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/DocumentFactoryForJSP.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.document;
-
-import org.eclipse.core.filebuffers.IDocumentFactory;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jst.jsp.core.internal.parser.JSPSourceParser;
-import org.eclipse.jst.jsp.core.internal.provisional.JSP11Namespace;
-import org.eclipse.wst.sse.core.internal.document.StructuredDocumentFactory;
-import org.eclipse.wst.sse.core.internal.ltk.parser.RegionParser;
-import org.eclipse.wst.sse.core.internal.ltk.parser.TagMarker;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument;
-
-
-public class DocumentFactoryForJSP implements IDocumentFactory {
-
-	public DocumentFactoryForJSP() {
-		super();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.filebuffers.IDocumentFactory#createDocument()
-	 */
-	public IDocument createDocument() {
-		IStructuredDocument structuredDocument = StructuredDocumentFactory.getNewStructuredDocumentInstance(new JSPSourceParser());
-		return structuredDocument;
-	}
-
-	public RegionParser getParser() {
-		// remember, the Loader
-		// will need to finish initialization of parser
-		// based on "embedded content"
-		JSPSourceParser parser = new JSPSourceParser();
-		// add default nestable tag list
-		addNestablePrefix(parser, JSP11Namespace.JSP_TAG_PREFIX);
-		return parser;
-	}
-
-	private void addNestablePrefix(JSPSourceParser parser, String tagName) {
-		TagMarker bm = new TagMarker(tagName);
-		parser.addNestablePrefix(bm);
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/PageDirectiveAdapter.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/PageDirectiveAdapter.java
deleted file mode 100644
index d2afb19..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/PageDirectiveAdapter.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.document;
-
-import org.eclipse.wst.sse.core.internal.ltk.modelhandler.EmbeddedTypeHandler;
-import org.eclipse.wst.sse.core.internal.provisional.INodeAdapter;
-import org.eclipse.wst.sse.core.internal.provisional.INodeAdapterFactory;
-import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
-import org.eclipse.wst.sse.ui.internal.provisional.contentproperties.IContentSettingsListener;
-
-/**
- * Classes which implement this interface have two responsibilities. 
- * One is to provide
- * and embedded factory registry for JSP Aware INodeAdapter Factories
- * to use. The other is to monitor page directives and if 
- * a change in embedded type is is made, it will signal 
- * the structuredModel that it needs to reinitialize itself.
- */
-public interface PageDirectiveAdapter extends INodeAdapter, IContentSettingsListener {
-
-	public String getContentType();
-
-	public String getLanguage();
-
-	/**
-	 * This setter method should be called once, shortly after
-	 * initialization.
-	 */
-	void setEmbeddedType(EmbeddedTypeHandler handler);
-
-	EmbeddedTypeHandler getEmbeddedType();
-
-	/**
-	 * This method is to give this adapter a chance to use
-	 * the AdapterFactores from the EmbeddedTypeHandler
-	 * to adapt the node. Its to be used by JSPAwareAdapterFactories
-	 * to (potentially) adapt nodes from the embedded content type.
-	 */
-	INodeAdapter adapt(INodeNotifier notifier, Object type);
-
-	void addEmbeddedFactory(INodeAdapterFactory factory);
-
-	/**
-	 * Method setLanguage.
-	 * @param language
-	 */
-	void setLanguage(String language);
-
-	INodeNotifier getTarget();
-
-	/** @deprecated not used? use release() **/
-	public void release(Object key);
-	
-	public void release();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/PageDirectiveAdapterFactory.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/PageDirectiveAdapterFactory.java
deleted file mode 100644
index 590862f..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/PageDirectiveAdapterFactory.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.document;
-
-import org.eclipse.wst.sse.core.internal.provisional.AbstractAdapterFactory;
-import org.eclipse.wst.sse.core.internal.provisional.INodeAdapter;
-import org.eclipse.wst.sse.core.internal.provisional.INodeAdapterFactory;
-import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
-import org.eclipse.wst.sse.ui.internal.provisional.contentproperties.ContentSettingsChangeSubject;
-import org.eclipse.wst.sse.ui.internal.util.Assert;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-import org.w3c.dom.Node;
-
-/**
- * This class adapts document 
- * with the an instance of PageDirectiveAdapter
- */
-public class PageDirectiveAdapterFactory extends AbstractAdapterFactory implements INodeAdapterFactory {
-
-
-	private PageDirectiveAdapter pageDirectiveAdapterInstance = null;
-
-	/**
-	 * Constructor for PageDirectiveAdapterFactory.
-	 * Note: its important not to be a singleton, since
-	 * this factory needs to track its adapter(s) and release
-	 * them when they are released.
-	 * 
-	 * @param adapterKey
-	 * @param registerAdapters
-	 */
-	protected PageDirectiveAdapterFactory(Object adapterKey, boolean registerAdapters) {
-		super(adapterKey, registerAdapters);
-	}
-
-	/**
-	 * The no argument constructor assumes its a 
-	 * Factory for PageDirectiveAdapter
-	 */
-	public PageDirectiveAdapterFactory() {
-		this(PageDirectiveAdapter.class, true);
-	}
-
-	protected INodeAdapter createAdapter(INodeNotifier target) {
-		PageDirectiveAdapter result = null;
-		if (target instanceof IDOMNode) {
-			IDOMNode node = (IDOMNode) target;
-			if (node.getNodeType() == Node.DOCUMENT_NODE) {
-				result = getAdapterInstance(target);
-				ContentSettingsChangeSubject.getSubject().addListener(result);
-			}
-
-		}
-		return result;
-	}
-
-	public void release() {
-		if (pageDirectiveAdapterInstance != null) {
-			ContentSettingsChangeSubject.getSubject().removeListener(pageDirectiveAdapterInstance);
-			pageDirectiveAdapterInstance.release();
-		}
-	}
-
-	/**
-	 * We assume this is only called for 'document' target
-	 */
-	protected PageDirectiveAdapter getAdapterInstance(INodeNotifier target) {
-		// if our instance already exists with a different
-		// target, then, somehow, the document node must 
-		// have changed for a model, so we should release 
-		// old adapter and create new one for new document 
-		// node. This is probably a programming error.
-		if (pageDirectiveAdapterInstance != null) {
-			if (target != pageDirectiveAdapterInstance.getTarget()) {
-				release();
-				pageDirectiveAdapterInstance = new PageDirectiveAdapterImpl(target);
-			}
-			// else return the one we have
-		}
-		else {
-			// if is equal to null, create a new one
-			pageDirectiveAdapterInstance = new PageDirectiveAdapterImpl(target);
-		}
-		Assert.isNotNull(pageDirectiveAdapterInstance, "pageDipageDirectiveAdapterInstance was null");
-		return pageDirectiveAdapterInstance;
-	}
-
-	public INodeAdapterFactory copy() {
-
-		return new PageDirectiveAdapterFactory(this.adapterKey, this.shouldRegisterAdapter);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/PageDirectiveAdapterImpl.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/PageDirectiveAdapterImpl.java
deleted file mode 100644
index 2070bda..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/PageDirectiveAdapterImpl.java
+++ /dev/null
@@ -1,629 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.document;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.text.IDocumentExtension3;
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.jst.jsp.core.internal.modelhandler.EmbeddedTypeStateData;
-import org.eclipse.jst.jsp.core.internal.text.StructuredTextPartitionerForJSP;
-import org.eclipse.wst.sse.core.internal.ltk.modelhandler.EmbeddedTypeHandler;
-import org.eclipse.wst.sse.core.internal.modelhandler.EmbeddedTypeRegistry;
-import org.eclipse.wst.sse.core.internal.modelhandler.EmbeddedTypeRegistryImpl;
-import org.eclipse.wst.sse.core.internal.provisional.INodeAdapter;
-import org.eclipse.wst.sse.core.internal.provisional.INodeAdapterFactory;
-import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
-import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredPartitioning;
-import org.eclipse.wst.sse.core.internal.util.Debug;
-import org.eclipse.wst.sse.core.internal.util.StringUtils;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-
-/**
- * This class has the responsibility to provide 
- * an embedded factory registry for JSP Aware INodeAdapter Factories
- * to use. 
- * 
- * Typically, the embedded type is to be considered a feature of 
- * the document, so JSP Aware AdpaterFactories should call
- * getAdapter(PageDirectiveAdapter.class) directoy on the document
- * (or owning document) node.
- */
-public class PageDirectiveAdapterImpl implements PageDirectiveAdapter {
-
-	protected static final String STR_CHARSET = "charset"; //$NON-NLS-1$
-	private final static Object adapterType = PageDirectiveAdapter.class;
-	private IStructuredModel model;
-	protected final String[] JAVASCRIPT_LANGUAGE_KEYS = new String[]{"javascript", "javascript1.0", "javascript1.1_3", "javascript1.2", "javascript1.3", "javascript1.4", "javascript1.5", "javascript1.6", "jscript", "sashscript"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$
-	protected final String[] JAVA_LANGUAGE_KEYS = new String[]{"java"}; //$NON-NLS-1$
-
-	/**
-	 * Constructor for PageDirectiveAdapterImpl.
-	 */
-	public PageDirectiveAdapterImpl(INodeNotifier target) {
-		super();
-		notifierAtCreation = target;
-		// we need to remember our instance of model, 
-		// in case we need to "signal" a re-init needed.
-		if (target instanceof IDOMNode) {
-			IDOMNode node = (IDOMNode) target;
-			model = node.getModel();
-		}
-
-	}
-
-	/**
-	 * parses the full contentType value into its two parts
-	 * the contentType, and the charset, if present. Note: this 
-	 * method is a lightly modified version of a method in AbstractHeadParser.
-	 * There, we're mostly interested in the charset part of contentTypeValue. 
-	 * Here, we're mostly interested in the mimeType part.
-	 */
-	private String getMimeTypeFromContentTypeValue(String contentTypeValue) {
-		if (contentTypeValue == null)
-			return null;
-		String cleanContentTypeValue = StringUtils.stripNonLetterDigits(contentTypeValue);
-		StringTokenizer tokenizer = new StringTokenizer(cleanContentTypeValue, ";= \t\n\r\f"); //$NON-NLS-1$
-		int tLen = tokenizer.countTokens();
-		// if contains encoding should have three tokens, the mimetype, the word 'charset', and the encoding value
-		String[] tokens = new String[tLen];
-		int j = 0;
-		while (tokenizer.hasMoreTokens()) {
-			tokens[j] = tokenizer.nextToken();
-			j++;
-		}
-		// 
-		// Following is the common form for target expression		
-		// <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
-		// But apparrently is also valid without the content type there, 
-		// just the charset, as follows:
-		// <META http-equiv="Content-Type" content="charset=UTF-8">
-		// So we'll loop through tokens and key off of 'charset'
-
-		int charsetPos = -1;
-		for (int i = 0; i < tokens.length; i++) {
-			if (tokens[i].equalsIgnoreCase(STR_CHARSET)) {
-				charsetPos = i;
-				break;
-			}
-		}
-		//String charset = null;
-		String contentType = null;
-		if (charsetPos > -1) {
-			// case where charset was present
-			//			int charsetValuePos = charsetPos + 1;
-			//			if (charsetValuePos < tokens.length) {
-			//				charset = tokens[charsetValuePos];
-			//			}
-			int contentTypeValuePos = charsetPos - 1;
-			if (contentTypeValuePos > -1) {
-				contentType = tokens[contentTypeValuePos];
-			}
-		}
-		else {
-			// charset was not present, so if there's 
-			// a value, we assume its the contentType value
-			if (tokens.length > 0) {
-				contentType = tokens[0];
-			}
-		}
-		return contentType;
-	}
-
-	private EmbeddedTypeHandler embeddedTypeHandler;
-	private List embeddedFactoryRegistry = new ArrayList();
-	private String cachedLanguage;
-	private String cachedContentType;
-	private INodeNotifier notifierAtCreation;
-
-	private int firstLanguagePosition = -1;
-	private int firstContentTypePosition = -1;
-
-	private boolean reinitializing;
-
-	/*
-	 * @see INodeAdapter#isAdapterForType(Object)
-	 */
-	public boolean isAdapterForType(Object type) {
-		return (type == adapterType);
-	}
-
-	/*
-	 * @see INodeAdapter#notifyChanged(INodeNotifier, int, Object, Object, Object, int)
-	 */
-	public void notifyChanged(INodeNotifier notifier, int eventType, Object changedFeature, Object oldValue, Object newValue, int pos) {
-	}
-
-	public void setEmbeddedType(EmbeddedTypeHandler handler) {
-		// if really the same handler, no need for further processing
-		if (embeddedTypeHandler == handler) {
-			return;
-		}
-		// then one exists, and the new one is truely different, so we need to 
-		// release and remove current factories
-		if (embeddedTypeHandler != null) {
-			Iterator list = embeddedFactoryRegistry.iterator();
-			while (list.hasNext()) {
-				INodeAdapterFactory factory = (INodeAdapterFactory) list.next();
-				factory.release();
-			}
-
-			embeddedFactoryRegistry.clear();
-		}
-
-		embeddedTypeHandler = handler;
-		// when the handler is set, "transfer" its factories to our own list.
-		// note: our own list may also be added to else where, such as on
-		// "editor side".
-		if (embeddedTypeHandler != null) {
-			Iterator iterator = embeddedTypeHandler.getAdapterFactories().iterator();
-			while (iterator.hasNext()) {
-				INodeAdapterFactory factory = (INodeAdapterFactory) iterator.next();
-				embeddedFactoryRegistry.add(factory);
-			}
-		}
-	}
-
-	/**
-	 * @see PageDirectiveAdapter#adapt(INodeNotifier, Object)
-	 */
-	public INodeAdapter adapt(INodeNotifier notifier, Object type) {
-		INodeAdapter result = null;
-		// if embeddedContentType hasn't been set, 
-		// then we can not adapt it.
-		if (embeddedTypeHandler != null) {
-			if (embeddedFactoryRegistry != null) {
-				Iterator iterator = embeddedFactoryRegistry.iterator();
-				INodeAdapterFactory factory = null;
-				while (iterator.hasNext()) {
-					factory = (INodeAdapterFactory) iterator.next();
-					if (factory.isFactoryForType(type)) {
-						result = factory.adapt(notifier);
-						break;
-					}
-				}
-			}
-		}
-		return result;
-
-	}
-
-	/**
-	 * @see PageDirectiveAdapter#getEmbeddedType()
-	 */
-	public EmbeddedTypeHandler getEmbeddedType() {
-		if (embeddedTypeHandler == null) {
-			embeddedTypeHandler = getDefaultEmbeddedType();
-		}
-		return embeddedTypeHandler;
-	}
-
-	public void addEmbeddedFactory(INodeAdapterFactory factory) {
-		// should we check if already exists in list?
-		embeddedFactoryRegistry.add(factory);
-	}
-
-	//	/**
-	//	 * Used by PageDirectiveWatchers to signal that some important attribute has changed, and 
-	//	 * any cached values should be re-calcuated
-	//	 */
-	//	void changed() {
-	//		// we won't actually check if change is needed, if the model state is already changing.
-	//		if (!model.isReinitializationNeeded()) {
-	//			// go through our list of page watcher adapters, and updates the attributes 
-	//			// we're interested in, if and only if they are the earliest occurance in the resource
-	//			String potentialContentType = null;
-	//			String potentialLanguage = null;
-	//			int contentTypePosition = -1;
-	//			int languagePosition = -1;
-	//			Iterator iterator = pageDirectiveWatchers.iterator();
-	//			while (iterator.hasNext()) {
-	//				PageDirectiveWatcher pdWatcher = (PageDirectiveWatcher) iterator.next();
-	//				String contentType = pdWatcher.getContentType();
-	//				String language = pdWatcher.getLanguage();
-	//				int offset = pdWatcher.getOffset();
-	//				if (potentialContentType == null || (hasValue(contentType) && (offset < contentTypePosition))) {
-	//					potentialContentType = contentType;
-	//					contentTypePosition = offset;
-	//				}
-	//			}
-	//			// now we have the best candiates for cached values, let's see if they've really changed from 
-	//			// what we had. If so, note we go through the setters so side effects can take place there.
-	//			potentialContentType = getMimeTypeFromContentTypeValue(potentialContentType);
-	//			if (potentialContentType == null || potentialContentType.length() == 0) {
-	//				//potentialContentType = getDefaultContentType();
-	//			} else {
-	//				setCachedContentType(potentialContentType);
-	//			}
-	//
-	//			if (potentialLanguage != null && hasValue(potentialLanguage)) {
-	//				setCachedLanguage(potentialLanguage);
-	//			}
-	//		}
-	//	}
-	void changedContentType(int elementOffset, String newValue) {
-		// only need to process if this new value is 
-		// earlier in the file than our current value
-		if (firstContentTypePosition == -1 || elementOffset <= firstContentTypePosition) {
-			// dw_TODO: update embedded partitioner in JSP document partitioner
-			// nsd_TODO: update embedded partitioner in JSP document partitioner
-
-			// no need to change current value, if we're told some 
-			// earlier value is null or blank (sounds like an error, anyway)
-			if (hasValue(newValue)) {
-				firstContentTypePosition = elementOffset;
-				String potentialContentType = getMimeTypeFromContentTypeValue(newValue);
-				// only do the set processing if different
-				// from what it already is
-				//	if (!potentialContentType.equalsIgnoreCase(cachedLanguage)) {
-				setCachedContentType(potentialContentType);
-				//	}
-			}
-		}
-	}
-
-	/**
-	 * Used by PageDirectiveWatchers to signal that some important attribute has changed, and 
-	 * any cached values should be re-calcuated
-	 */
-	void changedLanguage(int elementOffset, String newValue) {
-		// only need to process if this new value is 
-		// earlier in the file than our current value
-		// has to be less than or equal to, in case our previous earliest one, 
-		// is itself changing!
-		if (firstLanguagePosition == -1 || elementOffset <= firstLanguagePosition) {
-
-			// no need to change current value, if we're told some 
-			// earlier value is null or blank (sounds like an error, anyway)
-			if (hasValue(newValue)) {
-				firstLanguagePosition = elementOffset;
-				// only do the set processing if different
-				// from what it already is
-				if (!newValue.equalsIgnoreCase(cachedLanguage)) {
-					setCachedLanguage(newValue);
-				}
-			}
-
-			// dw_TODO: set language in document partitioner
-			// nsd_TODO: set language in document partitioner
-		}
-	}
-
-	/**
-	 * Used by PageDirectiveWatchers to signal that some important attribute has changed, and 
-	 * any cached values should be re-calcuated
-	 */
-	void changedPageEncoding(int elementOffset, String newValue) {
-
-		// we don't currently track active value, since
-		// just need during read and write (where its 
-		// calculated. We will need in future, to 
-		// acurately clone a model and to display 
-		// "current encoding" to user in status bar.
-	}
-
-	/**
-	 * Method hasValue.
-	 * @param contentType
-	 * @return boolean
-	 */
-	private boolean hasValue(String value) {
-		if (value != null && value.length() > 0)
-			return true;
-		else
-			return false;
-	}
-
-	/**
-	 * Returns the cachedContentType.
-	 * @return String
-	 */
-	public String getContentType() {
-		if (cachedContentType == null) {
-			cachedContentType = getDefaultContentType();
-		}
-		return cachedContentType;
-	}
-
-	/**
-	 * Method getDefaultContentType.
-	 * @return String
-	 */
-	private String getDefaultContentType() {
-		return "text/html"; //$NON-NLS-1$
-	}
-
-	/**
-	 * Returns the cachedLanguage.
-	 * @return String
-	 */
-	public String getLanguage() {
-		if (cachedLanguage == null)
-			cachedLanguage = getDefaultLanguage();
-		return cachedLanguage;
-	}
-
-	/**
-	 * Method getDefaultLanguage.
-	 * @return String
-	 */
-	private String getDefaultLanguage() {
-		return "java"; //$NON-NLS-1$
-	}
-
-	/**
-	 * Sets the cachedContentType.
-	 * @param cachedContentType The cachedContentType to set
-	 */
-	public void setCachedContentType(String newContentType) {
-		// if the passed in value is the same as existing, there's nothing to do.
-		// if its different, then we need to change the contentHandler as well
-		// and, more to the point, signal a re-initializtation is needed.
-		// Note: if the value we're getting set to does not have a handler in the registry, 
-		// we'll actually not set it to null or anything, we'll just continue on with the one
-		// we have. This is pretty important to avoid re-initializing on every key stroke if someone 
-		// is typing in a new content type, but haven't yet finished the whole "word".
-		// However, if an contentType is not recognized, the registry returns the one 
-		// for XML.
-		//		if (this.cachedContentType != null && this.cachedContentType.equalsIgnoreCase(newContentType)) { // then do nothing
-		//		} else {
-		this.cachedContentType = newContentType;
-		// see if we can update embedded handler
-		//		if (this.cachedContentType == null || this.cachedContentType.length() == 0) { // do nothing, don't can't get a new handler, so we'll keep what we have
-		//		} else {
-
-		// getHandler should always return something (never null), based 
-		// on the rules in the factory. 
-		EmbeddedTypeHandler handler = getHandlerFor(this.cachedContentType);
-		// we do this check for re-init here, instead of in setEmbeddedType, 
-		// since setEmbeddedType is called during the normal initializtion 
-		// process, when re-init is not needed (since there is no content)
-		if (embeddedTypeHandler != null && handler != null && embeddedTypeHandler != handler) {
-			// changing this embedded handler here may 
-			// be in the middle of anotify loop, not sure
-			// if that'll cause problems.
-			
-			// be sure to hold oldHandler in temp var
-			// or else setEmbeddedType will "reset" it
-			// before modelReinitNeeded(oldHandler, handler) is called
-		    EmbeddedTypeHandler oldHandler = embeddedTypeHandler;
-			setEmbeddedType(handler);
-			modelReinitNeeded(oldHandler, handler);
-		}
-		//		}
-
-		//		}
-
-	}
-
-	/**
-	 * This method is used to re-init based on embeddedTypeHandler
-	 * changing. It is given priority over the language change, since
-	 * there its more important to have old and new handlers's in the 
-	 * stateData field.
-	 */
-	private void modelReinitNeeded(EmbeddedTypeHandler oldHandler, EmbeddedTypeHandler newHandler) {
-		if (model.isReinitializationNeeded()) {
-			System.out.println("already being initialized"); //$NON-NLS-1$
-		}
-
-		try {
-			model.aboutToChangeModel();
-			model.setReinitializeStateData(new EmbeddedTypeStateData(oldHandler, newHandler));
-			model.setReinitializeNeeded(true);
-		}
-		finally {
-			model.changedModel();
-		}
-	}
-
-	/**
-	 * Method modelReinitNeeded.
-	 */
-	private void modelReinitNeeded(String oldlanguage, String newLanguage) {
-		// bit of a short cut for now .... we dont' need language at the moment, 
-		// but should set the state data
-		if (model.isReinitializationNeeded()) {
-			if (Debug.displayWarnings) {
-				System.out.println("already being initialized"); //$NON-NLS-1$
-			}
-		}
-		else {
-			try {
-				// if already being re-initialized, we don't want to 
-				// reset the data in the stateData field.
-				model.aboutToChangeModel();
-				model.setReinitializeStateData(newLanguage);
-				model.setReinitializeNeeded(true);
-			}
-			finally {
-				model.changedModel();
-			}
-		}
-	}
-
-	public void setCachedLanguage(String newLanguage) {
-		if (cachedLanguage != null && languageStateChanged(cachedLanguage, newLanguage)) { // a complete re-init overkill in current system, since really just need for 
-			// the line style providers, 
-			// BUT, a change in language could effect other things, 
-			// and we don't expect to happen often so a little overkill isn't too bad.
-			// The deep problem is that there is no way to get at the "edit side" adpapters
-			// specifically here in model class.
-			// we have to do the model changed sequence to get the 
-			// screen to update.
-			// do not signal again, if signaled once (the reinit state data will be wrong.
-			// (this needs to be improved in future)
-			if (!model.isReinitializationNeeded()) {
-				modelReinitNeeded(cachedLanguage, newLanguage);
-			}
-		}
-		setLanguage(newLanguage);
-	}
-
-	/**
-	 * This is public access method, used especially
-	 * from loader, for JSP Fragment support. 
-	 */
-	public void setLanguage(String newLanguage) {
-		this.cachedLanguage = newLanguage;
-		IDocumentPartitioner partitioner = ((IDocumentExtension3) model.getStructuredDocument()).getDocumentPartitioner(IStructuredPartitioning.DEFAULT_STRUCTURED_PARTITIONING);
-		if (partitioner instanceof StructuredTextPartitionerForJSP) {
-			((StructuredTextPartitionerForJSP) partitioner).setLanguage(newLanguage);
-		}
-	}
-
-	/**
-	 * Method languageStateChange.
-	 * @param cachedLanguage
-	 * @param newLanguage
-	 * @return boolean
-	 */
-	private boolean languageStateChanged(String cachedLanguage, String newLanguage) {
-		boolean result = false; // languages are equal, then no change in state
-		if (!cachedLanguage.equalsIgnoreCase(newLanguage)) {
-			boolean oldLanguageKnown = languageKnown(cachedLanguage);
-			boolean newLanguageKnown = languageKnown(newLanguage);
-			result = newLanguageKnown || (!newLanguageKnown && oldLanguageKnown);
-		}
-		return result;
-	}
-
-	/**
-	 * Method languageKnown.
-	 * @param cachedLanguage
-	 * @return boolean
-	 */
-	private boolean languageKnown(String language) {
-		return (StringUtils.contains(JAVA_LANGUAGE_KEYS, language, false) || StringUtils.contains(JAVASCRIPT_LANGUAGE_KEYS, language, false));
-	}
-
-	private IFile getFile(IStructuredModel model) {
-		String location = model.getBaseLocation();
-		IPath path = new Path(location);
-		if (!path.toFile().exists() && path.segmentCount() > 1) {
-			return ResourcesPlugin.getWorkspace().getRoot().getFile(path);
-		}
-		return null;
-	}
-
-	private EmbeddedTypeHandler getHandlerFor(String contentType) {
-		EmbeddedTypeRegistry reg = getEmbeddedContentTypeRegistry();
-		EmbeddedTypeHandler handler = null;
-		if (reg != null)
-			handler = reg.getTypeFor(contentType);
-		return handler;
-	}
-
-	/**
-	 * Gets the embeddedContentTypeRegistry.
-	 * @return Returns a EmbeddedContentTypeRegistry
-	 */
-	private EmbeddedTypeRegistry getEmbeddedContentTypeRegistry() {
-		return EmbeddedTypeRegistryImpl.getInstance();
-	}
-
-	/**
-	 * For JSP files, text/html is the default 
-	 * content type. This may want this different 
-	 * for types like jsv (jsp for voice xml)
-	 * For now, hard code to new instance.
-	 * In future, should get instance from registry.
-	 * 
-	 * Specification cites HTML as the default contentType.
-	 */
-	protected EmbeddedTypeHandler getDefaultEmbeddedType() {
-		return getHandlerFor(getDefaultContentType());
-	}
-
-	public void contentSettingsChanged(IResource resource) {
-		// Note: we currently get notified multiple times, 
-		// I assume since there's mulitple fields in the properties.
-		// For now, I'll assume that once we get notified, all the 
-		// fields are accurate, so if we're reinitializing, don't 
-		// check any further. To NOT do this causes concurrent modification
-		// exceptions. To do it, may cause us to miss when user changes
-		// two fields at once. Will need to test. 
-		if (reinitializing)
-			return;
-		if (resource == null)
-			return;
-		IFile file = getFile(model);
-		if (file == null)
-			return;
-		//        String filename = null;
-		//        if (resource.FILE == resource.getType()) {
-		//        	filename = resource.getLocation().toString();
-		//        }
-		IProject project = file.getProject();
-		if (project == null)
-			return;
-		if (!project.equals(resource.getProject()))
-			return;
-		// Note: these change notifications appear to be coming 
-		// in based on any change in project. I'm not sure how
-		// to tell if they are for my particular file, or 
-		// if there's some other error I'm making in listeners.
-		// the setters below should be smart enough 
-		// to know if a meaningful change occurred, or 
-		// not. Note: we seem to get called a lot (for resources other than our own?)
-		// with lots of 'null' values. The logic below may prevent the correct unsetting
-		// of a property (such as changing from a language setting back to 'none'). 
-		// We may need a 'none' id, or something, to help detect that case, since we can't 
-		// always assume the 'null' is accurate.
-	}
-
-	public INodeNotifier getTarget() {
-		return notifierAtCreation;
-	}
-
-	public void release(Object type) {
-		if (embeddedTypeHandler != null) {
-			if (embeddedFactoryRegistry != null) {
-				Iterator iterator = embeddedFactoryRegistry.iterator();
-				INodeAdapterFactory factory = null;
-				while (iterator.hasNext()) {
-					factory = (INodeAdapterFactory) iterator.next();
-					if (factory.isFactoryForType(type)) {
-						factory.release();
-					}
-				}
-			}
-			embeddedTypeHandler = null;
-		}
-	}
-	
-	public void release() {
-		if (embeddedTypeHandler != null) {
-			if (embeddedFactoryRegistry != null) {
-				Iterator iterator = embeddedFactoryRegistry.iterator();
-				INodeAdapterFactory factory = null;
-				while (iterator.hasNext()) {
-					factory = (INodeAdapterFactory) iterator.next();
-					factory.release();
-				}
-			}
-			// pa_TODO: possibly need to release here...
-			// or "uninitializeFactoryRegistry"
-			// initializeFactoryRegistry was called from JSPModelLoader
-			embeddedTypeHandler = null;
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/PageDirectiveWatcher.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/PageDirectiveWatcher.java
deleted file mode 100644
index 6037021..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/PageDirectiveWatcher.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.document;
-
-import org.eclipse.wst.sse.core.internal.provisional.INodeAdapter;
-
-interface PageDirectiveWatcher extends INodeAdapter {
-
-	String getContentType();
-
-	String getLanguage();
-
-	int getOffset();
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/PageDirectiveWatcherFactory.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/PageDirectiveWatcherFactory.java
deleted file mode 100644
index 8c4f7c1..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/PageDirectiveWatcherFactory.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.document;
-
-import org.eclipse.wst.sse.core.internal.PropagatingAdapterFactory;
-import org.eclipse.wst.sse.core.internal.provisional.INodeAdapter;
-import org.eclipse.wst.sse.core.internal.provisional.INodeAdapterFactory;
-import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
-import org.eclipse.wst.xml.core.internal.propagate.PropagatingAdapterFactoryImpl;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-import org.w3c.dom.Node;
-
-public class PageDirectiveWatcherFactory extends PropagatingAdapterFactoryImpl implements PropagatingAdapterFactory {
-
-	/**
-	 * Constructor for PageDirectiveWatcherFactory.
-	 */
-	public PageDirectiveWatcherFactory() {
-		this(PageDirectiveWatcher.class, true);
-	}
-
-	/**
-	 * Constructor for PageDirectiveWatcherFactory.
-	 * @param adapterKey
-	 * @param registerAdapters
-	 */
-	public PageDirectiveWatcherFactory(Object adapterKey, boolean registerAdapters) {
-		super(adapterKey, registerAdapters);
-	}
-
-	protected INodeAdapter createAdapter(INodeNotifier target) {
-		PageDirectiveWatcher result = null;
-		if (target instanceof IDOMElement) {
-			IDOMElement xmlElement = (IDOMElement) target;
-			if (xmlElement.getNodeType() == Node.ELEMENT_NODE) {
-				//                if (xmlElement.getNodeName() == JSP12Namespace.ElementName.DIRECTIVE_PAGE) {   // not sure why identity to  JSP11Namespace.ElementName.DIRECTIVE_PAGE doesn't work
-				String nodeName = xmlElement.getNodeName();
-				if (nodeName.equals("jsp:directive.page")) { //$NON-NLS-1$
-					result = new PageDirectiveWatcherImpl(xmlElement);
-				}
-
-			}
-		}
-		return result;
-
-	}
-
-	public INodeAdapterFactory copy() {
-		return new PageDirectiveWatcherFactory(this.adapterKey, this.shouldRegisterAdapter);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/PageDirectiveWatcherImpl.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/PageDirectiveWatcherImpl.java
deleted file mode 100644
index 2fc219a..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/PageDirectiveWatcherImpl.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.document;
-
-import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
-import org.eclipse.wst.sse.core.internal.provisional.IndexedRegion;
-import org.eclipse.wst.xml.core.internal.document.AttrImpl;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-
-
-
-/** 
- * The responsibility of this class is to monitor page directives and if 
- * a change in embedded type is is made, it will signal 
- * the structuredModel that it needs to reinitialize itself.
- */
-class PageDirectiveWatcherImpl implements PageDirectiveWatcher {
-
-	private static Object adapterType = PageDirectiveWatcher.class;
-	IDOMElement targetElement;
-
-	/**
-	 * Constructor for PageDirectiveWatcherImpl.
-	 */
-	public PageDirectiveWatcherImpl(IDOMElement target) {
-		super();
-		targetElement = target;
-		String contentTypeValue = target.getAttribute("contentType"); //$NON-NLS-1$
-		if (contentTypeValue != null) {
-			// using concrete class below, since "changed" is something of an internal method
-			PageDirectiveAdapterImpl pageDirectiveAdapter = (PageDirectiveAdapterImpl) ((IDOMDocument) targetElement.getOwnerDocument()).getAdapterFor(PageDirectiveAdapter.class);
-			pageDirectiveAdapter.changedContentType(((IndexedRegion) targetElement).getStartOffset(), contentTypeValue);
-		}
-		String languageValue = target.getAttribute("language"); //$NON-NLS-1$
-		if (languageValue != null) {
-			// using concrete class below, since "changed" is something of an internal method
-			PageDirectiveAdapterImpl pageDirectiveAdapter = (PageDirectiveAdapterImpl) ((IDOMDocument) targetElement.getOwnerDocument()).getAdapterFor(PageDirectiveAdapter.class);
-			pageDirectiveAdapter.changedLanguage(((IndexedRegion) targetElement).getStartOffset(), languageValue);
-		}
-
-
-	}
-
-	public boolean isAdapterForType(Object type) {
-		return (type == adapterType);
-	}
-
-	public void notifyChanged(INodeNotifier notifier, int eventType, Object changedFeature, Object oldValue, Object newValue, int pos) {
-		// we should only be added to page directives, so if we see a page directive
-		// change, we need to check its attributes, and notify the PageDirectiveAdapter when 
-		// certain ones chane, so it can make its "centralized" decisions.
-		if (notifier instanceof IDOMNode) {
-
-			switch (eventType) {
-				case INodeNotifier.CHANGE :
-					if (changedFeature instanceof AttrImpl) {
-						AttrImpl attribute = (AttrImpl) changedFeature;
-						String name = attribute.getName();
-						if (name.equals("contentType")) { //$NON-NLS-1$
-							// using concrete class below, since "changed" is something of an internal method
-							PageDirectiveAdapterImpl pageDirectiveAdapter = (PageDirectiveAdapterImpl) ((IDOMDocument) targetElement.getOwnerDocument()).getAdapterFor(PageDirectiveAdapter.class);
-							pageDirectiveAdapter.changedContentType(((IndexedRegion) targetElement).getStartOffset(), (String) newValue);
-						}
-						if (name.equals("language")) { //$NON-NLS-1$ //$NON-NLS-2$
-							// using concrete class below, since "changed" is something of an internal method
-							PageDirectiveAdapterImpl pageDirectiveAdapter = (PageDirectiveAdapterImpl) ((IDOMDocument) targetElement.getOwnerDocument()).getAdapterFor(PageDirectiveAdapter.class);
-							pageDirectiveAdapter.changedLanguage(((IndexedRegion) targetElement).getStartOffset(), (String) newValue);
-						}
-					}
-
-					break;
-				case INodeNotifier.REMOVE :
-					//System.out.println("removed"+new Date().toString());
-					break;
-
-
-				default :
-					break;
-			}
-		}
-
-	}
-
-	public String getContentType() {
-		String contentTypeValue = targetElement.getAttribute("contentType"); //$NON-NLS-1$
-		return contentTypeValue;
-	}
-
-	public String getLanguage() {
-		String languageValue = targetElement.getAttribute("language"); //$NON-NLS-1$
-		return languageValue;
-	}
-
-	public int getOffset() {
-		return targetElement.getStartOffset();
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/SetupParticipantForJSP.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/SetupParticipantForJSP.java
deleted file mode 100644
index 4525ae7..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/SetupParticipantForJSP.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.document;
-
-import org.eclipse.core.filebuffers.IDocumentSetupParticipant;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.jst.jsp.core.internal.text.StructuredTextPartitionerForJSP;
-
-/**
- * @deprecated - not used and will be removed in WTP 1.0M4
- */
-
-public class SetupParticipantForJSP implements IDocumentSetupParticipant {
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.filebuffers.IDocumentSetupParticipant#setup(org.eclipse.jface.text.IDocument)
-	 */
-	public void setup(IDocument document) {
-		if (document != null) {
-			IDocumentPartitioner partitioner = new StructuredTextPartitionerForJSP();
-			document.setDocumentPartitioner(partitioner);
-			partitioner.connect(document);
-			
-			// setup empty model here? coordinated via model manager?
-			
-		}
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/domdocument/AttrImplForJSP.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/domdocument/AttrImplForJSP.java
deleted file mode 100644
index 5bcc664..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/domdocument/AttrImplForJSP.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.domdocument;
-
-import org.eclipse.jst.jsp.core.internal.regions.DOMJSPRegionContexts;
-import org.eclipse.wst.xml.core.internal.document.AttrImpl;
-import org.w3c.dom.Document;
-
-public class AttrImplForJSP extends AttrImpl {
-
-	protected boolean isNestedLanguageOpening(String regionType) {
-		boolean result = regionType == DOMJSPRegionContexts.JSP_SCRIPTLET_OPEN || regionType == DOMJSPRegionContexts.JSP_EXPRESSION_OPEN || regionType == DOMJSPRegionContexts.JSP_DECLARATION_OPEN || regionType == DOMJSPRegionContexts.JSP_DIRECTIVE_OPEN;
-		return result;
-	}
-	protected void setOwnerDocument(Document ownerDocument) {
-		super.setOwnerDocument(ownerDocument);
-	}
-	protected void setName(String name) {
-		super.setName(name);
-	}
-	protected void setNamespaceURI(String namespaceURI) {
-		super.setNamespaceURI(namespaceURI);
-	}
-
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/domdocument/CommentImplForJSP.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/domdocument/CommentImplForJSP.java
deleted file mode 100644
index ef6ea04..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/domdocument/CommentImplForJSP.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.domdocument;
-
-import org.eclipse.jst.jsp.core.internal.regions.DOMJSPRegionContexts;
-import org.eclipse.wst.xml.core.internal.document.CommentImpl;
-import org.w3c.dom.Document;
-
-public class CommentImplForJSP extends CommentImpl {
-	protected boolean isNestedCommentClose(String regionType) {
-		boolean result = regionType == DOMJSPRegionContexts.JSP_COMMENT_CLOSE;
-		return result;
-	}
-
-	protected boolean isNestedCommentOpenClose(String regionType) {
-		boolean result = regionType == DOMJSPRegionContexts.JSP_COMMENT_OPEN || regionType == DOMJSPRegionContexts.JSP_COMMENT_CLOSE;
-		return result;
-	}
-
-	protected void setOwnerDocument(Document ownerDocument) {
-		super.setOwnerDocument(ownerDocument);
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/domdocument/DOMDocumentForJSP.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/domdocument/DOMDocumentForJSP.java
deleted file mode 100644
index a3a2cff..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/domdocument/DOMDocumentForJSP.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.domdocument;
-
-import org.eclipse.wst.html.core.internal.document.DocumentStyleImpl;
-import org.eclipse.wst.sse.core.internal.model.FactoryRegistry;
-import org.eclipse.wst.sse.core.internal.provisional.INodeAdapter;
-import org.eclipse.wst.sse.core.internal.provisional.INodeAdapterFactory;
-import org.eclipse.wst.sse.ui.internal.IReleasable;
-import org.eclipse.wst.xml.core.internal.document.DocumentImpl;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Comment;
-import org.w3c.dom.DOMException;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.Text;
-
-public class DOMDocumentForJSP extends DocumentStyleImpl {
-
-	/**
-	 * 
-	 */
-	public DOMDocumentForJSP() {
-		super();
-	}
-
-	/**
-	 * Default behavior for getting an adapter.
-	 * Overridden in case embedded type provides a different adapter
-	 * we don't want to use a cached one.
-	 */
-	public INodeAdapter getAdapterFor(Object type) {
-
-		// https://bugs.eclipse.org/bugs/show_bug.cgi?id=85484
-
-		// just always create a new one for JSP
-		// need to investigate if this is a performance hit...
-		// seems to make HTML Validator (even) slower
-		
-		INodeAdapter oldAdapter = getExistingAdapter(type);
-		if(oldAdapter != null) {
-			if(oldAdapter instanceof IReleasable) {
-				((IReleasable)oldAdapter).release();
-			}
-			removeAdapter(oldAdapter);
-		}
-		
-		INodeAdapter result = null;
-		
-		// if we didn't find one in our list already,
-		// let's create it
-		FactoryRegistry reg = getFactoryRegistry();
-		if (reg != null) {
-			INodeAdapterFactory factory = reg.getFactoryFor(type);
-			if (factory != null) {
-				INodeAdapter newAdapter = factory.adapt(this);
-				result = newAdapter;
-			}
-		}
-		// We won't prevent null from being returned, but it would be
-		// unusual.
-		// It might be because Factory is not working correctly, or
-		// not installed, so we'll allow warning message.
-		if ((result == null) && (org.eclipse.wst.sse.core.internal.util.Debug.displayWarnings)) {
-			System.out.println("Warning: no adapter was found or created for " + type); //$NON-NLS-1$
-		}
-		return result;
-	}
-	
-	/**
-	 * @param that
-	 */
-	protected DOMDocumentForJSP(DocumentImpl that) {
-		super(that);
-	}
-	/**
-	 * cloneNode method
-	 * @return org.w3c.dom.Node
-	 * @param deep boolean
-	 */
-	public Node cloneNode(boolean deep) {
-		DOMDocumentForJSP cloned = new DOMDocumentForJSP(this);
-		if (deep)
-			cloned.importChildNodes(this, true);
-		return cloned;
-	}
-	/**
-	 * createElement method
-	 * 
-	 * @return org.w3c.dom.Element
-	 * @param tagName
-	 *            java.lang.String
-	 */
-	public Element createElement(String tagName) throws DOMException {
-		checkTagNameValidity(tagName);
-
-		ElementImplForJSP element = new ElementImplForJSP();
-		element.setOwnerDocument(this);
-		element.setTagName(tagName);
-		return element;
-	}
-	/**
-	 * createComment method
-	 * 
-	 * @return org.w3c.dom.Comment
-	 * @param data
-	 *            java.lang.String
-	 */
-	public Comment createComment(String data) {
-		CommentImplForJSP comment = new CommentImplForJSP();
-		comment.setOwnerDocument(this);
-		if (data != null)
-			comment.setData(data);
-		return comment;
-	}
-
-	/**
-	 * createAttribute method
-	 * 
-	 * @return org.w3c.dom.Attr
-	 * @param name
-	 *            java.lang.String
-	 */
-	public Attr createAttribute(String name) throws DOMException {
-		AttrImplForJSP attr = new AttrImplForJSP();
-		attr.setOwnerDocument(this);
-		attr.setName(name);
-		return attr;
-	}
-
-	/**
-	 */
-	public Attr createAttributeNS(String uri, String name) throws DOMException {
-		AttrImplForJSP attr = new AttrImplForJSP();
-		attr.setOwnerDocument(this);
-		attr.setName(name);
-		attr.setNamespaceURI(uri);
-		return attr;
-	}
-	/**
-	 * createTextNode method
-	 * 
-	 * @return org.w3c.dom.Text
-	 * @param data
-	 *            java.lang.String
-	 */
-	public Text createTextNode(String data) {
-		TextImplForJSP text = new TextImplForJSP();
-		text.setOwnerDocument(this);
-		text.setData(data);
-		return text;
-	}
-	protected void setModel(IDOMModel model) {
-		super.setModel(model);
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/domdocument/DOMModelForJSP.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/domdocument/DOMModelForJSP.java
deleted file mode 100644
index 413627f..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/domdocument/DOMModelForJSP.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.domdocument;
-
-import org.eclipse.wst.html.core.internal.document.DOMStyleModelImpl;
-import org.eclipse.wst.xml.core.internal.document.XMLModelParser;
-import org.eclipse.wst.xml.core.internal.document.XMLModelUpdater;
-import org.w3c.dom.Document;
-
-public class DOMModelForJSP extends DOMStyleModelImpl {
-
-	/**
-	 * 
-	 */
-	public DOMModelForJSP() {
-		super();
-		// remember, the document is created in super constructor, 
-		// via internalCreateDocument
-	}
-	/**
-	 * createDocument method
-	 * @return org.w3c.dom.Document
-	 */
-	protected Document internalCreateDocument() {
-		DOMDocumentForJSP document = new DOMDocumentForJSP();
-		document.setModel(this);
-		return document;
-	}
-	protected XMLModelParser createModelParser() {
-		return new NestedDOMModelParser(this);
-	}
-	protected XMLModelUpdater createModelUpdater() {
-		return new NestDOMModelUpdater(this);
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/domdocument/ElementImplForJSP.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/domdocument/ElementImplForJSP.java
deleted file mode 100644
index 9f6bcda..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/domdocument/ElementImplForJSP.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.domdocument;
-
-import org.eclipse.jst.jsp.core.internal.regions.DOMJSPRegionContexts;
-import org.eclipse.wst.html.core.internal.document.ElementStyleImpl;
-import org.eclipse.wst.xml.core.internal.document.ElementImpl;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-
-public class ElementImplForJSP extends ElementStyleImpl {
-	/**
-	 * 
-	 */
-	public ElementImplForJSP() {
-		super();
-	}
-
-	/**
-	 * @param that
-	 */
-	public ElementImplForJSP(ElementImpl that) {
-		super(that);
-	}
-
-	protected boolean isNestedEndTag(String regionType) {
-		boolean result = regionType == DOMJSPRegionContexts.JSP_ROOT_TAG_NAME || regionType == DOMJSPRegionContexts.JSP_DIRECTIVE_NAME;
-		return result;
-	}
-
-	protected boolean isNestedClosed(String regionType) {
-		boolean result = (regionType == DOMJSPRegionContexts.JSP_CLOSE || regionType == DOMJSPRegionContexts.JSP_DIRECTIVE_CLOSE);
-		return result;
-	}
-
-	protected boolean isNestedClosedComment(String regionType) {
-		boolean result = regionType == DOMJSPRegionContexts.JSP_COMMENT_CLOSE;
-		return result;
-	}
-
-	protected boolean isClosedNestedDirective(String regionType) {
-		boolean result = regionType == DOMJSPRegionContexts.JSP_DIRECTIVE_CLOSE;
-		return result;
-	}
-
-	protected void setOwnerDocument(Document ownerDocument) {
-		super.setOwnerDocument(ownerDocument);
-	}
-
-	protected void setTagName(String tagName) {
-		super.setTagName(tagName);
-	}
-	public Node cloneNode(boolean deep) {
-		ElementImpl cloned = new ElementImplForJSP(this);
-		if (deep)
-			cloneChildNodes(cloned, deep);
-		return cloned;
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/domdocument/NestDOMModelUpdater.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/domdocument/NestDOMModelUpdater.java
deleted file mode 100644
index 26b71c4..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/domdocument/NestDOMModelUpdater.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.domdocument;
-
-import org.eclipse.jst.jsp.core.internal.regions.DOMJSPRegionContexts;
-import org.eclipse.wst.xml.core.internal.document.DOMModelImpl;
-import org.eclipse.wst.xml.core.internal.document.XMLModelUpdater;
-
-
-public class NestDOMModelUpdater extends XMLModelUpdater {
-
-	/**
-	 * @param model
-	 */
-	public NestDOMModelUpdater(DOMModelImpl model) {
-		super(model);
-	}
-
-	protected boolean isNestedTagClose(String regionType) {
-		boolean result = regionType == DOMJSPRegionContexts.JSP_CLOSE || regionType == DOMJSPRegionContexts.JSP_DIRECTIVE_CLOSE;
-		return result;
-	}
-
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/domdocument/NestedDOMModelParser.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/domdocument/NestedDOMModelParser.java
deleted file mode 100644
index 6b7eb82..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/domdocument/NestedDOMModelParser.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.domdocument;
-
-import org.eclipse.jst.jsp.core.internal.regions.DOMJSPRegionContexts;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion;
-import org.eclipse.wst.xml.core.internal.document.DOMModelImpl;
-import org.eclipse.wst.xml.core.internal.document.JSPTag;
-import org.eclipse.wst.xml.core.internal.document.XMLModelParser;
-
-public class NestedDOMModelParser extends XMLModelParser {
-
-	/**
-	 * @param model
-	 */
-	public NestedDOMModelParser(DOMModelImpl model) {
-		super(model);
-	}
-
-	protected boolean isNestedCommentOpen(String regionType) {
-		boolean result = regionType == DOMJSPRegionContexts.JSP_COMMENT_OPEN;
-		return result;
-	}
-
-	protected boolean isNestedCommentText(String regionType) {
-		boolean result = regionType == DOMJSPRegionContexts.JSP_COMMENT_TEXT;
-		return result;
-	}
-
-	protected boolean isNestedContent(String regionType) {
-		boolean result = regionType == DOMJSPRegionContexts.JSP_CONTENT;
-		return result;
-	}
-
-	protected boolean isNestedTag(String regionType) {
-		boolean result = regionType == DOMJSPRegionContexts.JSP_SCRIPTLET_OPEN || regionType == DOMJSPRegionContexts.JSP_EXPRESSION_OPEN || regionType == DOMJSPRegionContexts.JSP_DECLARATION_OPEN || regionType == DOMJSPRegionContexts.JSP_DIRECTIVE_OPEN || regionType == DOMJSPRegionContexts.JSP_CLOSE;
-		return result;
-	}
-
-	protected boolean isNestedTagName(String regionType) {
-		boolean result = regionType == DOMJSPRegionContexts.JSP_ROOT_TAG_NAME || regionType == DOMJSPRegionContexts.JSP_DIRECTIVE_NAME;
-		return result;
-	}
-	protected boolean isNestedTagOpen(String regionType) {
-		boolean result = regionType == DOMJSPRegionContexts.JSP_SCRIPTLET_OPEN || regionType == DOMJSPRegionContexts.JSP_EXPRESSION_OPEN || regionType == DOMJSPRegionContexts.JSP_DECLARATION_OPEN || regionType == DOMJSPRegionContexts.JSP_DIRECTIVE_OPEN;
-		return result;
-	}
-	protected String computeNestedTag(String regionType, String tagName, IStructuredDocumentRegion structuredDocumentRegion, ITextRegion region) {
-		String resultTagName = tagName;
-		if (regionType == DOMJSPRegionContexts.JSP_SCRIPTLET_OPEN) {
-			resultTagName = JSPTag.JSP_SCRIPTLET;
-		}
-		else if (regionType == DOMJSPRegionContexts.JSP_EXPRESSION_OPEN) {
-			resultTagName = JSPTag.JSP_EXPRESSION;
-		}
-		else if (regionType == DOMJSPRegionContexts.JSP_DECLARATION_OPEN) {
-			resultTagName = JSPTag.JSP_DECLARATION;
-		}
-		else if (regionType == DOMJSPRegionContexts.JSP_DIRECTIVE_OPEN) {
-			resultTagName = JSPTag.JSP_DIRECTIVE;
-		}
-		else if (regionType == DOMJSPRegionContexts.JSP_DIRECTIVE_NAME) {
-			resultTagName += '.';
-			resultTagName += structuredDocumentRegion.getText(region);
-		}
-		return resultTagName;
-	}
-
-	protected boolean isNestedTagClose(String regionType) {
-		boolean result = regionType == DOMJSPRegionContexts.JSP_CLOSE || regionType == DOMJSPRegionContexts.JSP_DIRECTIVE_CLOSE;
-		return result;
-	}
-
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/domdocument/TextImplForJSP.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/domdocument/TextImplForJSP.java
deleted file mode 100644
index da91a23..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/domdocument/TextImplForJSP.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.domdocument;
-
-import org.eclipse.jst.jsp.core.internal.regions.DOMJSPRegionContexts;
-import org.eclipse.wst.xml.core.internal.document.TextImpl;
-import org.w3c.dom.Document;
-
-public class TextImplForJSP extends TextImpl {
-	protected boolean isNotNestedContent(String regionType) {
-		boolean result = regionType != DOMJSPRegionContexts.JSP_CONTENT;
-		return result;
-	}
-	protected void setOwnerDocument(Document ownerDocument) {
-		super.setOwnerDocument(ownerDocument);
-	}
-
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/encoding/IJSPHeadContentDetector.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/encoding/IJSPHeadContentDetector.java
deleted file mode 100644
index 02b8453..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/encoding/IJSPHeadContentDetector.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.encoding;
-
-import java.io.IOException;
-
-import org.eclipse.wst.sse.core.internal.document.IDocumentCharsetDetector;
-
-public interface IJSPHeadContentDetector extends IDocumentCharsetDetector {
-	String getContentType() throws IOException;
-
-	String getLanguage() throws IOException;
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/encoding/JSPDocumentHeadContentDetector.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/encoding/JSPDocumentHeadContentDetector.java
deleted file mode 100644
index 5679036..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/encoding/JSPDocumentHeadContentDetector.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.encoding;
-
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jst.jsp.core.internal.contenttype.JSPResourceEncodingDetector;
-import org.eclipse.wst.sse.core.internal.document.DocumentReader;
-
-/**
- * This class parses beginning portion of JSP file to get attributes in page
- * directiive
- *  
- */
-public class JSPDocumentHeadContentDetector extends JSPResourceEncodingDetector implements IJSPHeadContentDetector {
-
-	public JSPDocumentHeadContentDetector() {
-		super();
-	}
-
-	public void set(IDocument document) {
-		set(new DocumentReader(document, 0));
-
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/encoding/JSPDocumentLoader.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/encoding/JSPDocumentLoader.java
deleted file mode 100644
index 3bbbe78..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/encoding/JSPDocumentLoader.java
+++ /dev/null
@@ -1,558 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.encoding;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Reader;
-import java.io.UnsupportedEncodingException;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.jst.jsp.core.internal.Assert;
-import org.eclipse.jst.jsp.core.internal.JSPCoreMessages;
-import org.eclipse.jst.jsp.core.internal.document.PageDirectiveAdapter;
-import org.eclipse.jst.jsp.core.internal.document.PageDirectiveWatcherFactory;
-import org.eclipse.jst.jsp.core.internal.parser.JSPReParser;
-import org.eclipse.jst.jsp.core.internal.parser.JSPSourceParser;
-import org.eclipse.jst.jsp.core.internal.provisional.JSP11Namespace;
-import org.eclipse.jst.jsp.core.internal.provisional.contenttype.ContentTypeIdForJSP;
-import org.eclipse.jst.jsp.core.internal.text.StructuredTextPartitionerForJSP;
-import org.eclipse.wst.sse.core.internal.PropagatingAdapter;
-import org.eclipse.wst.sse.core.internal.document.AbstractDocumentLoader;
-import org.eclipse.wst.sse.core.internal.document.IDocumentCharsetDetector;
-import org.eclipse.wst.sse.core.internal.document.IDocumentLoader;
-import org.eclipse.wst.sse.core.internal.document.StructuredDocumentFactory;
-import org.eclipse.wst.sse.core.internal.encoding.CodedIO;
-import org.eclipse.wst.sse.core.internal.encoding.CodedReaderCreator;
-import org.eclipse.wst.sse.core.internal.encoding.ContentTypeEncodingPreferences;
-import org.eclipse.wst.sse.core.internal.encoding.util.BufferedLimitedReader;
-import org.eclipse.wst.sse.core.internal.ltk.modelhandler.EmbeddedTypeHandler;
-import org.eclipse.wst.sse.core.internal.ltk.parser.JSPCapableParser;
-import org.eclipse.wst.sse.core.internal.ltk.parser.RegionParser;
-import org.eclipse.wst.sse.core.internal.ltk.parser.TagMarker;
-import org.eclipse.wst.sse.core.internal.modelhandler.EmbeddedTypeRegistry;
-import org.eclipse.wst.sse.core.internal.modelhandler.EmbeddedTypeRegistryImpl;
-import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
-import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-import org.eclipse.wst.sse.core.internal.provisional.document.IEncodedDocument;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.internal.text.BasicStructuredDocument;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.eclipse.wst.xml.core.internal.ssemodelquery.ModelQueryAdapter;
-import org.w3c.dom.Document;
-
-public class JSPDocumentLoader extends AbstractDocumentLoader {
-	private final static String DEFAULT_LANGUAGE = "java"; //$NON-NLS-1$
-	private final static String DEFAULT_MIME_TYPE = "text/html"; //$NON-NLS-1$
-	private final static String SPEC_DEFAULT_ENCODING = "ISO-8859-1"; //$NON-NLS-1$
-
-	protected static IFile getFileFor(IStructuredModel model) {
-		if (model == null)
-			return null;
-		String path = model.getBaseLocation();
-		if (path == null || path.length() == 0) {
-			Object id = model.getId();
-			if (id == null)
-				return null;
-			path = id.toString();
-		}
-		// TODO needs rework for linked resources
-		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-		IFile file = root.getFileForLocation(new Path(path));
-		return file;
-	}
-
-	private EmbeddedTypeRegistry fEmbeddedContentTypeRegistry;
-
-	public JSPDocumentLoader() {
-		super();
-	}
-
-	private void addNestablePrefix(JSPSourceParser parser, String tagName) {
-		TagMarker bm = new TagMarker(tagName);
-		parser.addNestablePrefix(bm);
-	}
-
-	synchronized public IEncodedDocument createNewStructuredDocument(IFile iFile) throws IOException, CoreException {
-		IStructuredDocument structuredDocument = null;
-		try {
-			structuredDocument = createCodedDocument(iFile);
-
-			EmbeddedTypeHandler embeddedType = getEmbeddedType(iFile);
-			if (embeddedType != null)
-				embeddedType.initializeParser((JSPCapableParser) structuredDocument.getParser());
-
-			fFullPreparedReader.reset();
-			setDocumentContentsFromReader(structuredDocument, fFullPreparedReader);
-
-		}
-		finally {
-			if (fFullPreparedReader != null) {
-				fFullPreparedReader.close();
-			}
-		}
-		return structuredDocument;
-	}
-
-	private IStructuredDocument createCodedDocument(IFile iFile) throws CoreException, UnsupportedEncodingException, IOException {
-		IStructuredDocument structuredDocument = (IStructuredDocument) createNewStructuredDocument();
-
-		getCodedReaderCreator().set(iFile);
-
-		fFullPreparedReader = getCodedReaderCreator().getCodedReader();
-		fEncodingMemento = getCodedReaderCreator().getEncodingMemento();
-
-		structuredDocument.setEncodingMemento(getCodedReaderCreator().getEncodingMemento());
-
-		return structuredDocument;
-	}
-
-	public IEncodedDocument createNewStructuredDocument(String filename, InputStream inputStream) throws UnsupportedEncodingException, IOException {
-		if (filename == null && inputStream == null) {
-			throw new IllegalArgumentException("can not have both null filename and inputstream"); //$NON-NLS-1$
-		}
-		IEncodedDocument structuredDocument = createNewStructuredDocument();
-		CodedReaderCreator codedReaderCreator = new CodedReaderCreator();
-		try {
-			codedReaderCreator.set(filename, inputStream);
-			fFullPreparedReader = codedReaderCreator.getCodedReader();
-			fEncodingMemento = codedReaderCreator.getEncodingMemento();
-			structuredDocument.setEncodingMemento(fEncodingMemento);
-			// the fact that file is null means this method/code path is no
-			// good for JSP fragments
-			EmbeddedTypeHandler embeddedType = getEmbeddedType((IFile) null);
-			fFullPreparedReader.reset();
-			if (embeddedType != null)
-				embeddedType.initializeParser((JSPCapableParser) ((IStructuredDocument) structuredDocument).getParser());
-			setDocumentContentsFromReader(structuredDocument, fFullPreparedReader);
-		}
-		catch (CoreException e) {
-			// impossible in this context
-			throw new Error(e);
-		}
-		finally {
-			if (fFullPreparedReader != null) {
-				fFullPreparedReader.close();
-			}
-		}
-		return structuredDocument;
-
-	}
-
-	/**
-	 * Method getDefaultDocumentPartitioner.
-	 * 
-	 * @return IDocumentPartitioner
-	 */
-	public IDocumentPartitioner getDefaultDocumentPartitioner() {
-		return new StructuredTextPartitionerForJSP();
-	}
-
-	/**
-	 * Method getDefaultMimeType.
-	 * 
-	 * @return String
-	 */
-	private String getDefaultMimeType() {
-		return DEFAULT_MIME_TYPE;
-	}
-
-
-	public IDocumentCharsetDetector getDocumentEncodingDetector() {
-		if (fDocumentEncodingDetector == null) {
-			fDocumentEncodingDetector = new JSPDocumentHeadContentDetector();
-		}
-		return fDocumentEncodingDetector;
-	}
-
-	/**
-	 * Gets the embeddedContentTypeRegistry.
-	 * 
-	 * @return Returns a EmbeddedContentTypeRegistry
-	 */
-	private EmbeddedTypeRegistry getEmbeddedContentTypeRegistry() {
-		if (fEmbeddedContentTypeRegistry == null) {
-			fEmbeddedContentTypeRegistry = EmbeddedTypeRegistryImpl.getInstance();
-		}
-		return fEmbeddedContentTypeRegistry;
-	}
-
-	private EmbeddedTypeHandler getEmbeddedType(IStructuredModel model) {
-		Document doc = ((IDOMModel) model).getDocument();
-		PageDirectiveAdapter pageDirectiveAdapter = (PageDirectiveAdapter) ((INodeNotifier) doc).getAdapterFor(PageDirectiveAdapter.class);
-		EmbeddedTypeHandler embeddedHandler = pageDirectiveAdapter.getEmbeddedType();
-		return embeddedHandler;
-	}
-
-	/**
-	 * Determine the MIME content type specified in a page directive. This
-	 * should appear "as early as possible in the JSP page" according to the
-	 * JSP v1.2 specification.
-	 */
-	private EmbeddedTypeHandler getEmbeddedType(IFile file) throws UnsupportedEncodingException, CoreException, IOException {
-		EmbeddedTypeHandler handler = null;
-		if (fFullPreparedReader == null) {
-			handler = getJSPDefaultEmbeddedType();
-		}
-		else {
-			String mimeType = null;
-
-			IDocumentCharsetDetector jspProvider = getDocumentEncodingDetector();
-			Reader fullPreparedReader = getFullPreparedReader();
-			BufferedLimitedReader limitedReader = new BufferedLimitedReader(fullPreparedReader, CodedIO.MAX_BUF_SIZE);
-			jspProvider.set(limitedReader);
-			if (jspProvider instanceof IJSPHeadContentDetector) {
-				mimeType = ((IJSPHeadContentDetector) jspProvider).getContentType();
-				fullPreparedReader.reset();
-			}
-
-			EmbeddedTypeRegistry reg = getEmbeddedContentTypeRegistry();
-			if (mimeType == null || mimeType.length() == 0) {
-				handler = getJSPDefaultEmbeddedType();
-			}
-			else {
-				handler = reg.getTypeFor(mimeType);
-			}
-		}
-		return handler;
-	}
-
-	/**
-	 * For JSP files, text/html is the default content type. This may want
-	 * this different for types like jsv (jsp for voice xml) For now, hard
-	 * code to new instance. In future, should get instance from registry.
-	 * Specification cites HTML as the default contentType.
-	 */
-	private EmbeddedTypeHandler getJSPDefaultEmbeddedType() {
-		EmbeddedTypeRegistry reg = getEmbeddedContentTypeRegistry();
-		return reg.getTypeFor(getDefaultMimeType());
-	}
-
-	/**
-	 * Method getLanguage.
-	 * 
-	 * @param model
-	 * @return String
-	 */
-	private String getLanguage(IStructuredModel model) throws IOException {
-		String result = null;
-		// first check the model (document itself) to see if contains
-		result = getLanguageFromStructuredDocument(model.getStructuredDocument());
-		// Note: if model contains an unsupported
-		// language, we'll even return it,
-		// since who knows what future holds.
-
-		// always return something
-		if (result == null) {
-			result = DEFAULT_LANGUAGE;
-		}
-		return result;
-	}
-
-	/**
-	 * Method getLanguageFromStructuredDocument.
-	 * 
-	 * @param structuredDocument
-	 * @return String
-	 */
-	private String getLanguageFromStructuredDocument(IDocument document) throws IOException {
-		if (document == null)
-			return null;
-		String result = null;
-		// bascially same algorithm as get encoding or
-		// get content type from structuredDocument.
-		IJSPHeadContentDetector localHeadParser = (IJSPHeadContentDetector) getDocumentEncodingDetector();
-		// we can be assured that its already been
-		// parsed. If not call parseHeaderForPageDirective()
-		// before calling getLanguage;
-		localHeadParser.set(document);
-		result = localHeadParser.getLanguage();
-		return result;
-	}
-
-	public RegionParser getParser() {
-		// remember, the Loader
-		// will need to finish initialization of parser
-		// based on "embedded content"
-		JSPSourceParser parser = new JSPSourceParser();
-		// add default nestable tag list
-		addNestablePrefix(parser, JSP11Namespace.JSP_TAG_PREFIX);
-		return parser;
-	}
-
-	protected String getPreferredNewLineDelimiter() {
-		return ContentTypeEncodingPreferences.getPreferredNewLineDelimiter(ContentTypeIdForJSP.ContentTypeID_JSP);
-	}
-
-	/**
-	 * Specification cites ISO-8859-1/Latin-1 as the default charset.
-	 */
-	protected String getSpecDefaultEncoding() {
-		return SPEC_DEFAULT_ENCODING;
-	}
-
-	/**
-	 * This is "reinitialize" since there should always be at least the
-	 * default one assigned, before we start checking the stream
-	 */
-	private void initCloneOfEmbeddedType(IStructuredModel model, EmbeddedTypeHandler oldEmbeddedContentType, EmbeddedTypeHandler newEmbeddedContentType) throws IOException {
-		// check program logic
-		Assert.isNotNull(oldEmbeddedContentType, "Program error: invalid call during model initialization"); //$NON-NLS-1$
-		// once we know the embedded content type, we need to set it in the
-		// PageDirectiveAdapter ... the order of initialization is
-		// critical here, the doc must have been created, but its contents not
-		// set
-		// yet,
-		// and all factories must have been set up also.
-		IDOMModel domModel = (IDOMModel) model;
-		IStructuredDocument structuredDocument = model.getStructuredDocument();
-		IDOMDocument document = domModel.getDocument();
-		PageDirectiveAdapter pageDirectiveAdapter = (PageDirectiveAdapter) document.getAdapterFor(PageDirectiveAdapter.class);
-		// ==> // PropagatingAdapter propagatingAdapter = (PropagatingAdapter)
-		// ((INodeNotifier) document).getAdapterFor(PropagatingAdapter.class);
-		// ==> // ModelQueryAdapter modelQueryAdapter = (ModelQueryAdapter)
-		// ((INodeNotifier) document).getAdapterFor(ModelQueryAdapter.class);
-		// because, even in the clone case, the model has been paritally
-		// intialized
-		// with
-		// the old embedded type (during createModel), we need to unitialize
-		// parts of it, based on the old (or default) ones
-		oldEmbeddedContentType.uninitializeFactoryRegistry(model.getFactoryRegistry());
-		oldEmbeddedContentType.uninitializeParser((JSPCapableParser) structuredDocument.getParser());
-		// remember, embedded type factories are automatically cleared when
-		// embededType changed
-		pageDirectiveAdapter.setEmbeddedType(newEmbeddedContentType);
-		if (newEmbeddedContentType != null) {
-			newEmbeddedContentType.initializeFactoryRegistry(model.getFactoryRegistry());
-			newEmbeddedContentType.initializeParser((JSPCapableParser) structuredDocument.getParser());
-		}
-		// adding language here, in this convienent central
-		// location, but some obvious renaming or refactoring
-		// wouldn't hurt, in future.
-		// I needed to add this language setting for JSP Fragment support
-		// Note: this is the one that counts, since at this point,
-		// the model has an ID, so we can look up IFile, etc.
-		String language = getLanguage(model);
-		if (language != null && language.length() > 0) {
-			pageDirectiveAdapter.setLanguage(language);
-		}
-	}
-
-	/**
-	 * Method initEmbeddedType.
-	 */
-	private void initEmbeddedType(IStructuredModel model) {
-		initializeEmbeddedTypeFromDefault(model);
-	}
-
-	/**
-	 * Method initEmbeddedType.
-	 */
-	private void initEmbeddedType(IStructuredModel oldModel, IStructuredModel newModel) throws IOException {
-		EmbeddedTypeHandler existingEmbeddedType = getEmbeddedType(oldModel);
-		EmbeddedTypeHandler newEmbeddedContentType = existingEmbeddedType.newInstance();
-		if (existingEmbeddedType == null) {
-			initEmbeddedType(newModel);
-		}
-		else {
-			// initEmbeddedType(newModel);
-			initCloneOfEmbeddedType(newModel, existingEmbeddedType, newEmbeddedContentType);
-		}
-		setLanguageInPageDirective(newModel);
-	}
-
-	/**
-	 * This is "initialize" since is always assumes it hasn't been initalized
-	 * yet.
-	 */
-	private void initializeEmbeddedType(IStructuredModel model, EmbeddedTypeHandler embeddedContentType) {
-		// check program logic
-		Assert.isNotNull(embeddedContentType, "Program error: invalid call during model initialization"); //$NON-NLS-1$
-		// once we know the embedded content type, we need to set it in the
-		// PageDirectiveAdapter ... the order of initialization is
-		// critical here, the doc must have been created, but its contents not
-		// set
-		// yet,
-		// and all factories must have been set up also.
-		IDOMModel domModel = (IDOMModel) model;
-		IDOMDocument document = domModel.getDocument();
-		PageDirectiveAdapter pageDirectiveAdapter = (PageDirectiveAdapter) document.getAdapterFor(PageDirectiveAdapter.class);
-		pageDirectiveAdapter.setEmbeddedType(embeddedContentType);
-		embeddedContentType.initializeFactoryRegistry(model.getFactoryRegistry());
-		IStructuredDocument structuredDocument = model.getStructuredDocument();
-		embeddedContentType.initializeParser((JSPCapableParser) structuredDocument.getParser());
-		// adding language here, in this convienent central
-		// location, but some obvious renaming or refactoring
-		// wouldn't hurt, in future.
-		// I needed to add this language setting for JSP Fragment support
-		// Note: I don't think this attempted init counts for much.
-		// I think its always executed when model is very first
-		// being initialized, and doesn't even have content
-		// or an ID yet. I thought I'd leave, since it wouldn't
-		// hurt, in case its called in other circumstances.
-		// String language = getLanguage(model);
-		// pageDirectiveAdapter.setLanguage(language);
-	}
-
-	/**
-	 * This init method is for the case where we are creating an empty model,
-	 * which we always do.
-	 */
-	private void initializeEmbeddedTypeFromDefault(IStructuredModel model) {
-		EmbeddedTypeHandler embeddedContentType = getJSPDefaultEmbeddedType();
-		initializeEmbeddedType(model, embeddedContentType);
-	}
-
-	/**
-	 * This method must return a new instance of IStructuredDocument, that has
-	 * been initialized with appropriate parser. For many loaders, the
-	 * (default) parser used is known for any input. For others, the correct
-	 * parser (and its initialization) is normall dependent on the content of
-	 * the file. This no-argument method should assume "empty input" and would
-	 * therefore return the default parser for the default contentType. If the
-	 * parser is to handle tag libraries, it must have a TaglibSupport object
-	 * with a valid URIResolver and this IStructuredDocument attached to it
-	 * before the contents are set on the IStructuredDocument.
-	 */
-	protected IEncodedDocument newEncodedDocument() {
-		IStructuredDocument structuredDocument = StructuredDocumentFactory.getNewStructuredDocumentInstance(getParser());
-		((BasicStructuredDocument) structuredDocument).setReParser(new JSPReParser());
-		// structuredDocument.setDocumentPartitioner(new
-		// JSPJavaDocumentPartioner());
-		// even though this is an "empty model" ... we want it to have at
-		// least
-		// the
-		// default embeddeded content type handler
-		EmbeddedTypeHandler embeddedType = getJSPDefaultEmbeddedType();
-		embeddedType.initializeParser((JSPCapableParser) structuredDocument.getParser());
-		return structuredDocument;
-	}
-
-	public IDocumentLoader newInstance() {
-		return new JSPDocumentLoader();
-	}
-
-	protected void preLoadAdapt(IStructuredModel structuredModel) {
-		IDOMModel domModel = (IDOMModel) structuredModel;
-		//
-		// document must have already been set for this to
-		// work.
-		Document document = domModel.getDocument();
-		Assert.isNotNull(document, JSPCoreMessages.JSPDocumentLoader_1);
-		// if there is a model in the adapter, this will adapt it to
-		// first node. After that the PropagatingAdater spreads over the
-		// children being
-		// created. Each time that happends, a side effect is to
-		// also "spread" sprecific registered adapters,
-		// they two can propigate is needed.
-		// This 'get' causes first to be be attached.
-		PropagatingAdapter propagatingAdapter = (PropagatingAdapter) ((INodeNotifier) document).getAdapterFor(PropagatingAdapter.class);
-		// may make this easier to use in futue
-		propagatingAdapter.addAdaptOnCreateFactory(new PageDirectiveWatcherFactory());
-		// For JSPs, the ModelQueryAdapter must be "attached" to the document
-		// before content is set in the model, so taglib initization can
-		// take place.
-		((INodeNotifier) document).getAdapterFor(ModelQueryAdapter.class);
-		
-	}
-
-	/**
-	 * This is "reinitialize" since there should always be at least the
-	 * default one assigned, before we start checking the stream
-	 */
-	private void reInitializeEmbeddedType(IStructuredModel model, EmbeddedTypeHandler oldEmbeddedContentType, EmbeddedTypeHandler newEmbeddedContentType) throws IOException {
-		// check program logic
-		Assert.isNotNull(oldEmbeddedContentType, "Program error: invalid call during model initialization"); //$NON-NLS-1$
-		// once we know the embedded content type, we need to set it in the
-		// PageDirectiveAdapter ... the order of initialization is
-		// critical here, the doc must have been created, but its contents not
-		// set
-		// yet,
-		// and all factories must have been set up also.
-		IDOMModel domModel = (IDOMModel) model;
-		IStructuredDocument structuredDocument = model.getStructuredDocument();
-		IDOMDocument document = domModel.getDocument();
-		PageDirectiveAdapter pageDirectiveAdapter = (PageDirectiveAdapter) document.getExistingAdapter(PageDirectiveAdapter.class);
-		// ==> // PropagatingAdapter propagatingAdapter = (PropagatingAdapter)
-		// ((INodeNotifier)
-		// document).getExistingAdapter(PropagatingAdapter.class);
-		// ==> // ModelQueryAdapter modelQueryAdapter = (ModelQueryAdapter)
-		// ((INodeNotifier)
-		// document).getExistingAdapter(ModelQueryAdapter.class);
-		oldEmbeddedContentType.uninitializeFactoryRegistry(model.getFactoryRegistry());
-		oldEmbeddedContentType.uninitializeParser((JSPCapableParser) structuredDocument.getParser());
-		// since 'document' is not recreated in this
-		// reinit path, we need to remove all adapters,
-		// except for the propagated adapters (including page
-		// directive adapter, and model query adapter).
-		// to accomplish this, we'll just remove all, then
-		// add back with a call to pre-load adapt.
-		// let clients decide to unload adapters from document
-		// Collection oldAdapters = document.getAdapters();
-		// Iterator oldAdaptersIterator = oldAdapters.iterator();
-		// while (oldAdaptersIterator.hasNext()) {
-		// INodeAdapter oldAdapter = (INodeAdapter)
-		// oldAdaptersIterator.next();
-		// if (oldAdapter != pageDirectiveAdapter && oldAdapter !=
-		// propagatingAdapter && oldAdapter != modelQueryAdapter) {
-		// // DO NOT remove directly!
-		// // can change contents while in notifity loop!
-		// //oldAdaptersIterator.remove();
-		// document.removeAdapter(oldAdapter);
-		// }
-		// }
-		// DMW: I believe something like the following is needed,
-		// since releases cached adapters
-		// if (document instanceof DocumentImpl) {
-		// ((DocumentImpl) document).releaseDocumentType();
-		// ((DocumentImpl) document).releaseStyleSheets();
-		// }
-		// remember, embedded type factories are automatically cleared when
-		// embededType changed
-		pageDirectiveAdapter.setEmbeddedType(newEmbeddedContentType);
-		// // but still need to clear the page directive watchers, and let
-		// them
-		// be
-		// rediscovered (with new, accurate node as target)
-		// pageDirectiveAdapter.clearPageWatchers();
-		if (newEmbeddedContentType != null) {
-			newEmbeddedContentType.initializeFactoryRegistry(model.getFactoryRegistry());
-			newEmbeddedContentType.initializeParser((JSPCapableParser) structuredDocument.getParser());
-		}
-		// adding language here, in this convienent central
-		// location, but some obvious renaming or refactoring
-		// wouldn't hurt, in future.
-		// I needed to add this language setting for JSP Fragment support
-		// Note: this is the one that counts, since at this point,
-		// the model has an ID, so we can look up IFile, etc.
-		String language = getLanguage(model);
-		if (language != null && language.length() > 0) {
-			pageDirectiveAdapter.setLanguage(language);
-		}
-	}
-
-	private void setLanguageInPageDirective(IStructuredModel newModel) throws IOException {
-		if (newModel instanceof IDOMModel) {
-			IDOMDocument document = ((IDOMModel) newModel).getDocument();
-			PageDirectiveAdapter pageDirectiveAdapter = (PageDirectiveAdapter) document.getAdapterFor(PageDirectiveAdapter.class);
-			String language = getLanguage(newModel);
-			pageDirectiveAdapter.setLanguage(language);
-		}
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/CompilationUnitHelper.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/CompilationUnitHelper.java
deleted file mode 100644
index 8df5524..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/CompilationUnitHelper.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package org.eclipse.jst.jsp.core.internal.java;
-
-import org.eclipse.jdt.core.WorkingCopyOwner;
-
-/**
- * To ensure there is only one instance of ProblemRequestor and WorkingCopyOwner
- * for JSP plugins.  These were removed from JSPTranslation to ensure that the
- * JSPTranslation was not held in memory by any type of JDT lists (caching
- * search results, etc...)
- * 
- * @author pavery
- */
-public class CompilationUnitHelper {
-
-    private JSPProblemRequestor fProblemRequestor = null;
-    private WorkingCopyOwner fWorkingCopyOwner = null;
-    private static CompilationUnitHelper instance;
-
-    private CompilationUnitHelper() {
-        // force use of instance
-    }
-
-    public synchronized static final CompilationUnitHelper getInstance() {
-
-        if (instance == null)
-            instance = new CompilationUnitHelper();
-        return instance;
-    }
-
-    public JSPProblemRequestor getProblemRequestor() {
-
-        if (fProblemRequestor == null)
-            fProblemRequestor = new JSPProblemRequestor();
-        return fProblemRequestor;
-    }
-
-    public WorkingCopyOwner getWorkingCopyOwner() {
-
-        if (fWorkingCopyOwner == null) {
-            fWorkingCopyOwner = new WorkingCopyOwner() {
-                public String toString() {
-                    return "JSP Working copy owner"; //$NON-NLS-1$
-                }
-            };
-        }
-        return fWorkingCopyOwner;
-    }
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/ELProblem.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/ELProblem.java
deleted file mode 100644
index b856058..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/ELProblem.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package org.eclipse.jst.jsp.core.internal.java;
-
-import org.eclipse.jface.text.Position;
-
-public class ELProblem {
-	private Position fPos;
-	private String fMessage;
-	
-	public ELProblem(Position pos, String message)	{
-		fPos = pos;
-		fMessage = message;
-	}
-	
-	public String getMessage() {
-		return fMessage;
-	}
-	
-
-	public Position getPosition() {
-		return fPos;
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/EscapedTextUtil.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/EscapedTextUtil.java
deleted file mode 100644
index 4370d9a..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/EscapedTextUtil.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.java;
-
-
-
-import java.util.Properties;
-import java.util.StringTokenizer;
-
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion;
-
-/**
- * class to handle chunks of text/regions
- * with escaped character data
- * @author pavery
- */
-public class EscapedTextUtil {
-
-	public static Properties fXMLtoJavaLookup = null;
-
-	/**
-	 * @return unescaped full text of that region, "" if there is no text
-	 */
-	public static String getUnescapedText(IStructuredDocumentRegion parent, ITextRegion r) {
-		String test = (parent != r) ? parent.getFullText(r) : parent.getFullText();
-		return getUnescapedText(test);
-	}
-
-	public static String getUnescapedText(String test) {
-		initLookup();
-		StringBuffer buffer = new StringBuffer();
-		if (test != null) {
-			StringTokenizer st = new StringTokenizer(test, "&;", true); //$NON-NLS-1$
-			String tok1, tok2, tok3, transString;
-			while (st.hasMoreTokens()) {
-				tok1 = tok2 = tok3 = transString = ""; //$NON-NLS-1$
-				tok1 = st.nextToken();
-				if (tok1.equals("&") && st.hasMoreTokens()) //$NON-NLS-1$
-				{
-					tok2 = st.nextToken();
-					if (st.hasMoreTokens()) {
-						tok3 = st.nextToken();
-					}
-				}
-				if (!(transString = fXMLtoJavaLookup.getProperty(tok1 + tok2 + tok3, "")).equals("")) //$NON-NLS-2$ //$NON-NLS-1$
-				{
-					buffer.append(transString);
-				}
-				else {
-					buffer.append(tok1 + tok2 + tok3);
-				}
-			}
-			return buffer.toString();
-		}
-		return ""; //$NON-NLS-1$
-	}
-
-	/**
-	 * initialize lookup tables
-	 */
-	private static void initLookup() {
-		fXMLtoJavaLookup = new Properties();
-		fXMLtoJavaLookup.setProperty("&apos;", "'"); //$NON-NLS-2$ //$NON-NLS-1$
-		fXMLtoJavaLookup.setProperty("&quot;", "\""); //$NON-NLS-2$ //$NON-NLS-1$
-		fXMLtoJavaLookup.setProperty("&amp;", "&"); //$NON-NLS-2$ //$NON-NLS-1$
-		fXMLtoJavaLookup.setProperty("&lt;", "<"); //$NON-NLS-2$ //$NON-NLS-1$
-		fXMLtoJavaLookup.setProperty("&gt;", ">"); //$NON-NLS-2$ //$NON-NLS-1$
-		fXMLtoJavaLookup.setProperty("&nbsp;", " "); //$NON-NLS-2$ //$NON-NLS-1$
-	}
-
-	/**
-	 * Get the String representation of an entity reference.
-	 */
-	public static String translateEntityReference(String entity) {
-		return fXMLtoJavaLookup.getProperty(entity, entity);
-	}
-}
-
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/IJSPTranslation.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/IJSPTranslation.java
deleted file mode 100644
index cb79f3e..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/IJSPTranslation.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.java;
-
-import java.util.List;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaElement;
-
-/**
- * An object that holds a translated JSP String along with
- * position mapping from Java to JSP, and JSP to Java.
- * 
- * @author pavery
- * 
- */
-public interface IJSPTranslation {
-
-	/**
-	 * The string contents of the translated document.
-	 * @return  the string contents of the translated document.
-	 */
-	public String getJavaText();
-
-	/**
-	 * The corresponding java offset in the translated document for a given jsp offset.
-	 * @param jspPosition
-	 * @return the java offset that maps to jspOffset, -1 if the position has no mapping.
-	 */
-	public int getJavaOffset(int jspOffset);
-
-	/**
-	 * The corresponding jsp offset in the source document for a given jsp offset in the translated document.
-	 * @param javaPosition
-	 * @return the jsp offset that maps to javaOffset, -1 if the position has no mapping.
-	 */
-	public int getJspOffset(int javaOffset);
-
-	/**
-	 * The corresponding CompilationUnit for the translated JSP document
-	 * @return an ICompilationUnit of the translation
-	 */
-	public ICompilationUnit getCompilationUnit();
-
-	/**
-	 * Returns the IJavaElements corresponding to the JSP range in the JSP StructuredDocument
-	 * 
-	 * @param jspStart staring offset in the JSP document
-	 * @param jspEnd ending offset in the JSP document
-	 * @return IJavaElements corresponding to the JSP selection
-	 */
-	public IJavaElement[] getElementsFromJspRange(int jspStart, int jspEnd);
-
-	/**
-	 * Must be set true in order for problems to be collected during reconcile.
-	 * If set false, problems will be ignored during reconcile.
-	 * @param collect
-	 */
-	public void setProblemCollectingActive(boolean collect);
-
-	/**
-	 * Reconciles the compilation unit for this JSPTranslation
-	 */
-	public void reconcileCompilationUnit();
-
-	/**
-	 * @return the List of problems collected during reconcile of the compilation unit
-	 */
-	public List getProblems();
-	
-	// add these API once finalized
-	// getJspEdits(TextEdit javaEdit)
-	// getJavaRanges()
-    // getJavaDocument()
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSP2ServletNameUtil.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSP2ServletNameUtil.java
deleted file mode 100644
index 43dfba4..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSP2ServletNameUtil.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.java;
-
-import java.io.File;
-
-/**
- * @author pavery
- */
-public class JSP2ServletNameUtil {
-	
-	/**
-	 * WAS mangles Tom&Jerry as: _Tom_26_Jerry; this takes in the mangled name
-	 * and returns the original name.
-	 * 
-	 * Unmangles the qualified type name.  If an underscore is found
-	 * it is assumed to be a mangled representation of a non-alpha, 
-	 * non-digit character of the form _NN_, where NN are hex digits
-	 * representing the encoded character.  This routine converts it
-	 * back to the original character.
-	 */
-	public final static String unmangle(String qualifiedTypeName) {
-		if(qualifiedTypeName.charAt(0) != '_')
-			return qualifiedTypeName;
-		
-		StringBuffer buf = new StringBuffer();
-		String possible = ""; //$NON-NLS-1$
-	
-		// remove the .java extension if there is one
-		if(qualifiedTypeName.endsWith(".java"))//$NON-NLS-1$
-			qualifiedTypeName = qualifiedTypeName.substring(0, qualifiedTypeName.length() - 5);
-		
-		for(int i = 1; i < qualifiedTypeName.length(); i++) {  // start at index 1 b/c 1st char is always '_'
-			char c = qualifiedTypeName.charAt(i);
-			if(c == '_') {
-				int endIndex = qualifiedTypeName.indexOf('_', i+1);
-				if(endIndex == -1)
-					buf.append(c);
-				else {
-					char unmangled;
-					try {
-						possible = qualifiedTypeName.substring(i+1, endIndex); 
-					    if(isValid(possible)) {
-							unmangled = (char)Integer.decode("0x" + possible).intValue();//$NON-NLS-1$
-							i = endIndex;
-					    }
-					    else { 
-					        unmangled = c;
-					    }
-						
-					} catch(NumberFormatException e) {
-						unmangled = c;
-					}
-					buf.append(unmangled);
-				}
-			} else {
-				buf.append(c);
-			}
-		}
-		return buf.toString();
-	}
-
-	/**
-	 * Determine if given string is a valid Hex representation of an ASCII character (eg. 2F -> /)
-	 * @param possible
-	 * @return
-	 */
-	private static boolean isValid(String possible) {
-	    boolean result = false;
-	    if(possible.length() == 2){	    
-	        char c1 = possible.charAt(0);
-	        char c2 = possible.charAt(1);
-	        // 1st character must be a digit
-	        if(Character.isDigit(c1)) {
-	            // 2nd character must be digit or upper case letter A-F
-	            if(Character.isDigit(c2)) {
-	                result = true;
-	            }
-	            else if(Character.isUpperCase(c2) && (c2 == 'A' || c2 == 'B' || c2 ==  'C'|| c2 ==  'D'|| c2 ==  'E'|| c2 == 'F')) {
-	                result = true;
-	            }
-	        }
-	    }
-        return result;
-	}
-	
-	/**
-	 * Mangle string to WAS-like specifications
-	 *
-	 */
-	public final static String mangle(String name) {	  
-	  StringBuffer modifiedName = new StringBuffer();
-	  
-	  // extension (.jsp, .jspf, .jspx, etc...) should already be encoded in name
-	  
-	  int length = name.length();
-	  // in case name is forbidden (a number, class, for, etc...)
-	  modifiedName.append('_');
-	
-	  // ensure rest of characters are valid	
-	  for (int i=0; i< length; i++) {
-		  char currentChar = name.charAt(i);
-		  if (Character.isJavaIdentifierPart(currentChar) == true  ) { 
-			  modifiedName.append(currentChar);
-		  } else {
-			  modifiedName.append(mangleChar(currentChar));
-		  }
-	  }
-	  return modifiedName.toString();
-	  
-	}
-
-	/**
-	 * take a character and return its hex equivalent
-	 */
-	private final static String mangleChar(char ch) {
-	  if ( ch == File.separatorChar ) {
-		  ch = '/';
-	  }
-	
-	  if ( Character.isLetterOrDigit(ch) == true ) {
-		  return "" + ch; //$NON-NLS-1$
-	  }
-	  return "_" + Integer.toHexString(ch).toUpperCase() + "_"; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPIncludeRegionHelper.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPIncludeRegionHelper.java
deleted file mode 100644
index 5ef7219..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPIncludeRegionHelper.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.java;
-
-import org.eclipse.jst.jsp.core.internal.regions.DOMJSPRegionContexts;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion;
-import org.eclipse.wst.xml.core.internal.regions.DOMRegionContext;
-
-
-/**
- * Extension of XMLJSPRegionHelper inteded to parse entire included JSP files.
- * Basically it expands the rules for what tags are parsed as JSP.
- * 
- * @author pavery
- */
-class JSPIncludeRegionHelper extends XMLJSPRegionHelper {
-	/**
-	 * @param JSPTranslator
-	 */
-	public JSPIncludeRegionHelper(JSPTranslator translator) {
-		super(translator);
-	}
-
-	// these methods determine what content gets added to the local scriplet, expression, declaration buffers
-	/*
-	 * return true for elements whose contents we might want to add to the java file we are building
-	 */
-	protected boolean isJSPStartRegion(IStructuredDocumentRegion sdRegion) {
-		String type = sdRegion.getFirstRegion().getType();
-		return type == DOMRegionContext.XML_TAG_OPEN || type == DOMJSPRegionContexts.JSP_DECLARATION_OPEN || type == DOMJSPRegionContexts.JSP_EXPRESSION_OPEN || type == DOMJSPRegionContexts.JSP_SCRIPTLET_OPEN || type == DOMJSPRegionContexts.JSP_DIRECTIVE_OPEN || type == DOMJSPRegionContexts.JSP_DIRECTIVE_NAME;
-	}
-
-	protected boolean isDeclaration(String tagName) {
-		return tagName.equalsIgnoreCase("jsp:declaration") //$NON-NLS-1$		
-					|| tagName.equalsIgnoreCase("<%!"); //$NON-NLS-1$		
-	}
-
-	protected boolean isExpression(String tagName) {
-		return tagName.equalsIgnoreCase("jsp:expression") //$NON-NLS-1$		
-					|| tagName.equalsIgnoreCase("<%="); //$NON-NLS-1$
-	}
-
-	protected boolean isScriptlet(String tagName) {
-		return tagName.equalsIgnoreCase("jsp:scriptlet") //$NON-NLS-1$		
-					|| tagName.equalsIgnoreCase("<%"); //$NON-NLS-1$
-	}
-
-	protected boolean isIncludeDirective(String tagName) {
-		return tagName.equalsIgnoreCase("jsp:directive.include") || //$NON-NLS-1$
-					tagName.equalsIgnoreCase("include"); //$NON-NLS-1$
-	}
-
-	protected boolean isTaglibDirective(String tagName) {
-		return tagName.equalsIgnoreCase("jsp:directive.taglib") //$NON-NLS-1$
-					|| tagName.equalsIgnoreCase("taglib"); //$NON-NLS-1$
-	}
-
-	protected boolean isPageDirective(String tagName) {
-		return tagName.equalsIgnoreCase("jsp:directive.page") //$NON-NLS-1$
-					|| tagName.equalsIgnoreCase("page"); //$NON-NLS-1$
-	}
-
-	// different btwn XML-JSP and JSP tags		
-	protected String getRegionName(IStructuredDocumentRegion sdRegion) {
-		ITextRegion nameRegion = null;
-		String nameStr = ""; //$NON-NLS-1$
-		int size = sdRegion.getRegions().size();
-		if (size > 1) {
-			// presumably XML-JSP <jsp:scriptlet> | <jsp:expression> | <jsp:declaration>
-			nameRegion = sdRegion.getRegions().get(1);
-		}
-		else if (size == 1) {
-			// presumably JSP open <% | <%= | <%!
-			nameRegion = sdRegion.getRegions().get(0);
-		}
-		if (nameRegion != null)
-			nameStr = fTextToParse.substring(sdRegion.getStartOffset(nameRegion), sdRegion.getTextEndOffset(nameRegion));
-		return nameStr.trim();
-	}
-
-	protected void processOtherRegions(IStructuredDocumentRegion sdRegion) {
-		processIncludeDirective(sdRegion);
-		processPageDirective(sdRegion);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPProblemRequestor.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPProblemRequestor.java
deleted file mode 100644
index cf47682..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPProblemRequestor.java
+++ /dev/null
@@ -1,88 +0,0 @@
-package org.eclipse.jst.jsp.core.internal.java;
-
-/**
- * @author pavery
- */
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jdt.core.IProblemRequestor;
-import org.eclipse.jdt.core.compiler.IProblem;
-
-class JSPProblemRequestor implements IProblemRequestor {
-
-    private boolean fIsActive = false;
-
-    private boolean fIsRunning = false;
-
-    private List fCollectedProblems;
-
-    public void beginReporting() {
-
-        fIsRunning = true;
-        fCollectedProblems = new ArrayList();
-    }
-
-    public void acceptProblem(IProblem problem) {
-
-        if (isActive())
-            fCollectedProblems.add(problem);
-    }
-
-    public void endReporting() {
-
-        fIsRunning = false;
-    }
-
-    public boolean isActive() {
-
-        return fIsActive && fCollectedProblems != null;
-    }
-
-    /**
-     * Sets the active state of this problem requestor.
-     * 
-     * @param isActive
-     *            the state of this problem requestor
-     */
-    public void setIsActive(boolean isActive) {
-
-        if (fIsActive != isActive) {
-            fIsActive = isActive;
-            if (fIsActive)
-                startCollectingProblems();
-            else
-                stopCollectingProblems();
-        }
-    }
-
-    /**
-     * Tells this annotation model to collect temporary problems from now on.
-     */
-    private void startCollectingProblems() {
-
-        fCollectedProblems = new ArrayList();
-    }
-
-    /**
-     * Tells this annotation model to no longer collect temporary problems.
-     */
-    private void stopCollectingProblems() {
-
-        // do nothing
-    }
-
-    /**
-     * @return the list of collected problems
-     */
-    public List getCollectedProblems() {
-
-        return fCollectedProblems;
-    }
-
-    public boolean isRunning() {
-
-        return fIsRunning;
-    }
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslation.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslation.java
deleted file mode 100644
index 05d71b7..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslation.java
+++ /dev/null
@@ -1,572 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.java;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jdt.core.IBuffer;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.WorkingCopyOwner;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jst.jsp.core.internal.Logger;
-
-
-/**
- * <p>
- * An implementation of IJSPTranslation.  
- * <br>
- * This object that holds the java translation of 
- * a JSP file as well as a mapping of ranges from the translated Java to the JSP source, 
- * and mapping from JSP source back to the translated Java.
- * </p>
- * 
- * <p>
- * You may also use JSPTranslation to do CompilationUnit-esque things such as:
- * <ul>
- * 	<li>code select (get java elements for jsp selection)</li>
- *  <li>reconcile</li>
- *  <li>get java regions for jsp selection</li>
- *  <li>get a JSP text edit based on a Java text edit</li>
- *  <li>determine if a java offset falls within a jsp:useBean range</li>
- *  <li>determine if a java offset falls within a jsp import statment</li>
- * </ul>
- * </p>
- * 
- * @author pavery
- */
-public class JSPTranslation implements IJSPTranslation {
-	
-	// for debugging
-	private static final boolean DEBUG;
-	static {
-		String value= Platform.getDebugOption("org.eclipse.jst.jsp.core/debug/jsptranslation"); //$NON-NLS-1$
-		DEBUG= value != null && value.equalsIgnoreCase("true"); //$NON-NLS-1$
-	}
-
-	/** the name of the class (w/out extension) **/
-	private String fClassname = ""; //$NON-NLS-1$
-	private IJavaProject fJavaProject = null;
-	private HashMap fJava2JspMap = null;
-	private HashMap fJsp2JavaMap = null;
-	private HashMap fJava2JspImportsMap = null;
-	private HashMap fJava2JspUseBeanMap = null;
-	private HashMap fJava2JspIndirectMap = null;
-	private List fELProblems = null;
-	
-	// don't want to hold onto model (via translator)
-	// all relevant info is extracted in the constructor.
-	//private JSPTranslator fTranslator = null;
-	private String fJavaText = ""; //$NON-NLS-1$
-	private String fJspText = ""; //$NON-NLS-1$
-	
-	private ICompilationUnit fCompilationUnit = null;
-	private IProgressMonitor fProgressMonitor = null;
-	/** lock to synchronize access to the compilation unit **/
-	private byte[] fLock = null;
-
-	public JSPTranslation(IJavaProject javaProj, JSPTranslator translator) {
-
-		fLock = new byte[0];
-		fJavaProject = javaProj;
-		//fTranslator = translator;
-		
-		// can be null if it's an empty document (w/ NullJSPTranslation)
-		if(translator != null) {
-		    fJavaText = translator.getTranslation().toString();
-		    fJspText = translator.getJspText();
-			fClassname = translator.getClassname();
-			fJava2JspMap = translator.getJava2JspRanges();
-			fJsp2JavaMap = translator.getJsp2JavaRanges();
-			fJava2JspImportsMap = translator.getJava2JspImportRanges();
-			fJava2JspUseBeanMap = translator.getJava2JspUseBeanRanges();
-			fJava2JspIndirectMap = translator.getJava2JspIndirectRanges();
-			fELProblems = translator.getELProblems();
-		}
-	}
-	
-	public IJavaProject getJavaProject() {
-		return fJavaProject;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.jsp.core.internal.java.IJSPTranslation#getJavaText()
-	 */
-	public String getJavaText() {
-		//return (fTranslator != null) ? fTranslator.getTranslation().toString() : "";  //$NON-NLS-1$ 
-		return fJavaText;
-	}
-	
-	public String getJspText() {
-		//return (fTranslator != null) ? fTranslator.getJspText() : "";  //$NON-NLS-1$
-		return fJspText;
-	}
-	
-	public String getJavaPath() {
-		// create if necessary
-		ICompilationUnit cu = getCompilationUnit();
-		return (cu != null) ? cu.getPath().toString() : ""; //$NON-NLS-1$
-	}
-	
-	/**
-	 * 
-	 * @return the corresponding Java offset for a give JSP offset
-	 */
-	public int getJavaOffset(int jspOffset) {
-		int result = -1;
-		int offsetInRange = 0;
-		Position jspPos, javaPos = null;
-
-		// iterate all mapped jsp ranges
-		Iterator it = fJsp2JavaMap.keySet().iterator();
-		while (it.hasNext()) {
-			jspPos = (Position) it.next();
-			// need to count the last position as included
-			if (!jspPos.includes(jspOffset) && !(jspPos.offset+jspPos.length == jspOffset))
-				continue;
-
-			offsetInRange = jspOffset - jspPos.offset;
-			javaPos = (Position) fJsp2JavaMap.get(jspPos);
-			if(javaPos != null)
-				result = javaPos.offset + offsetInRange;
-			else  {
-
-				Logger.log(Logger.ERROR, "JavaPosition was null!" + jspOffset); //$NON-NLS-1$
-			}
-			break;
-		}
-		return result;
-	}
-
-	/**
-	 * 
-	 * @return the corresponding JSP offset for a give Java offset
-	 */
-	public int getJspOffset(int javaOffset) {
-		int result = -1;
-		int offsetInRange = 0;
-		Position jspPos, javaPos = null;
-
-		// iterate all mapped java ranges
-		Iterator it = fJava2JspMap.keySet().iterator();
-		while (it.hasNext()) {
-			javaPos = (Position) it.next();
-			// need to count the last position as included
-			if (!javaPos.includes(javaOffset) && !(javaPos.offset+javaPos.length == javaOffset))
-				continue;
-
-			offsetInRange = javaOffset - javaPos.offset;
-			jspPos = (Position) fJava2JspMap.get(javaPos);
-			
-			if(jspPos != null)
-				result = jspPos.offset + offsetInRange;
-			else  {
-				Logger.log(Logger.ERROR, "jspPosition was null!" + javaOffset); //$NON-NLS-1$
-			}
-			break;
-		}
-
-		return result;
-	}
-
-	/**
-	 * 
-	 * @return a map of Positions in the Java document to corresponding Positions in the JSP document
-	 */
-	public HashMap getJava2JspMap() {
-		return fJava2JspMap;
-	}
-
-	/**
-	 * 
-	 * @return a map of Positions in the JSP document to corresponding Positions in the Java document
-	 */
-	public HashMap getJsp2JavaMap() {
-		return fJsp2JavaMap;
-	}
-
-	/**
-	 * Checks if the specified java range covers more than one partition in the JSP file.
-	 * 
-	 * <p>
-	 * ex.
-	 * <code>
-	 * <%
-	 * 	if(submit)
-	 *  {
-	 * %>
-	 *    <p> print this...</p>
-	 * 
-	 * <%
-	 *  }
-	 *  else
-	 *  {
-	 * %>
-	 * 	   <p> print that...</p>
-	 * <%
-	 *  }
-	 * %>
-	 * </code>
-	 * </p>
-	 * 
-	 * the if else statement above spans 3 JSP partitions, so it would return true.
-	 * @param offset
-	 * @param length
-	 * @return <code>true</code> if the java code spans multiple JSP partitions, otherwise false.
-	 */
-	public boolean javaSpansMultipleJspPartitions(int javaOffset, int javaLength) {
-		HashMap java2jsp = getJava2JspMap();
-		int count = 0;
-		Iterator it = java2jsp.keySet().iterator();
-		Position javaRange = null;
-		while(it.hasNext()) {
-			javaRange = (Position)it.next();
-			if(javaRange.overlapsWith(javaOffset, javaLength))
-				count++;
-			if(count > 1)
-				return true;
-		}
-		return false;
-	}
-	
-	/**
-	 * Returns the Java positions for the given range in the Java document.
-	 * 
-	 * @param offset
-	 * @param length
-	 * @return
-	 */
-	public Position[] getJavaRanges(int offset, int length) {
-
-		List results = new ArrayList();
-		Iterator it = getJava2JspMap().keySet().iterator();
-		Position p = null;
-		while(it.hasNext()) {
-			p = (Position)it.next();
-			if(p.overlapsWith(offset, length))
-				results.add(p);
-		}
-		return (Position[])results.toArray(new Position[results.size()]);
-	}
-	
-	/**
-	 * Indicates if the java Offset falls within the user import ranges
-	 * @param javaOffset
-	 * @return true if the java Offset falls within the user import ranges, otherwise false
-	 */
-	public boolean isImport(int javaOffset) {
-		return isInRanges(javaOffset, fJava2JspImportsMap);
-	}
-
-	/**
-	 * Indicates if the java offset falls within the use bean ranges
-	 * @param javaOffset
-	 * @return true if the java offset falls within the user import ranges, otherwise false
-	 */
-	public boolean isUseBean(int javaOffset) {
-		return isInRanges(javaOffset, fJava2JspUseBeanMap);
-	}
-	
-	/**
-	 * @param javaPos
-	 * @return
-	 */
-	public boolean isIndirect(int javaOffset) {
-		return isInRanges(javaOffset, fJava2JspIndirectMap, false);
-	}
-	
-	private boolean isInRanges(int javaOffset, HashMap ranges) {
-		return isInRanges(javaOffset, ranges, true);
-	}
-	/**
-	 * Tells you if the given offset is included in any of the ranges (Positions) passed in.
-	 * includeEndOffset tells whether or not to include the end offset of each range in the test.
-	 * 
-	 * @param javaOffset
-	 * @param ranges
-	 * @param includeEndOffset
-	 * @return
-	 */
-	private boolean isInRanges(int javaOffset, HashMap ranges, boolean includeEndOffset) {
-		
-		Iterator it = ranges.keySet().iterator();
-		while(it.hasNext()) {
-			Position javaPos = (Position)it.next();
-			// also include the start and end offset (only if requested)
-			// https://bugs.eclipse.org/bugs/show_bug.cgi?id=81687
-			if(javaPos.includes(javaOffset) || (includeEndOffset && javaPos.offset+javaPos.length == javaOffset)) 
-				return true;
-		}
-		return false;
-	}
-
-	/**
-	 * Return the Java CompilationUnit associated with this JSPTranslation (this particular model)
-	 * When using methods on the CU, it's reccomended to synchronize on the CU for reliable
-	 * results.
-	 * 
-	 * The method is synchronized to ensure that <code>createComplilationUnit</code> doesn't
-	 * get entered 2 or more times simultaneously.  A side effect of that is 2 compilation units
-	 * can be created in the JavaModelManager, but we only hold one reference to it in 
-	 * fCompilationUnit.  This would lead to a leak since only one instance of the CU is
-	 * discarded in the <code>release()</code> method.
-	 * 
-	 * @return a CompilationUnit representation of this JSPTranslation
-	 */
-	public ICompilationUnit getCompilationUnit() {
-		synchronized(fLock) {
-			try {
-				if (fCompilationUnit == null) {
-					fCompilationUnit = createCompilationUnit();
-				}
-			}
-			catch (JavaModelException jme) {
-				if(DEBUG)
-					Logger.logException("error creating JSP working copy... ", jme); //$NON-NLS-1$
-			}
-		}
-		return fCompilationUnit;
-	}
-	
-	/**
-	 * Originally from ReconcileStepForJava.  Creates an ICompilationUnit from the contents of the JSP document.
-	 * 
-	 * @return an ICompilationUnit from the contents of the JSP document
-	 */
-	private ICompilationUnit createCompilationUnit() throws JavaModelException {
-		
-		IPackageFragment packageFragment = null;
-		IJavaElement je = getJavaProject();
-
-		if (je == null || !je.exists())
-			return null;
-
-		switch (je.getElementType()) {
-			case IJavaElement.PACKAGE_FRAGMENT :
-				je = je.getParent();
-			// fall through
-
-			case IJavaElement.PACKAGE_FRAGMENT_ROOT :
-				IPackageFragmentRoot packageFragmentRoot = (IPackageFragmentRoot) je;
-				packageFragment = packageFragmentRoot.getPackageFragment(IPackageFragmentRoot.DEFAULT_PACKAGEROOT_PATH);
-				break;
-
-			case IJavaElement.JAVA_PROJECT :
-				IJavaProject jProject = (IJavaProject) je;
-
-				if (!jProject.exists()) {
-					if(DEBUG) {
-						System.out.println("** Abort create working copy: cannot create working copy: JSP is not in a Java project"); //$NON-NLS-1$
-					}
-					return null;
-				}
-
-				packageFragmentRoot = null;
-				IPackageFragmentRoot[] packageFragmentRoots = jProject.getPackageFragmentRoots();
-				int i = 0;
-				while (i < packageFragmentRoots.length) {
-					if (!packageFragmentRoots[i].isArchive() && !packageFragmentRoots[i].isExternal()) {
-						packageFragmentRoot = packageFragmentRoots[i];
-						break;
-					}
-					i++;
-				}
-				if (packageFragmentRoot == null) {
-					if(DEBUG) {
-						System.out.println("** Abort create working copy: cannot create working copy: JSP is not in a Java project with source package fragment root"); //$NON-NLS-1$
-					}
-					return null;
-				}
-				packageFragment = packageFragmentRoot.getPackageFragment(IPackageFragmentRoot.DEFAULT_PACKAGEROOT_PATH);
-				break;
-
-			default :
-				return null;
-		}
-		
-		ICompilationUnit cu = packageFragment.getCompilationUnit(getClassname() + ".java").getWorkingCopy(getWorkingCopyOwner(), getProblemRequestor(), getProgressMonitor()); //$NON-NLS-1$
-		setContents(cu);
-
-		if(DEBUG) {
-			System.out.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"); //$NON-NLS-1$
-			System.out.println("(+) JSPTranslation ["+ this + "] finished creating CompilationUnit: " + cu); //$NON-NLS-1$ //$NON-NLS-2$
-			System.out.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"); //$NON-NLS-1$
-		}
-		
-		return cu;
-	}
-
-	/**
-	 * 
-	 * @return the problem requestor for the CompilationUnit in this JSPTranslation
-	 */
-	private JSPProblemRequestor getProblemRequestor() {
-	    return CompilationUnitHelper.getInstance().getProblemRequestor();
-	}
-
-	/**
-	 * 
-	 * @return the IWorkingCopyOwner for this CompilationUnit in this JSPTranslation
-	 */
-	public WorkingCopyOwner getWorkingCopyOwner() {
-	    return CompilationUnitHelper.getInstance().getWorkingCopyOwner();
-	}
-
-	/**
-	 * 
-	 * @return the progress monitor used in long operations (reconcile, creating the CompilationUnit...) in this JSPTranslation
-	 */
-	private IProgressMonitor getProgressMonitor() {
-		if (fProgressMonitor == null)
-			fProgressMonitor = new NullProgressMonitor();
-		return fProgressMonitor;
-	}
-
-	/**
-	 * 
-	 * @return the List of problems collected during reconcile of the compilation unit
-	 */
-	public List getProblems() {
-		List problems = getProblemRequestor().getCollectedProblems();
-		return problems != null ? problems : new ArrayList();
-	}
-	
-	/**
-	 * 
-	 * @return the List of problems collected during reconcile of the compilation unit
-	 */
-	public List getELProblems() {
-		return fELProblems != null ? fELProblems : new ArrayList();
-	}
-
-
-	/**
-	 * Must be set true in order for problems to be collected during reconcile.
-	 * If set false, problems will be ignored during reconcile.
-	 * @param collect
-	 */
-	public void setProblemCollectingActive(boolean collect) {
-		ICompilationUnit cu = getCompilationUnit();
-		if(cu != null) {	
-			getProblemRequestor().setIsActive(collect);
-		}
-	}
-
-	/**
-	 * Reconciles the compilation unit for this JSPTranslation
-	 */
-	public void reconcileCompilationUnit() {
-		ICompilationUnit cu = getCompilationUnit();
-		if (cu != null) {
-			try {
-				synchronized(cu) {
-					cu.makeConsistent(getProgressMonitor());
-					cu.reconcile(ICompilationUnit.NO_AST, true, getWorkingCopyOwner(), getProgressMonitor());
-				}
-			}
-			catch (JavaModelException e) {
-				Logger.logException(e);
-			}
-		}
-	}
-
-	/**
-	 * Set contents of the compilation unit to the translated jsp text.
-	 * @param the ICompilationUnit on which to set the buffer contents
-	 */
-	private void setContents(ICompilationUnit cu) {
-		if (cu == null)
-			return;
-		
-		synchronized (cu) {
-			IBuffer buffer;
-			try {
-				
-				buffer = cu.getBuffer();
-			}
-			catch (JavaModelException e) {
-				e.printStackTrace();
-				buffer = null;
-			}
-	
-			if (buffer != null)
-				buffer.setContents(getJavaText());
-		}
-	}
-
-	/**
-	 * Returns the IJavaElements corresponding to the JSP range in the JSP StructuredDocument
-	 * 
-	 * @param jspStart staring offset in the JSP document
-	 * @param jspEnd ending offset in the JSP document
-	 * @return IJavaElements corresponding to the JSP selection
-	 */
-	public IJavaElement[] getElementsFromJspRange(int jspStart, int jspEnd) {
-
-		int javaPositionStart = getJavaOffset(jspStart);
-		int javaPositionEnd = getJavaOffset(jspEnd);
-
-		IJavaElement[] EMTPY_RESULT_SET = new IJavaElement[0];
-		IJavaElement[] result = EMTPY_RESULT_SET;
-		try {
-			ICompilationUnit cu = getCompilationUnit();
-			if (cu != null && cu.getBuffer().getLength() > 0 && javaPositionStart > 0 && javaPositionEnd >= javaPositionStart) {
-				synchronized (cu) {
-					result = cu.codeSelect(javaPositionStart, javaPositionEnd - javaPositionStart);
-				}
-			}
-
-			if (result == null || result.length == 0)
-				return EMTPY_RESULT_SET;
-		}
-		catch (JavaModelException x) {
-			Logger.logException(x);
-		}
-
-		return result;
-	}
-
-	public String getClassname() {
-		return fClassname;
-	}
-
-	/**
-	 * Must discard compilation unit, or else they can leak in the JavaModelManager
-	 */
-	public void release() {
-		
-		synchronized(fLock) {
-			if(fCompilationUnit != null) {
-				try {
-					if(DEBUG) {
-						System.out.println("------------------------------------------------------------------"); //$NON-NLS-1$
-						System.out.println("(-) JSPTranslation [" + this +"] discarding CompilationUnit: " + fCompilationUnit); //$NON-NLS-1$ //$NON-NLS-2$
-						System.out.println("------------------------------------------------------------------"); //$NON-NLS-1$
-					}
-					fCompilationUnit.discardWorkingCopy();	
-				} 
-				catch (JavaModelException e) {
-					// we're done w/ it anyway
-				}
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslationAdapter.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslationAdapter.java
deleted file mode 100644
index 5ee8bb2..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslationAdapter.java
+++ /dev/null
@@ -1,236 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.java;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentListener;
-import org.eclipse.jst.jsp.core.internal.Logger;
-import org.eclipse.wst.sse.core.internal.provisional.INodeAdapter;
-import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-
-/**
- * An adapter for getting a JSPTranslation of the document.
- * 
- * @author pavery
- */
-public class JSPTranslationAdapter implements INodeAdapter, IDocumentListener {
-	
-	// for debugging
-	private static final boolean DEBUG;
-	static {
-		String value= Platform.getDebugOption("org.eclipse.jst.jsp.core/debug/jsptranslation"); //$NON-NLS-1$
-		DEBUG= value != null && value.equalsIgnoreCase("true"); //$NON-NLS-1$
-	}
-	
-	private IDocument fJspDocument = null;
-	private IDocument fJavaDocument = null;
-	private JSPTranslationExtension fJSPTranslation = null;
-	private boolean fDocumentIsDirty = true;
-	private IDOMModel fXMLModel;
-	private JSPTranslator fTranslator = null;
-	private NullProgressMonitor fTranslationMonitor = null;
-
-	public JSPTranslationAdapter(IDOMModel xmlModel) {
-		setXMLModel(xmlModel);
-		initializeJavaPlugins();
-	}
-
-	/**
-	 * Initialize the required Java Plugins
-	 */
-	protected void initializeJavaPlugins() {
-		JavaCore.getPlugin();
-	}
-
-	public boolean isAdapterForType(Object type) {
-		return type.equals(IJSPTranslation.class);
-	}
-
-	public void notifyChanged(INodeNotifier notifier, int eventType, Object changedFeature, Object oldValue, Object newValue, int pos) {
-		// nothing to do
-	}
-
-	/**
-	 * Automatically set through the setXMLModel(XMLModel)
-	 * 
-	 * @param doc
-	 */
-	private void setDocument(IDocument doc) {
-		if (fJspDocument != null)
-			fJspDocument.removeDocumentListener(this);
-		if (doc != null) {
-			doc.addDocumentListener(this);
-			fJspDocument = doc;
-		}
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.IDocumentListener#documentAboutToBeChanged(org.eclipse.jface.text.DocumentEvent)
-	 */
-	public void documentAboutToBeChanged(DocumentEvent event) {
-		// do nothing
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.IDocumentListener#documentChanged(org.eclipse.jface.text.DocumentEvent)
-	 */
-	public void documentChanged(DocumentEvent event) {
-		// mark translation for rebuilding
-		fDocumentIsDirty = true;
-	}
-
-	public void release() {
-		
-		if(fJspDocument != null)
-			fJspDocument.removeDocumentListener(this);
-		
-		if(fTranslationMonitor != null)
-			fTranslationMonitor.setCanceled(true);
-		
-		if(fJSPTranslation != null) {
-			
-			if(DEBUG)
-				System.out.println("JSPTranslationAdapter releasing:" + fJSPTranslation); //$NON-NLS-1$
-			
-			fJSPTranslation.release();
-		}
-	}
-
-	/**
-	 * Returns the JSPTranslation for this adapter.
-	 * 
-	 * @return a JSPTranslationExtension
-	 */
-	public synchronized JSPTranslationExtension getJSPTranslation() {
-		
-		if (fJSPTranslation == null || fDocumentIsDirty) {
-			JSPTranslator translator = null;
-			if (getXMLModel() != null && getXMLModel().getIndexedRegion(0) != null) {
-				translator = getTranslator((IDOMNode) getXMLModel().getIndexedRegion(0));
-				translator.translate();
-				StringBuffer javaContents = translator.getTranslation();
-				fJavaDocument = new Document(javaContents.toString());
-				
-			}
-			else {
-				// empty document case
-				translator = new JSPTranslator();
-				StringBuffer emptyContents = translator.getEmptyTranslation();
-				fJavaDocument = new Document(emptyContents.toString());
-			}
-			// it's going to be rebuilt, so we release it here
-			if(fJSPTranslation != null) {
-				if(DEBUG)
-					System.out.println("JSPTranslationAdapter releasing:" + fJSPTranslation); //$NON-NLS-1$
-				fJSPTranslation.release();
-			}
-			fJSPTranslation = new JSPTranslationExtension(getXMLModel().getStructuredDocument(), fJavaDocument, getJavaProject(), translator);
-			fDocumentIsDirty = false;
-		}
-		return fJSPTranslation;
-	}
-
-	/**
-	 * Returns the JSPTranslator for this adapter. If it's null, a new
-	 * translator is created with the xmlNode. Otherwise the
-	 * translator.reset(xmlNode) is called to reset the current local
-	 * translator.
-	 * 
-	 * @param xmlNode
-	 *            the first node of the JSP document to be translated
-	 * @return the JSPTranslator for this adapter (creates if null)
-	 */
-	private JSPTranslator getTranslator(IDOMNode xmlNode) {
-		if (fTranslator == null) {
-			fTranslationMonitor = new NullProgressMonitor();
-			fTranslator = new JSPTranslator();
-			fTranslator.reset(xmlNode, fTranslationMonitor);
-		}
-		else
-			fTranslator.reset(xmlNode, fTranslationMonitor);
-		return fTranslator;
-	}
-
-	/**
-	 * set the XMLModel for this adapter. Must be called.
-	 * 
-	 * @param xmlModel
-	 */
-	public void setXMLModel(IDOMModel xmlModel) {
-		fXMLModel = xmlModel;
-		setDocument(fXMLModel.getStructuredDocument());
-	}
-
-	/**
-	 * @return the XMLModel for this adapter.
-	 */
-	public IDOMModel getXMLModel() {
-		return fXMLModel;
-	}
-
-	/**
-	 * Gets (or creates via JavaCore) a JavaProject based on the location of
-	 * this adapter's XMLModel.  Returns null for non IFile based models.
-	 * 
-	 * @return the java project where
-	 */
-	public IJavaProject getJavaProject() {
-
-		IJavaProject javaProject = null;
-		try {
-			String baseLocation = getXMLModel().getBaseLocation();
-			// 20041129 (pa) the base location changed for xml model 
-			// because of FileBuffers, so this code had to be updated
-			// https://bugs.eclipse.org/bugs/show_bug.cgi?id=79686
-			IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-			IPath filePath = new Path(baseLocation);
-			IFile file = null;
-			IProject project = null;
-			if (filePath.segmentCount() > 1) {
-				file = root.getFile(filePath);
-			}
-			if (file != null) {
-				project = file.getProject();
-			}
-//			IFile[] files = ResourcesPlugin.getWorkspace().getRoot().findFilesForLocation(new Path(baseLocation));
-//			for (int i = 0; project == null && i < files.length; i++) {
-//				if (files[i].getType() != IResource.PROJECT) {
-//					project = files[i].getProject();
-//					break;
-//				}
-//			}
-			if(project != null) {
-				javaProject = JavaCore.create(project);
-			}
-		}
-		catch (Exception ex) {
-			if (getXMLModel() != null)
-				Logger.logException("(JSPTranslationAdapter) problem getting java project from the XMLModel's baseLocation > " + getXMLModel().getBaseLocation(), ex); //$NON-NLS-1$
-			else
-				Logger.logException("(JSPTranslationAdapter) problem getting java project", ex); //$NON-NLS-1$
-		}
-		return javaProject;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslationAdapterFactory.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslationAdapterFactory.java
deleted file mode 100644
index ab3a132..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslationAdapterFactory.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.java;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.sse.core.internal.provisional.AbstractAdapterFactory;
-import org.eclipse.wst.sse.core.internal.provisional.INodeAdapter;
-import org.eclipse.wst.sse.core.internal.provisional.INodeAdapterFactory;
-import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-
-/**
- * Factory for JSPTranslationAdapters.
- * 
- * @author pavery
- *  
- */
-public class JSPTranslationAdapterFactory extends AbstractAdapterFactory {
-
-	private JSPTranslationAdapter fAdapter = null;
-
-	// for debugging
-	private static final boolean DEBUG;
-	static {
-		String value= Platform.getDebugOption("org.eclipse.jst.jsp.core/debug/jsptranslation"); //$NON-NLS-1$
-		DEBUG= value != null && value.equalsIgnoreCase("true"); //$NON-NLS-1$
-	}
-	
-	public JSPTranslationAdapterFactory() {
-		super();
-	}
-
-	public INodeAdapterFactory copy() {
-		return new JSPTranslationAdapterFactory();
-	}
-
-	protected INodeAdapter createAdapter(INodeNotifier target) {
-		if (target instanceof IDOMNode && fAdapter == null) {
-			fAdapter = new JSPTranslationAdapter(((IDOMNode) target).getModel());
-			if(DEBUG) {
-				System.out.println("(+) JSPTranslationAdapterFactory [" + this + "] created adapter: " + fAdapter); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		}
-		return fAdapter;
-	}
-
-
-	public boolean isFactoryForType(Object type) {
-		return type.equals(IJSPTranslation.class);
-	}
-
-	public void release() {
-		if (fAdapter != null) {
-			if(DEBUG) {
-				System.out.println("(-) JSPTranslationAdapterFactory [" + this + "] releasing adapter: " + fAdapter); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-			fAdapter.release();
-		}
-		super.release();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslationExtension.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslationExtension.java
deleted file mode 100644
index 007befe..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslationExtension.java
+++ /dev/null
@@ -1,302 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.java;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jst.jsp.core.internal.Logger;
-import org.eclipse.text.edits.DeleteEdit;
-import org.eclipse.text.edits.InsertEdit;
-import org.eclipse.text.edits.MalformedTreeException;
-import org.eclipse.text.edits.MultiTextEdit;
-import org.eclipse.text.edits.ReplaceEdit;
-import org.eclipse.text.edits.TextEdit;
-
-
-/**
- * Adds the notion of IDocuments (jsp Document and java Document)
- * Used for TextEdit translation
- * @author pavery
- */
-public class JSPTranslationExtension extends JSPTranslation {
-	
-	// for debugging
-	private static final boolean DEBUG;
-	static {
-		String value= Platform.getDebugOption("org.eclipse.jst.jsp.core/debug/jsptranslation"); //$NON-NLS-1$
-		DEBUG= value != null && value.equalsIgnoreCase("true"); //$NON-NLS-1$
-	}
-	
-	// just a convenience data structure
-	// to keep track of java position deltas
-	private class PositionDelta {
-		
-		public boolean isDeleted = false;
-		public int preOffset = 0;
-		public int preLength = 0;
-		public int postOffset = 0;
-		public int postLength = 0;
-		
-		public PositionDelta(int preOffset, int preLength) {
-			this.preOffset = preOffset;
-			this.preLength = preLength;
-		}
-		public void setPostEditData(int postOffset, int postLength, boolean isDeleted) {
-			this.postOffset = postOffset;
-			this.postLength = postLength;
-			this.isDeleted = isDeleted;
-		}
-	}
-	
-	private IDocument fJspDocument = null;
-	private IDocument fJavaDocument = null;
-	
-	public JSPTranslationExtension(IDocument jspDocument, IDocument javaDocument, IJavaProject javaProj, JSPTranslator translator) {
-		super(javaProj, translator);
-		fJspDocument = jspDocument;
-		fJavaDocument = javaDocument;
-		
-		// make sure positions are added to Java and JSP documents
-		// this is necessary for text edits
-		addPositionsToDocuments();
-	}
-	
-	public IDocument getJspDocument() {
-		return fJspDocument;
-	}
-	
-	public IDocument getJavaDocument() {
-		return fJavaDocument;
-	}
-	
-	public String getJavaText() {
-		return getJavaDocument() != null ? getJavaDocument().get() : ""; //$NON-NLS-1$
-	}
-	
-	/**
-	 * Returns a corresponding TextEdit for the JSP file given a TextEdit for a Java file.
-	 * Note: This method actually applies the Java edit to the internal Java document.
-	 * 
-	 * @param javaEdit
-	 * @return the corresponding JSP edits (not applied to the document yet)
-	 */
-	public TextEdit getJspEdit(TextEdit javaEdit) {
-
-		if(javaEdit == null)
-			return null;
-		
-		List jspEdits = new ArrayList();
-
-		int offset = javaEdit.getOffset();
-		int length = javaEdit.getLength();
-		
-		if(javaEdit instanceof MultiTextEdit && javaEdit.getChildren().length > 0) {
-	
-			IRegion r = TextEdit.getCoverage(getAllEdits(javaEdit));
-			offset = r.getOffset();
-			length = r.getLength();
-		}
-		
-		// get java ranges that will be affected by the edit
-		Position[] javaPositions = getJavaRanges(offset, length);
-		
-		// record position data before the change
-		Position[] jspPositions = new Position[javaPositions.length];
-		PositionDelta[] deltas = new PositionDelta[javaPositions.length];
-		for(int i=0; i<javaPositions.length; i++) {
-			deltas[i] = new PositionDelta(javaPositions[i].offset, javaPositions[i].length);
-			// isIndirect means the position doesn't actually exist as exact text 
-			// mapping from java <-> jsp (eg. an import statement)
-			if(!isIndirect(javaPositions[i].offset))
-				jspPositions[i] = (Position)getJava2JspMap().get(javaPositions[i]);
-		}
-
-		if(DEBUG) {
-			System.out.println("================================================"); //$NON-NLS-1$
-			System.out.println("deltas:"); //$NON-NLS-1$
-			String javaText = getJavaText();
-			for(int i=0; i<deltas.length; i++) 
-				System.out.println("pos[" + deltas[i].preOffset + ":" + deltas[i].preLength + "]" + javaText.substring(deltas[i].preOffset, deltas[i].preOffset + deltas[i].preLength) ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			System.out.println("==============================================="); //$NON-NLS-1$
-		}
-		
-		// apply the edit to the java document
-		try {
-			javaEdit.apply(getJavaDocument());
-		} catch (MalformedTreeException e) {
-			Logger.logException(e);
-		} catch (BadLocationException e) {
-			Logger.logException(e);
-		}
-		// now at this point Java positions are unreliable since they were updated after applying java edit.
-		
-		String newJavaText = getJavaDocument().get();
-		if(DEBUG) 
-			System.out.println("java post format text:\n" + newJavaText); //$NON-NLS-1$
-		
-		// record post edit data
-		for(int i=0; i<javaPositions.length; i++)
-			deltas[i].setPostEditData(javaPositions[i].offset, javaPositions[i].length, javaPositions[i].isDeleted);
-		
-		// create appropriate text edits for deltas
-		Position jspPos = null;
-		String replaceText = ""; //$NON-NLS-1$
-		for(int i=0; i<deltas.length; i++) {
-			jspPos = jspPositions[i];
-			// can be null if it's an indirect mapping position
-			// or if something was added into java that was not originally in JSP (like a new import...)
-
-			if(jspPos != null) {
-				if(deltas[i].isDeleted) {
-					jspEdits.add(new DeleteEdit(jspPos.offset, jspPos.length));
-				}
-				else {
-					replaceText = newJavaText.substring(deltas[i].postOffset, deltas[i].postOffset + deltas[i].postLength);
-					jspEdits.add(new ReplaceEdit(jspPos.offset, jspPos.length, replaceText));
-				}
-				if(DEBUG) 
-					debugReplace(deltas, jspPos, replaceText, i);
-			}
-			else {
-				// the new Java text has no corresponding JSP position
-				// possible new import?
-				if(isImport(javaPositions[i].getOffset()) && replaceText.lastIndexOf("import ") != -1) { //$NON-NLS-1$
-					replaceText = newJavaText.substring(deltas[i].postOffset, deltas[i].postOffset + deltas[i].postLength);
-					String importText = replaceText.substring(replaceText.lastIndexOf("import "), replaceText.indexOf(";")); //$NON-NLS-1$ //$NON-NLS-2$
-					// evenutally need to check if it's XML-JSP
-					importText = "<%@page import=\"" + importText + "\" %>\n"; //$NON-NLS-1$ //$NON-NLS-2$
-					jspEdits.add(new InsertEdit(0, importText));
-				}
-			}
-		}
-		return createMultiTextEdit((TextEdit[])jspEdits.toArray(new TextEdit[jspEdits.size()]));
-	}
-	
-
-	/**
-	 * Combines an array of edits into one MultiTextEdit (with the appropriate coverage region)
-	 * @param edits
-	 * @return
-	 */
-	private TextEdit createMultiTextEdit(TextEdit[] edits) {
-		
-		if(edits.length == 0)
-			return new MultiTextEdit();
-			
-		IRegion region = TextEdit.getCoverage(edits);
-		MultiTextEdit multiEdit = new MultiTextEdit(region.getOffset(), region.getLength());
-		for (int i = 0; i < edits.length; i++) {
-			addToMultiEdit(edits[i], multiEdit);
-		}
-		return multiEdit;
-	}
-	
-	
-	private void addToMultiEdit(TextEdit edit, MultiTextEdit multiEdit) {
-		
-		// check for overlap here
-		// discard overlapping edits..
-		// possible exponential performance hit... need a better way...
-		TextEdit[] children = multiEdit.getChildren();
-		for (int i = 0; i < children.length; i++) {
-			if(children[i].covers(edit))
-				// don't add
-				return;
-		}
-		multiEdit.addChild(edit);
-	}
-	
-	
-	/**
-	 * @param translation
-	 */
-	private void addPositionsToDocuments() {
-		
-		// can be null if it's a NullJSPTranslation
-		if(getJavaDocument() != null && getJspDocument() != null) {
-
-			HashMap java2jsp = getJava2JspMap();
-			Iterator it = java2jsp.keySet().iterator();
-			Position javaPos = null;
-			while(it.hasNext()) {
-				javaPos =(Position)it.next();
-				try {
-					
-					fJavaDocument.addPosition(javaPos);
-					
-				} catch (BadLocationException e) {
-					if(DEBUG) {
-						System.out.println("tyring to add Java Position:[" + javaPos.offset + ":" + javaPos.length + "] to " + getJavaPath()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$					
-						//System.out.println("substring :[" + fJavaDocument.get().substring(javaPos.offset) + "]"); //$NON-NLS-1$ //$NON-NLS-2$
-						Logger.logException(e);
-					}
-				}
-				
-				try {
-					
-					fJspDocument.addPosition((Position)java2jsp.get(javaPos));
-					
-				} catch (BadLocationException e) {
-					if(DEBUG) {
-						System.out.println("tyring to add JSP Position:[" + ((Position)java2jsp.get(javaPos)).offset + ":" +((Position)java2jsp.get(javaPos)).length + "] to " + getJavaPath()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-						Logger.logException(e);
-					}
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Recursively gets all child edits
-	 * @param javaEdit
-	 * @return all child edits
-	 */
-	private TextEdit[] getAllEdits(TextEdit javaEdit) {
-		
-		List result = new ArrayList();
-		if(javaEdit instanceof MultiTextEdit) {
-			TextEdit[] children = javaEdit.getChildren();
-			for (int i = 0; i < children.length; i++) 
-				result.addAll(Arrays.asList(getAllEdits(children[i])));
-		}
-		else 
-			result.add(javaEdit);
-		return (TextEdit[])result.toArray(new TextEdit[result.size()]);
-	}
-
-	/**
-	 * @param deltas
-	 * @param jspPos
-	 * @param replaceText
-	 * @param jspText
-	 * @param i
-	 */
-	private void debugReplace(PositionDelta[] deltas, Position jspPos, String replaceText, int i) {
-		String jspChunk;
-		jspChunk = getJspDocument().get().substring(jspPos.offset, jspPos.offset + jspPos.length);
-		if(!deltas[i].isDeleted) {
-			System.out.println("replacing:"); //$NON-NLS-1$
-			System.out.println("jsp:[" + jspChunk + "]"); //$NON-NLS-1$ //$NON-NLS-2$
-			System.out.println("w/ :[" + replaceText + "]"); //$NON-NLS-1$ //$NON-NLS-2$
-			System.out.println("--------------------------------"); //$NON-NLS-1$
-		}
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslationUtil.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslationUtil.java
deleted file mode 100644
index 4bdb485..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslationUtil.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.java;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.text.edits.CopySourceEdit;
-import org.eclipse.text.edits.CopyTargetEdit;
-import org.eclipse.text.edits.DeleteEdit;
-import org.eclipse.text.edits.InsertEdit;
-import org.eclipse.text.edits.MoveSourceEdit;
-import org.eclipse.text.edits.MoveTargetEdit;
-import org.eclipse.text.edits.MultiTextEdit;
-import org.eclipse.text.edits.ReplaceEdit;
-import org.eclipse.text.edits.TextEdit;
-import org.eclipse.wst.sse.core.internal.provisional.IModelManager;
-import org.eclipse.wst.sse.core.internal.provisional.StructuredModelManager;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-
-public class JSPTranslationUtil {
-	protected IDocument fDocument = null;
-	protected JSPTranslationExtension fTranslation = null;
-
-	public JSPTranslationUtil(IDocument document) {
-		fDocument = document;
-	}
-
-	public TextEdit translateTextEdit(TextEdit textEdit) {
-		TextEdit translatedTextEdit = null;
-
-		int javaOffset = textEdit.getOffset();
-		int jspOffset = getTranslation().getJspOffset(textEdit.getOffset());
-		int length = textEdit.getLength();
-
-		if (textEdit instanceof MultiTextEdit) {
-			translatedTextEdit = new MultiTextEdit();
-			TextEdit[] children = ((MultiTextEdit) textEdit).getChildren();
-			for (int i = 0; i < children.length; i++) {
-				TextEdit translatedChildTextEdit = translateTextEdit(children[i]);
-				if (translatedChildTextEdit != null)
-					((MultiTextEdit) translatedTextEdit).addChild(translatedChildTextEdit);
-			}
-		} else if (textEdit instanceof ReplaceEdit) {
-			if (jspOffset == -1)
-				return null;
-
-			if (!getTranslation().javaSpansMultipleJspPartitions(javaOffset, length))
-				translatedTextEdit = new ReplaceEdit(jspOffset, length, ((ReplaceEdit) textEdit).getText());
-		} else if (textEdit instanceof InsertEdit) {
-			translatedTextEdit = new InsertEdit(jspOffset, ((InsertEdit) textEdit).getText());
-		} else if (textEdit instanceof DeleteEdit) {
-			translatedTextEdit = new DeleteEdit(jspOffset, length);
-			TextEdit[] children = ((DeleteEdit) textEdit).getChildren();
-			for (int i = 0; i < children.length; i++) {
-				TextEdit translatedChildTextEdit = translateTextEdit(children[i]);
-				if (translatedChildTextEdit != null)
-					((DeleteEdit) translatedTextEdit).addChild(translatedChildTextEdit);
-			}
-		} else if (textEdit instanceof CopySourceEdit) {
-			translatedTextEdit = new CopySourceEdit(jspOffset, length);
-			((CopySourceEdit) translatedTextEdit).setTargetEdit(((CopySourceEdit) textEdit).getTargetEdit());
-			((CopySourceEdit) translatedTextEdit).setSourceModifier(((CopySourceEdit) textEdit).getSourceModifier());
-		} else if (textEdit instanceof CopyTargetEdit) {
-			translatedTextEdit = new CopyTargetEdit(jspOffset);
-			((CopyTargetEdit) textEdit).getSourceEdit().setTargetEdit((CopyTargetEdit) translatedTextEdit);
-		} else if (textEdit instanceof MoveSourceEdit) {
-			translatedTextEdit = new MoveSourceEdit(jspOffset, length);
-			((MoveSourceEdit) translatedTextEdit).setTargetEdit(((MoveSourceEdit) textEdit).getTargetEdit());
-		} else if (textEdit instanceof MoveTargetEdit) {
-			translatedTextEdit = new MoveTargetEdit(jspOffset);
-			((MoveTargetEdit) textEdit).getSourceEdit().setTargetEdit((MoveTargetEdit) translatedTextEdit);
-		} else {
-			System.out.println("Need to translate " + textEdit); //$NON-NLS-1$
-		}
-
-		return translatedTextEdit;
-	}
-
-	public JSPTranslationExtension getTranslation() {
-		if (fTranslation == null) {
-			IDOMModel xmlModel = (IDOMModel) getModelManager().getExistingModelForRead(fDocument);
-			try {
-				IDOMDocument xmlDoc = xmlModel.getDocument();
-
-				JSPTranslationAdapter translationAdapter = (JSPTranslationAdapter) xmlDoc.getAdapterFor(IJSPTranslation.class);
-				if (translationAdapter != null)
-					fTranslation = translationAdapter.getJSPTranslation();
-			} finally {
-				xmlModel.releaseFromRead();
-			}
-		}
-
-		return fTranslation;
-	}
-
-	public ICompilationUnit getCompilationUnit() {
-		return getTranslation().getCompilationUnit();
-	}
-
-	protected IModelManager getModelManager() {
-		return StructuredModelManager.getModelManager();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslator.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslator.java
deleted file mode 100644
index 9c3fc21..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslator.java
+++ /dev/null
@@ -1,2060 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.java;
-
-import java.io.BufferedInputStream;
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Stack;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.filebuffers.FileBuffers;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jst.jsp.core.internal.Logger;
-import org.eclipse.jst.jsp.core.internal.contentmodel.TaglibController;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.JSP12TLDNames;
-import org.eclipse.jst.jsp.core.internal.java.jspel.ASTExpression;
-import org.eclipse.jst.jsp.core.internal.java.jspel.ELGenerator;
-import org.eclipse.jst.jsp.core.internal.java.jspel.JSPELParser;
-import org.eclipse.jst.jsp.core.internal.java.jspel.ParseException;
-import org.eclipse.jst.jsp.core.internal.java.jspel.Token;
-import org.eclipse.jst.jsp.core.internal.regions.DOMJSPRegionContexts;
-import org.eclipse.jst.jsp.core.internal.taglib.TaglibHelper;
-import org.eclipse.jst.jsp.core.internal.taglib.TaglibHelperManager;
-import org.eclipse.jst.jsp.core.internal.taglib.TaglibVariable;
-import org.eclipse.wst.sse.core.internal.ltk.parser.BlockMarker;
-import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-import org.eclipse.wst.sse.core.internal.provisional.StructuredModelManager;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegionCollection;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegionContainer;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegionList;
-import org.eclipse.wst.sse.core.internal.util.StringUtils;
-import org.eclipse.wst.sse.core.internal.util.URIResolver;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMDocument;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMNode;
-import org.eclipse.wst.xml.core.internal.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.xml.core.internal.modelquery.ModelQueryUtil;
-import org.eclipse.wst.xml.core.internal.provisional.contentmodel.CMDocumentTracker;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-import org.eclipse.wst.xml.core.internal.regions.DOMRegionContext;
-
-/**
- * Translates a JSP document into a HttpServlet. Keeps two way mapping from
- * java translation to the original JSP source, which can be obtained through
- * getJava2JspRanges() and getJsp2JavaRanges().
- * 
- * @author pavery
- */
-public class JSPTranslator {
-	// for debugging
-	private static final boolean DEBUG;
-	static {
-		String value = Platform.getDebugOption("org.eclipse.jst.jsp.core/debug/jspjavamapping"); //$NON-NLS-1$
-		DEBUG = value != null && value.equalsIgnoreCase("true"); //$NON-NLS-1$
-	}
-
-	public static final String ENDL = "\n"; //$NON-NLS-1$
-
-	private String fClassHeader = "public class _JSPServlet extends "; //$NON-NLS-1$
-	private String fClassname = "_JSPServlet"; //$NON-NLS-1$
-
-	private String fServiceHeader = "public void _jspService(javax.servlet.http.HttpServletRequest request," + //$NON-NLS-1$
-				" javax.servlet.http.HttpServletResponse response)" + ENDL + //$NON-NLS-1$
-				"\t\tthrows java.io.IOException, javax.servlet.ServletException {" + ENDL + //$NON-NLS-1$
-				"javax.servlet.jsp.PageContext pageContext = null;" + ENDL + //$NON-NLS-1$
-				"javax.servlet.http.HttpSession session = null;" + ENDL + //$NON-NLS-1$
-				"javax.servlet.ServletContext application = null;" + ENDL + //$NON-NLS-1$
-				"javax.servlet.ServletConfig config = null;" + ENDL + //$NON-NLS-1$ 
-				"javax.servlet.jsp.JspWriter out = null;" + ENDL + //$NON-NLS-1$
-				"Object page = null;" + ENDL; //$NON-NLS-1$
-
-	private String fFooter = "}}"; //$NON-NLS-1$
-	private String fException = "Throwable exception = null;"; //$NON-NLS-1$
-	public static final String EXPRESSION_PREFIX = "out.print(\"\"+"; //$NON-NLS-1$
-	public static final String EXPRESSION_SUFFIX = ");"; //$NON-NLS-1$
-	private String fSuperclass = "javax.servlet.http.HttpServlet"; //$NON-NLS-1$
-
-	private String fTryCatchStart = ENDL + "try {" + ENDL; //$NON-NLS-1$
-	private String fTryCatchEnd = " } catch (java.lang.Exception e) {} " + ENDL; //$NON-NLS-1$
-
-	/** fSourcePosition = position in JSP source */
-	private int fSourcePosition = -1;
-	/** fRelativeOffest = offset in the buffer there the cursor is */
-	private int fRelativeOffset = -1;
-	/** fCursorPosition = offset in the translated java document */
-	private int fCursorPosition = -1;
-	/** some page directive attributes */
-	private boolean fIsErrorPage, fCursorInExpression = false;
-
-	/** user java code in body of the service method */
-	private StringBuffer fUserCode = new StringBuffer();
-	/** user EL Expression */
-	private StringBuffer fUserELExpressions = new StringBuffer();
-	/** user defined vars declared in the beginning of the class */
-	private StringBuffer fUserDeclarations = new StringBuffer();
-
-	/** user defined imports */
-	private StringBuffer fUserImports = new StringBuffer();
-
-	private StringBuffer fResult; // the final traslated java document
-	// string buffer
-	private StringBuffer fCursorOwner = null; // the buffer where the cursor
-	// is
-
-	private IDOMModel fStructuredModel = null;
-	private IStructuredDocument fStructuredDocument = null;
-	private ModelQuery fModelQuery = null;
-	// private XMLNode fPositionNode; // position in the DOM
-	private IStructuredDocumentRegion fCurrentNode;
-	private boolean fInCodeRegion = false; // flag for if cursor is in the
-	// current region being translated
-
-	/**
-	 * these constants are to keep track of whether the code in question is
-	 * embedded (JSP as an attribute or within comment tags) or is just
-	 * standard JSP code, or identifies if it's an expression
-	 */
-	protected final static int STANDARD_JSP = 0;
-	protected final static int EMBEDDED_JSP = 1;
-	protected final static int DECLARATION = 2;
-	protected final static int EXPRESSION = 4;
-	protected final static int SCRIPTLET = 8;
-
-	/** used to avoid infinite looping include files */
-	private Stack fIncludes = null;
-	/** mostly for helper classes, so they parse correctly */
-	private ArrayList fBlockMarkers = null;
-	/** use only one inclue helper per file location */
-	private HashMap fJSPIncludeHelperMap = null;
-	/**
-	 * for keeping track of offset in user buffers while document is being
-	 * built
-	 */
-	private int fOffsetInUserImports = 0;
-	private int fOffsetInUserDeclarations = 0;
-	private int fOffsetInUserCode = 0;
-
-	/** correlates ranges (positions) in java to ranges in jsp */
-	private HashMap fJava2JspRanges = new HashMap();
-
-	/**
-	 * map of ranges in fUserImports (relative to the start of the buffer) to
-	 * ranges in source JSP buffer.
-	 */
-	private HashMap fImportRanges = new HashMap();
-	/**
-	 * map of ranges in fUserCode (relative to the start of the buffer) to
-	 * ranges in source JSP buffer.
-	 */
-	private HashMap fCodeRanges = new HashMap();
-	/**
-	 * map of ranges in fUserDeclarations (relative to the start of the
-	 * buffer) to ranges in source JSP buffer.
-	 */
-	private HashMap fDeclarationRanges = new HashMap();
-
-	private HashMap fUseBeanRanges = new HashMap();
-	
-	private HashMap fUserELRanges = new HashMap();
-	
-	/**
-	 * ranges that don't directly map from java code to JSP code (eg.
-	 * <%@include file="included.jsp"%>
-	 */
-	private HashMap fIndirectRanges = new HashMap();
-
-	private IProgressMonitor fProgressMonitor = null;
-
-	/**
-	 * save JSP document text for later use may just want to read this from
-	 * the file or strucdtured document depending what is available
-	 */
-	private StringBuffer fJspTextBuffer = new StringBuffer();
-	
-	/**
-	 * JSP Expression Language Parser.
-	 */
-	private JSPELParser elParser = null;
-
-	private ArrayList fELProblems = new ArrayList();
-
-	/**
-	 * configure using an XMLNode
-	 * 
-	 * @param node
-	 * @param monitor
-	 */
-	private void configure(IDOMNode node, IProgressMonitor monitor) {
-
-		fProgressMonitor = monitor;
-		fStructuredModel = node.getModel();
-		// fPositionNode = node;
-
-		fModelQuery = ModelQueryUtil.getModelQuery(node.getOwnerDocument());
-		fStructuredDocument = fStructuredModel.getStructuredDocument();
-
-		String className = createClassname(node);
-		if (className.length() > 0) {
-			setClassname(className);
-			fClassHeader = "public class " + className + " extends "; //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}
-
-	/**
-	 * memory saving configure (no StructuredDocument in memory) currently
-	 * doesn't handle included files
-	 * 
-	 * @param jspFile
-	 * @param monitor
-	 */
-	private void configure(IFile jspFile, IProgressMonitor monitor) {
-		// when configured on a file
-		// fStructuredModel, fPositionNode, fModelQuery, fStructuredDocument
-		// are all null
-
-		fProgressMonitor = monitor;
-
-		String className = createClassname(jspFile);
-		if (className.length() > 0) {
-			setClassname(className);
-			fClassHeader = "public class " + className + " extends "; //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}
-
-	/**
-	 * Set the jsp text from an IFile
-	 * 
-	 * @param jspFile
-	 */
-	private void setJspText(IFile jspFile) {
-		try {
-			BufferedInputStream in = new BufferedInputStream(jspFile.getContents());
-			BufferedReader reader = new BufferedReader(new InputStreamReader(in));
-			String line = null;
-			while ((line = reader.readLine()) != null) {
-				fJspTextBuffer.append(line);
-				fJspTextBuffer.append(ENDL);
-			}
-			reader.close();
-		}
-		catch (CoreException e) {
-			Logger.logException(e);
-		}
-		catch (IOException e) {
-			Logger.logException(e);
-		}
-	}
-
-	/**
-	 * @param node
-	 * @return
-	 */
-	private String createClassname(IDOMNode node) {
-
-		String classname = ""; //$NON-NLS-1$
-		if (node != null) {
-			String base = node.getModel().getBaseLocation();
-			classname = JSP2ServletNameUtil.mangle(base);
-		}
-		return classname;
-	}
-
-	/**
-	 * @param jspFile
-	 * @return
-	 */
-	private String createClassname(IFile jspFile) {
-
-		String classname = ""; //$NON-NLS-1$
-		if (jspFile != null) {
-			classname = JSP2ServletNameUtil.mangle(jspFile.getFullPath().toString());
-		}
-		return classname;
-	}
-
-	public void setClassname(String classname) {
-		this.fClassname = classname;
-	}
-
-	public String getClassname() {
-		return this.fClassname != null ? this.fClassname : "GenericJspServlet"; //$NON-NLS-1$
-	}
-
-	/**
-	 * So that the JSPTranslator can be reused.
-	 */
-	public void reset(IDOMNode node, IProgressMonitor progress) {
-
-		// initialize some things on node
-		configure(node, progress);
-		reset();
-		// set the jsp text buffer
-		fJspTextBuffer.append(fStructuredDocument.get());
-	}
-
-	/**
-	 * conservative version (no StructuredDocument/Model)
-	 * 
-	 * @param jspFile
-	 * @param progress
-	 */
-	public void reset(IFile jspFile, IProgressMonitor progress) {
-
-		// initialize some things on node
-		configure(jspFile, progress);
-		reset();
-		// set the jsp text buffer
-		setJspText(jspFile);
-	}
-
-	/**
-	 * Reinitialize some fields
-	 */
-	private void reset() {
-
-		// reset progress monitor
-		if (fProgressMonitor != null)
-			fProgressMonitor.setCanceled(false);
-
-		// reinit fields
-		fSourcePosition = -1;
-		fRelativeOffset = -1;
-		fCursorPosition = -1;
-
-		fIsErrorPage = fCursorInExpression = false;
-
-		fUserCode = new StringBuffer();
-		fUserDeclarations = new StringBuffer();
-		fUserImports = new StringBuffer();
-		fUserELExpressions = new StringBuffer();
-
-		fResult = null;
-		fCursorOwner = null; // the buffer where the cursor is
-
-		fCurrentNode = null;
-		fInCodeRegion = false; // flag for if cursor is in the current region
-		// being translated
-
-		if (fIncludes != null)
-			fIncludes.clear();
-
-		fBlockMarkers = null;
-
-		fJSPIncludeHelperMap = null;
-
-		fOffsetInUserImports = 0;
-		fOffsetInUserDeclarations = 0;
-		fOffsetInUserCode = 0;
-
-		fJava2JspRanges.clear();
-		fImportRanges.clear();
-		fCodeRanges.clear();
-		fUseBeanRanges.clear();
-		fDeclarationRanges.clear();
-		fUserELRanges.clear();
-		fIndirectRanges.clear();
-
-		fJspTextBuffer = new StringBuffer();
-		
-		fELProblems = new ArrayList();
-		
-	}
-
-	/**
-	 * @return just the "shell" of a servlet, nothing contributed from the JSP
-	 *         doc
-	 */
-	public final StringBuffer getEmptyTranslation() {
-		reset();
-		buildResult();
-		return getTranslation();
-	}
-
-	/**
-	 * put the final java document together
-	 */
-	private final void buildResult() {
-		// to build the java document this is the order:
-		// 
-		// + user imports
-		// + class header
-		// [+ error page]
-		// + user declarations
-		// + service method header
-		// + try/catch start
-		// + user code
-		// + try/catch end
-		// + service method footer
-		fResult = new StringBuffer(fUserImports.length() + fClassHeader.length() + fUserDeclarations.length() + fServiceHeader.length() + fTryCatchStart.length() // try/catch
-					// start
-					+ fUserCode.length() + fTryCatchEnd.length() // try/catch
-					// end
-					+ fFooter.length());
-		int javaOffset = 0;
-
-		// updateRanges(fIndirectImports, javaOffset);
-		// user imports
-		append(fUserImports);
-		javaOffset += fUserImports.length();
-		// updateRanges(fImportRanges, javaOffset);
-
-		// class header
-		fResult.append(fClassHeader); //$NON-NLS-1$
-		javaOffset += fClassHeader.length();
-		fResult.append(fSuperclass + "{" + ENDL); //$NON-NLS-1$
-		javaOffset += fSuperclass.length() + 2;
-
-		updateRanges(fDeclarationRanges, javaOffset);
-		// user declarations
-		append(fUserDeclarations);
-		javaOffset += fUserDeclarations.length();
-		
-		updateRanges(fUserELRanges, javaOffset);
-		append(fUserELExpressions);
-		javaOffset += fUserELExpressions.length();
-
-		fResult.append(fServiceHeader);
-		javaOffset += fServiceHeader.length();
-		// error page
-		if (fIsErrorPage) {
-			fResult.append(fException);
-			javaOffset += fException.length();
-		}
-
-
-		fResult.append(fTryCatchStart);
-		javaOffset += fTryCatchStart.length();
-
-		updateRanges(fCodeRanges, javaOffset);
-
-		// user code
-		append(fUserCode);
-		javaOffset += fUserCode.length();
-
-
-		fResult.append(fTryCatchEnd);
-		javaOffset += fTryCatchEnd.length();
-
-		// footer
-		fResult.append(fFooter);
-		javaOffset += fFooter.length();
-
-		fJava2JspRanges.putAll(fImportRanges);
-		fJava2JspRanges.putAll(fDeclarationRanges);
-		fJava2JspRanges.putAll(fCodeRanges);
-		fJava2JspRanges.putAll(fUserELRanges);
-		
-	}
-
-	/**
-	 * @param javaRanges
-	 * @param offsetInJava
-	 */
-	private void updateRanges(HashMap rangeMap, int offsetInJava) {
-		// just need to update java ranges w/ the offset we now know
-		Iterator it = rangeMap.keySet().iterator();
-		while (it.hasNext())
-			((Position) it.next()).offset += offsetInJava;
-	}
-
-	/**
-	 * map of ranges (positions) in java document to ranges in jsp document
-	 * 
-	 * @return a map of java positions to jsp positions.
-	 */
-	public HashMap getJava2JspRanges() {
-		return fJava2JspRanges;
-	}
-
-	/**
-	 * map of ranges in jsp document to ranges in java document.
-	 * 
-	 * @return a map of jsp positions to java positions, or null if no
-	 *         translation has occured yet (the map hasn't been built).
-	 */
-	public HashMap getJsp2JavaRanges() {
-		if (fJava2JspRanges == null)
-			return null;
-		HashMap flipFlopped = new HashMap();
-		Iterator keys = fJava2JspRanges.keySet().iterator();
-		Object range = null;
-		while (keys.hasNext()) {
-			range = keys.next();
-			flipFlopped.put(fJava2JspRanges.get(range), range);
-		}
-		return flipFlopped;
-	}
-
-	public HashMap getJava2JspImportRanges() {
-		return fImportRanges;
-	}
-
-	public HashMap getJava2JspUseBeanRanges() {
-		return fUseBeanRanges;
-	}
-
-	public HashMap getJava2JspIndirectRanges() {
-		return fIndirectRanges;
-	}
-
-	/**
-	 * Adds to the jsp<->java map by default
-	 * 
-	 * @param value
-	 *            a comma delimited list of imports
-	 */
-	protected void addImports(String value) {
-		addImports(value, true);
-	}
-
-	/**
-	 * Pass in a comma delimited list of import values, appends each to the
-	 * final result buffer
-	 * 
-	 * @param value
-	 *            a comma delimited list of imports
-	 */
-	protected void addImports(String value, boolean addToMap) {
-		// https://bugs.eclipse.org/bugs/show_bug.cgi?id=81687
-		// added the "addToMap" parameter to exclude imports originating
-		// from included JSP files to be added to the jsp<->java mapping
-		StringTokenizer st = new StringTokenizer(value, ",", false); //$NON-NLS-1$
-		String tok = ""; //$NON-NLS-1$
-		// String appendage = ""; //$NON-NLS-1$
-		while (st.hasMoreTokens()) {
-			tok = st.nextToken();
-			appendImportToBuffer(tok, fCurrentNode, addToMap);
-		}
-	}
-
-	/**
-	 * /* keep track of cursor position inside the buffer /* appends buffer to
-	 * the final result buffer
-	 */
-	protected void append(StringBuffer buf) {
-		if (getCursorOwner() == buf) {
-			fCursorPosition = fResult.length() + getRelativeOffset();
-		}
-		fResult.append(buf.toString());
-	}
-
-	/**
-	 * Only valid after a configure(...), translate(...) or
-	 * translateFromFile(...) call
-	 * 
-	 * @return the current result (java translation) buffer
-	 */
-	public final StringBuffer getTranslation() {
-
-		if (DEBUG) {	
-			try {
-				Iterator it = fJava2JspRanges.keySet().iterator();
-				while (it.hasNext()) {
-					System.out.println("--------------------------------------------------------------"); //$NON-NLS-1$
-					Position java = (Position) it.next();
-					System.out.println("Java range:[" + java.offset + ":" + java.length + "]"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-					System.out.println("[" + fResult.toString().substring(java.offset, java.offset + java.length) + "]"); //$NON-NLS-1$ //$NON-NLS-2$
-					System.out.println("--------------------------------------------------------------"); //$NON-NLS-1$
-					System.out.println("|maps to...|"); //$NON-NLS-1$
-					System.out.println("=============================================================="); //$NON-NLS-1$
-					Position jsp = (Position) fJava2JspRanges.get(java);
-					System.out.println("JSP range:[" + jsp.offset + ":" + jsp.length + "]"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-					System.out.println("[" + fJspTextBuffer.toString().substring(jsp.offset, jsp.offset + jsp.length) + "]"); //$NON-NLS-1$ //$NON-NLS-2$
-					System.out.println("=============================================================="); //$NON-NLS-1$
-					System.out.println(""); //$NON-NLS-1$
-					System.out.println(""); //$NON-NLS-1$
-				}
-			}
-			catch(Exception e) {
-				e.printStackTrace();
-			}
-		}
-
-		return fResult;
-	}
-
-	/**
-	 * Only valid after a configure(...), translate(...) or
-	 * translateFromFile(...) call
-	 * 
-	 * @return the text in the JSP file
-	 */
-	public final String getJspText() {
-		return fJspTextBuffer.toString();
-	}
-	
-	protected void addTaglibVariables(String tagToAdd) {
-		IFile f = getFile();
-		if(f == null && f.exists()) 
-			return;
-		
-		TaglibHelper helper = TaglibHelperManager.getInstance().getTaglibHelper(f);
-		IStructuredDocumentRegion customTag = getCurrentNode();
-		TaglibVariable[] taglibVars = helper.getTaglibVariables(tagToAdd, getStructuredDocument(), customTag);
-		String decl = "";
-		for (int i = 0; i < taglibVars.length; i++) {
-			decl = taglibVars[i].getDeclarationString();
-			appendToBuffer(decl, fUserCode, false, fCurrentNode);
-		}
-	}
-	
-	private IFile getFile() {
-		IFile f = null;
-		IStructuredModel sModel = StructuredModelManager.getModelManager().getExistingModelForRead(getStructuredDocument());
-		try {
-			if(sModel != null) 
-				f = FileBuffers.getWorkspaceFileAtLocation(new Path(sModel.getBaseLocation()));
-		}
-		finally {
-			if(sModel != null)
-				sModel.releaseFromRead();
-		}
-		return f;
-	}
-
-	/*
-	 * used by inner helper class (XMLJSPRegionHelper, JSPIncludeRegionHelper)
-	 */
-	public List getBlockMarkers() {
-		if (fBlockMarkers == null)
-			fBlockMarkers = new ArrayList();
-		return fBlockMarkers;
-	}
-
-	/**
-	 * /* the main control loop for translating the document, driven by the
-	 * structuredDocument nodes
-	 */
-	public void translate() {
-		setCurrentNode(fStructuredDocument.getFirstStructuredDocumentRegion());
-
-		while (getCurrentNode() != null && !isCanceled()) {
-
-			// intercept HTML comment flat node
-			// also handles UNDEFINED (which is what CDATA comes in as)
-			// basically this part will handle any "embedded" JSP containers
-			if (getCurrentNode().getType() == DOMRegionContext.XML_COMMENT_TEXT || getCurrentNode().getType() == DOMRegionContext.XML_CDATA_TEXT || getCurrentNode().getType() == DOMRegionContext.UNDEFINED) {
-				translateXMLCommentNode(getCurrentNode());
-			}
-			else // iterate through each region in the flat node
-			{
-				translateRegionContainer(getCurrentNode(), STANDARD_JSP);
-			}
-			if (getCurrentNode() != null)
-				advanceNextNode();
-		}
-		buildResult();
-	}
-
-	protected void setDocumentContent(IDocument document, InputStream contentStream, String charset) {
-		Reader in = null;
-		try {
-			in = new BufferedReader(new InputStreamReader(contentStream, charset), 2048);
-			StringBuffer buffer = new StringBuffer(2048);
-			char[] readBuffer = new char[2048];
-			int n = in.read(readBuffer);
-			while (n > 0) {
-				buffer.append(readBuffer, 0, n);
-				n = in.read(readBuffer);
-			}
-			document.set(buffer.toString());
-		}
-		catch (IOException x) {
-			// ignore
-		}
-		finally {
-			if (in != null) {
-				try {
-					in.close();
-				}
-				catch (IOException x) {
-					// ignore
-				}
-			}
-		}
-	}
-
-	/**
-	 * 
-	 * @return the status of the translator's progrss monitor, false if the
-	 *         monitor is null
-	 */
-	private boolean isCanceled() {
-		return (fProgressMonitor == null) ? false : fProgressMonitor.isCanceled();
-	}
-
-	private void advanceNextNode() {
-		setCurrentNode(getCurrentNode().getNext());
-		if (getCurrentNode() != null)
-			setSourceReferencePoint();
-	}
-
-	private void setSourceReferencePoint() {
-		if (isJSP(getCurrentNode().getFirstRegion().getType())) {
-			Iterator it = getCurrentNode().getRegions().iterator();
-			ITextRegion r = null;
-			while (it.hasNext()) {
-				r = (ITextRegion) it.next();
-				if (r.getType() == DOMJSPRegionContexts.JSP_CONTENT || r.getType() == DOMRegionContext.XML_CONTENT)
-					break;
-				else if (r.getType() == DOMJSPRegionContexts.JSP_DIRECTIVE_NAME)
-					break;
-				else if (r.getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_VALUE && getCurrentNode().getFullText(r).trim().equals("import")) //$NON-NLS-1$
-					break;
-			}
-		}
-	}
-
-	/**
-	 * translates a region container (and XML JSP container, or <% JSP
-	 * container)
-	 */
-	protected void translateRegionContainer(ITextRegionCollection container, int JSPType) {
-
-		ITextRegionCollection containerRegion = container;
-		Iterator regions = containerRegion.getRegions().iterator();
-		ITextRegion region = null;
-		while (regions.hasNext()) {
-			region = (ITextRegion) regions.next();
-			String type = region.getType();
-			// PMR 91930
-			// CMVC 241869
-			// content assist was not showing up in JSP inside a javascript
-			// region
-			if (type == DOMRegionContext.BLOCK_TEXT) {
-				// check if it's nested jsp in a script tag...
-				if (region instanceof ITextRegionContainer) {
-					translateJSPNode(region, regions, type, EMBEDDED_JSP);
-				}
-				else {
-					// ////////////////////////////////////////////////////////////////////////////////
-					// THIS EMBEDDED JSP TEXT WILL COME OUT LATER WHEN
-					// PARTITIONING HAS
-					// SUPPORT FOR NESTED XML-JSP
-					// CMVC 241882
-					decodeScriptBlock(containerRegion.getFullText(region), containerRegion.getStartOffset());
-					// ////////////////////////////////////////////////////////////////////////////////
-				}
-			}
-			if (type != null && isJSP(type)) // <%, <%=, <%!, <%@
-			{
-				translateJSPNode(region, regions, type, JSPType);
-			}
-			else if (type != null && type == DOMRegionContext.XML_TAG_OPEN) {
-				translateXMLNode(containerRegion, regions);
-			}
-		}
-		// }
-	}
-
-	/*
-	 * ////////////////////////////////////////////////////////////////////////////////// **
-	 * TEMP WORKAROUND FOR CMVC 241882 Takes a String and blocks out
-	 * jsp:scriptlet, jsp:expression, and jsp:declaration @param blockText
-	 * @return
-	 */
-	private void decodeScriptBlock(String blockText, int startOfBlock) {
-		XMLJSPRegionHelper helper = new XMLJSPRegionHelper(this);
-		helper.addBlockMarker(new BlockMarker("jsp:scriptlet", null, DOMJSPRegionContexts.JSP_CONTENT, false)); //$NON-NLS-1$
-		helper.addBlockMarker(new BlockMarker("jsp:expression", null, DOMJSPRegionContexts.JSP_CONTENT, false)); //$NON-NLS-1$
-		helper.addBlockMarker(new BlockMarker("jsp:declaration", null, DOMJSPRegionContexts.JSP_CONTENT, false)); //$NON-NLS-1$
-		helper.addBlockMarker(new BlockMarker("jsp:directive.include", null, DOMJSPRegionContexts.JSP_CONTENT, false)); //$NON-NLS-1$
-		helper.addBlockMarker(new BlockMarker("jsp:directive.taglib", null, DOMJSPRegionContexts.JSP_CONTENT, false)); //$NON-NLS-1$
-		helper.reset(blockText, startOfBlock);
-		// force parse
-		helper.forceParse();
-		helper.writeToBuffers();
-	}
-
-	/*
-	 * returns string minus CDATA open and close text
-	 */
-	final public String stripCDATA(String text) {
-		String resultText = ""; //$NON-NLS-1$
-		String CDATA_OPEN = "<![CDATA["; //$NON-NLS-1$
-		String CDATA_CLOSE = "]]>"; //$NON-NLS-1$
-		int start = 0;
-		int end = text.length();
-		while (start < text.length()) {
-			if (text.indexOf(CDATA_OPEN, start) > -1) {
-				end = text.indexOf(CDATA_OPEN, start);
-				resultText += text.substring(start, end);
-				start = end + CDATA_OPEN.length();
-			}
-			else if (text.indexOf(CDATA_CLOSE, start) > -1) {
-				end = text.indexOf(CDATA_CLOSE, start);
-				resultText += text.substring(start, end);
-				start = end + CDATA_CLOSE.length();
-			}
-			else {
-				end = text.length();
-				resultText += text.substring(start, end);
-				break;
-			}
-		}
-		return resultText;
-	}
-
-	// END OF WORKAROUND CODE...
-	// /////////////////////////////////////////////////////////////////////////////////////
-	/**
-	 * determines if the type is a pure JSP type (not XML)
-	 */
-	protected boolean isJSP(String type) {
-		return ((type == DOMJSPRegionContexts.JSP_DIRECTIVE_OPEN || type == DOMJSPRegionContexts.JSP_EXPRESSION_OPEN || type == DOMJSPRegionContexts.JSP_DECLARATION_OPEN || type == DOMJSPRegionContexts.JSP_SCRIPTLET_OPEN || type == DOMJSPRegionContexts.JSP_CONTENT || type == DOMJSPRegionContexts.JSP_EL_OPEN) && type != DOMRegionContext.XML_TAG_OPEN);
-		// checking XML_TAG_OPEN so <jsp:directive.xxx/> gets treated like
-		// other XML jsp tags
-	}
-
-	/**
-	 * translates the various XMLJSP type nodes
-	 * 
-	 * @param regions
-	 *            the regions of the XMLNode
-	 */
-	protected void translateXMLNode(ITextRegionCollection container, Iterator regions) {
-		// contents must be valid XHTML, translate escaped CDATA into what it
-		// really is...
-		ITextRegion r = null;
-		if (regions.hasNext()) {
-			r = (ITextRegion) regions.next();
-			// <jsp:directive.xxx > comes in as this
-			if (r.getType() == DOMRegionContext.XML_TAG_NAME || r.getType() == DOMJSPRegionContexts.JSP_DIRECTIVE_NAME) 
-
-			{
-				String fullTagName = container.getFullText(r).trim();
-				if (fullTagName.indexOf(':') > -1) {
-					addTaglibVariables(fullTagName); // it may be a taglib
-				}
-				StringTokenizer st = new StringTokenizer(fullTagName, ":.", false); //$NON-NLS-1$
-				if (st.hasMoreTokens() && st.nextToken().equals("jsp")) //$NON-NLS-1$
-				{
-					if (st.hasMoreTokens()) {
-						String jspTagName = st.nextToken();
-						if (jspTagName.equals("useBean")) //$NON-NLS-1$
-						{
-							advanceNextNode(); // get the content
-							if (getCurrentNode() != null) {
-								translateUseBean(container); // 'regions'
-								// should be
-								// all the
-								// useBean
-								// attributes
-							}
-						}
-						else if (jspTagName.equals("scriptlet")) //$NON-NLS-1$
-						{
-							translateXMLJSPContent(SCRIPTLET);
-						}
-						else if (jspTagName.equals("expression")) //$NON-NLS-1$
-						{
-							translateXMLJSPContent(EXPRESSION);
-						}
-						else if (jspTagName.equals("declaration")) //$NON-NLS-1$
-						{
-							translateXMLJSPContent(DECLARATION);
-						}
-						else if (jspTagName.equals("directive")) //$NON-NLS-1$
-						{
-							if (st.hasMoreTokens()) {
-								String directiveName = st.nextToken();
-								if (directiveName.equals("taglib")) { //$NON-NLS-1$
-									handleTaglib();
-									return;
-								}
-								else if (directiveName.equals("include")) { //$NON-NLS-1$
-
-									String fileLocation = ""; //$NON-NLS-1$
-									String attrValue = ""; //$NON-NLS-1$
-
-									// skip to required "file" attribute,
-									// should be safe because
-									// "file" is the only attribute for the
-									// include directive
-									while (r != null && regions.hasNext() && !r.getType().equals(DOMRegionContext.XML_TAG_ATTRIBUTE_NAME)) {
-										r = (ITextRegion) regions.next();
-									}
-									attrValue = getAttributeValue(r, regions);
-									if (attrValue != null)
-										handleIncludeFile(fileLocation);
-								}
-								else if (directiveName.equals("page")) { //$NON-NLS-1$
-
-									// 20040702 commenting this out
-									// bad if currentNode is referenced after
-									// here w/ the current list
-									// see:
-									// https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=3035
-									// setCurrentNode(getCurrentNode().getNext());
-									if (getCurrentNode() != null) {
-										translatePageDirectiveAttributes(regions); // 'regions'
-										// are
-										// attributes
-										// for
-										// the
-										// directive
-									}
-								}
-							}
-						}
-						
-//						https://bugs.eclipse.org/bugs/show_bug.cgi?id=91281
-//						else if (jspTagName.equals("include")) { //$NON-NLS-1$
-							
-							// 
-//							// <jsp:include page="filename") />
-//							while (regions.hasNext()) {
-//								r = (ITextRegion) regions.next();
-//								if (r.getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_NAME && getCurrentNode().getText(r).equals("page")) { //$NON-NLS-1$
-//									String filename = getAttributeValue(r, regions);
-//									handleIncludeFile(filename);
-//									break;
-//								}
-//							}
-//						}
-						
-					}
-				}
-				else {
-					// tag name is not jsp
-					// handle embedded jsp attributes...
-					ITextRegion embedded = null;
-					Iterator attrRegions = null;
-					ITextRegion attrChunk = null;
-					while (regions.hasNext()) {
-						embedded = (ITextRegion) regions.next();
-						if (embedded instanceof ITextRegionContainer) {
-							// parse out container
-							attrRegions = ((ITextRegionContainer) embedded).getRegions().iterator();
-							while (attrRegions.hasNext()) {
-								attrChunk = (ITextRegion) attrRegions.next();
-								String type = attrChunk.getType();
-								// CMVC 263661, embedded JSP in attribute
-								// support
-								// only want to translate one time per
-								// embedded region
-								// so we only translate on the JSP open tags
-								// (not content)
-								if (type == DOMJSPRegionContexts.JSP_EXPRESSION_OPEN || type == DOMJSPRegionContexts.JSP_SCRIPTLET_OPEN || type == DOMJSPRegionContexts.JSP_DECLARATION_OPEN || type == DOMJSPRegionContexts.JSP_DIRECTIVE_OPEN || type == DOMJSPRegionContexts.JSP_EL_OPEN) {
-									// now call jsptranslate
-									// System.out.println("embedded jsp OPEN
-									// >>>> " +
-									// ((ITextRegionContainer)embedded).getText(attrChunk));
-									translateEmbeddedJSPInAttribute((ITextRegionContainer) embedded);
-								}
-							}
-						}
-					}
-				}
-			}
-		}
-	}
-
-	private void translateXMLJSPContent(int type) {
-		// <jsp:scriplet> is current StructuredDocumentRegion
-		
-		// <jsp:scriptlet>scriptlet
-		// content...</jsp:scriptlet>
-		
-		// https://bugs.eclipse.org/bugs/show_bug.cgi?id=93366
-		
-		// should actually be translating everything inbetween, which may 
-		// be more than one region
-		IStructuredDocumentRegion sdr = getCurrentNode().getNext();
-		StringBuffer content = new StringBuffer();
-		int start = sdr.getStartOffset();
-		int end = sdr.getEndOffset();
-		// read until </jsp:scriptlet>
-		while(sdr != null && sdr.getType() != DOMRegionContext.XML_TAG_NAME) {
-			content.append(sdr.getText());
-			end = sdr.getEndOffset();
-			sdr = sdr.getNext();
-		}
-		
-		switch(type) {
-			case SCRIPTLET:
-				translateScriptletString(content.toString(), getCurrentNode(), start, end);
-				break;
-			case EXPRESSION:
-				translateExpressionString(content.toString(), getCurrentNode(), start, end);
-				break;
-			case DECLARATION:
-				translateDeclarationString(content.toString(), getCurrentNode(), start, end);
-				break;
-		}
-		
-		advanceNextNode();
-	}
-
-	/**
-	 * goes through comment regions, checks if any are an embedded JSP
-	 * container if it finds one, it's sends the container into the
-	 * translation routine
-	 */
-	protected void translateXMLCommentNode(IStructuredDocumentRegion node) {
-		Iterator it = node.getRegions().iterator();
-		ITextRegion commentRegion = null;
-		while (it != null && it.hasNext()) {
-			commentRegion = (ITextRegion) it.next();
-			if (commentRegion instanceof ITextRegionContainer) {
-				translateRegionContainer((ITextRegionContainer) commentRegion, EMBEDDED_JSP); // it's
-				// embedded
-				// jsp...iterate
-				// regions...
-			}
-		}
-	}
-
-	/**
-	 * determines which type of JSP node to translate
-	 */
-	protected void translateJSPNode(ITextRegion region, Iterator regions, String type, int JSPType) {
-		if (type == DOMJSPRegionContexts.JSP_DIRECTIVE_OPEN && regions != null) {
-			translateDirective(regions);
-		}
-		else {
-			ITextRegionCollection contentRegion = null;
-			if (JSPType == STANDARD_JSP && (setCurrentNode(getCurrentNode().getNext())) != null) {
-				contentRegion = getCurrentNode();
-			}
-			else if (JSPType == EMBEDDED_JSP && region instanceof ITextRegionCollection) {
-				// CMVC 263661
-				translateEmbeddedJSPInBlock((ITextRegionCollection) region);
-				// ensure the rest of this method won't be called
-				contentRegion = null;
-			}
-			if (contentRegion != null) {
-				if (type == DOMJSPRegionContexts.JSP_EXPRESSION_OPEN) {
-					translateExpression(contentRegion);
-				}
-				else if (type == DOMJSPRegionContexts.JSP_DECLARATION_OPEN) {
-					translateDeclaration(contentRegion);
-				}
-				else if (type == DOMJSPRegionContexts.JSP_CONTENT || type == DOMJSPRegionContexts.JSP_SCRIPTLET_OPEN) {
-					translateScriptlet(contentRegion);
-				}
-			}
-			else {
-				// this is the case of an attribute w/ no region <p
-				// align="<%%>">
-				setCursorOwner(getJSPTypeForRegion(region));
-			}
-		}
- }
-
-	
-	private void translateEL(String elText, IStructuredDocumentRegion currentNode, int contentStart, int contentLength) {
-		if(null == elParser) {
-			elParser = JSPELParser.createParser(elText);
-		} else {
-			elParser.ReInit(elText);
-		}
-		
-		try {
-			ASTExpression expression = elParser.Expression();
-			ELGenerator gen = new ELGenerator();
-			gen.generate(expression, fUserELExpressions, fUserELRanges, this, currentNode, contentStart, contentLength);
-		} catch (ParseException e) {
-			Token curTok = e.currentToken;
-			int problemStartOffset;
-			int problemEndOffset;
-			Position pos = null;
-			problemStartOffset =  contentStart + curTok.beginColumn;
-			problemEndOffset = contentStart + curTok.endColumn;
-			
-			pos = new Position(problemStartOffset, problemEndOffset - problemStartOffset + 1);
-			fELProblems.add(new ELProblem(pos, e.getLocalizedMessage()));
-		}
-	}
-
-	/**
-	 * Pass the ITextRegionCollection which is the embedded region
-	 * 
-	 * @param iterator
-	 */
-	private void translateEmbeddedJSPInBlock(ITextRegionCollection collection) {
-		Iterator regions = collection.getRegions().iterator();
-		ITextRegion region = null;
-		while (regions.hasNext()) {
-			region = (ITextRegion) regions.next();
-			if (isJSP(region.getType()))
-				break;
-			region = null;
-		}
-		if (region != null) {
-			translateEmbeddedJSPInAttribute(collection);
-		}
-	}
-
-	/*
-	 * for example: <a href="index.jsp?p=<%=abc%>b=<%=xyz%>">abc</a>
-	 */
-	private void translateEmbeddedJSPInAttribute(ITextRegionCollection embeddedContainer) {
-		// THIS METHOD IS A FIX FOR CMVC 263661 (jsp embedded in attribute
-		// regions)
-
-		// loop all regions
-		ITextRegionList embeddedRegions = embeddedContainer.getRegions();
-		ITextRegion delim = null;
-		ITextRegion content = null;
-		String type = null;
-		for (int i = 0; i < embeddedRegions.size(); i++) {
-
-			// possible delimiter, check later
-			delim = embeddedRegions.get(i);
-			type = delim.getType();
-
-			// check next region to see if it's content
-			if (i + 1 < embeddedRegions.size()) {
-				String regionType = embeddedRegions.get(i + 1).getType();
-				if (regionType == DOMJSPRegionContexts.JSP_CONTENT || regionType == DOMJSPRegionContexts.JSP_EL_CONTENT)
-					content = embeddedRegions.get(i + 1);
-				
-			}
-
-			if (content != null) {
-				int contentStart = embeddedContainer.getStartOffset(content);
-				int rStart = fCurrentNode.getStartOffset() + contentStart;
-				int rEnd = fCurrentNode.getStartOffset() + embeddedContainer.getEndOffset(content);
-
-				boolean inThisRegion = rStart <= fSourcePosition && rEnd >= fSourcePosition;
-				// int jspPositionStart = fCurrentNode.getStartOffset() +
-				// contentStart;
-
-				if (type == DOMJSPRegionContexts.JSP_EXPRESSION_OPEN) {
-					fLastJSPType = EXPRESSION;
-					translateExpressionString(embeddedContainer.getText(content), fCurrentNode, contentStart, content.getLength());
-				}
-				else if (type == DOMJSPRegionContexts.JSP_SCRIPTLET_OPEN) {
-					fLastJSPType = SCRIPTLET;
-					translateScriptletString(embeddedContainer.getText(content), fCurrentNode, contentStart, content.getLength());
-				}
-				else if (type == DOMJSPRegionContexts.JSP_DECLARATION_OPEN) {
-					fLastJSPType = DECLARATION;
-					translateDeclarationString(embeddedContainer.getText(content), fCurrentNode, contentStart, content.getLength());
-				} else if (type == DOMJSPRegionContexts.JSP_EL_OPEN) {
-					fLastJSPType = EXPRESSION;
-					translateEL(embeddedContainer.getText(content), fCurrentNode, contentStart, content.getLength());
-				}
-
-				// calculate relative offset in buffer
-				if (inThisRegion) {
-					setCursorOwner(fLastJSPType);
-					int currentBufferLength = getCursorOwner().length();
-					setRelativeOffset((fSourcePosition - contentStart) + currentBufferLength);
-					if (fLastJSPType == EXPRESSION) {
-						// if an expression, add then length of the enclosing
-						// paren..
-						setCursorInExpression(true);
-						setRelativeOffset(getRelativeOffset() + EXPRESSION_PREFIX.length());
-					}
-				}
-			}
-			else {
-				type = null;
-				content = null;
-			}
-		}
-	}
-
-	private int fLastJSPType = SCRIPTLET;
-
-	/**
-	 * JSPType is only used internally in this class to describe tye type of
-	 * region to be translated
-	 * 
-	 * @param region
-	 * @return int
-	 */
-	private int getJSPTypeForRegion(ITextRegion region) {
-		String regionType = region.getType();
-		int type = SCRIPTLET;
-		if (regionType == DOMJSPRegionContexts.JSP_SCRIPTLET_OPEN)
-			type = SCRIPTLET;
-		else if (regionType == DOMJSPRegionContexts.JSP_EXPRESSION_OPEN)
-			type = EXPRESSION;
-		else if (regionType == DOMJSPRegionContexts.JSP_DECLARATION_OPEN)
-			type = DECLARATION;
-		else if (regionType == DOMJSPRegionContexts.JSP_CONTENT)
-			type = fLastJSPType;
-		// remember the last type, in case the next type that comes in is
-		// JSP_CONTENT
-		fLastJSPType = type;
-		return type;
-	}
-
-	/**
-	 * /* <%@ %> /* need to pass in the directive tag region
-	 */
-	protected void translateDirective(Iterator regions) {
-		ITextRegion r = null;
-		String regionText, attrValue = ""; //$NON-NLS-1$
-		while (regions.hasNext() && (r = (ITextRegion) regions.next()) != null && r.getType() == DOMJSPRegionContexts.JSP_DIRECTIVE_NAME) { // could
-			// be
-			// XML_CONTENT
-			// =
-			// "",
-			// skips
-			// attrs?
-			regionText = getCurrentNode().getText(r);
-			if (regionText.indexOf("taglib") > -1) { //$NON-NLS-1$
-				// add custom tag block markers here
-				handleTaglib();
-				return;
-			}
-			else if (regionText.equals("include")) { //$NON-NLS-1$
-				String fileLocation = ""; //$NON-NLS-1$
-				// CMVC 258311
-				// PMR 18368, B663
-				// skip to required "file" attribute, should be safe because
-				// "file" is the only attribute for the include directive
-				while (r != null && regions.hasNext() && !r.getType().equals(DOMRegionContext.XML_TAG_ATTRIBUTE_NAME)) {
-					r = (ITextRegion) regions.next();
-				}
-				fileLocation = getAttributeValue(r, regions);
-				if (attrValue != null)
-					handleIncludeFile(fileLocation);
-			}
-			else if (regionText.indexOf("page") > -1) { //$NON-NLS-1$
-				translatePageDirectiveAttributes(regions);
-			}
-		}
-	}
-
-	/*
-	 * This method should ideally only be called once per run through
-	 * JSPTranslator This is intended for use by inner helper classes that
-	 * need to add block markers to their own parsers. This method only adds
-	 * markers that came from <@taglib> directives, (not <@include>), since
-	 * include file taglibs are handled on the fly when they are encountered. *
-	 * @param regions
-	 */
-	protected void handleTaglib() {
-		// get/create TLDCMDocument
-		TLDCMDocumentManager mgr = TaglibController.getTLDCMDocumentManager(fStructuredDocument);
-		if (mgr != null) {
-			List trackers = mgr.getCMDocumentTrackers(getCurrentNode().getEnd());
-			Iterator it = trackers.iterator();
-			CMDocumentTracker tracker = null;
-			Iterator taglibRegions = null;
-			IStructuredDocumentRegion sdRegion = null;
-			ITextRegion r = null;
-			while (it.hasNext()) {
-				tracker = (CMDocumentTracker) it.next();
-				sdRegion = tracker.getStructuredDocumentRegion();
-				// since may be call from another thread (like a background job)
-				// this check is to be safer
-				if(sdRegion != null && !sdRegion.isDeleted()) {
-					taglibRegions = sdRegion.getRegions().iterator();
-					while (sdRegion != null && !sdRegion.isDeleted() && taglibRegions.hasNext()) {
-						r = (ITextRegion) taglibRegions.next();
-						if (r.getType().equals(DOMJSPRegionContexts.JSP_DIRECTIVE_NAME)) {
-							if (sdRegion.getText(r).equals(JSP12TLDNames.TAGLIB)) {
-								addBlockMarkers(tracker.getDocument());
-							}
-						}
-					}
-				}
-			}
-		}
-	}
-
-	/*
-	 * adds block markers to JSPTranslator's block marker list for all
-	 * elements in doc @param doc
-	 */
-	protected void addBlockMarkers(CMDocument doc) {
-		if (doc.getElements().getLength() > 0) {
-			Iterator elements = doc.getElements().iterator();
-			CMNode node = null;
-			while (elements.hasNext()) {
-				node = (CMNode) elements.next();
-				getBlockMarkers().add(new BlockMarker(node.getNodeName(), null, DOMJSPRegionContexts.JSP_CONTENT, true));
-			}
-		}
-	}
-
-	/**
-	 * If r is an attribute name region, this method will safely return the
-	 * value for that attribute.
-	 * 
-	 * @param r
-	 * @param remainingRegions
-	 * @return the value for the attribute name (r), or null if isn't one
-	 */
-	protected String getAttributeValue(ITextRegion r, Iterator remainingRegions) {
-		if (r.getType().equals(DOMRegionContext.XML_TAG_ATTRIBUTE_NAME)) {
-			if (remainingRegions.hasNext() && (r = (ITextRegion) remainingRegions.next()) != null && r.getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_EQUALS) {
-				if (remainingRegions.hasNext() && (r = (ITextRegion) remainingRegions.next()) != null && r.getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_VALUE) {
-					// handle include for the filename
-					return StringUtils.stripQuotes(getCurrentNode().getText(r));
-				}
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * takes an emnumeration of the attributes of a directive tag
-	 */
-	protected void translatePageDirectiveAttributes(Iterator regions) {
-		ITextRegion r = null;
-		String attrName, attrValue;
-		// iterate all attributes
-		while (regions.hasNext() && (r = (ITextRegion) regions.next()) != null && r.getType() != DOMJSPRegionContexts.JSP_CLOSE) {
-			attrName = attrValue = null;
-			if (r.getType().equals(DOMRegionContext.XML_TAG_ATTRIBUTE_NAME)) {
-
-				attrName = getCurrentNode().getText(r).trim();
-				if (attrName.length() > 0) {
-					if (regions.hasNext() && (r = (ITextRegion) regions.next()) != null && r.getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_EQUALS) {
-						if (regions.hasNext() && (r = (ITextRegion) regions.next()) != null && r.getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_VALUE) {
-
-							attrValue = StringUtils.strip(getCurrentNode().getText(r));
-						}
-						// has equals, but no value?
-					}
-					setDirectiveAttribute(attrName, attrValue);
-				}
-			}
-		}
-	}
-
-	/**
-	 * sets the appropriate page directive attribute
-	 */
-	protected void setDirectiveAttribute(String attrName, String attrValue) {
-		if (attrValue == null)
-			return; // uses default (if there was one)
-		if (attrName.equals("extends")) //$NON-NLS-1$
-		{
-			fSuperclass = attrValue;
-		}
-		else if (attrName.equals("import")) //$NON-NLS-1$
-		{
-			addImports(attrValue);
-		}
-		else if (attrName.equals("session")) //$NON-NLS-1$
-		{
-			// fSession = ("true".equalsIgnoreCase(attrValue)); //$NON-NLS-1$
-		}
-		else if (attrName.equals("buffer")) //$NON-NLS-1$
-		{
-			// ignore for now
-		}
-		else if (attrName.equals("autoFlush")) //$NON-NLS-1$
-		{
-			// ignore for now
-		}
-		else if (attrName.equals("isThreadSafe")) //$NON-NLS-1$
-		{
-			// fThreadSafe = "true".equalsIgnoreCase(attrValue); //$NON-NLS-1$
-		}
-		else if (attrName.equals("isErrorPage")) //$NON-NLS-1$
-		{
-			fIsErrorPage = Boolean.valueOf(attrValue).booleanValue();
-		}
-	}
-
-	protected void handleIncludeFile(String filename) {
-		if (filename != null) {
-			String fileLocation = null;
-			if (getResolver() != null) {
-				fileLocation = (getIncludes().empty()) ? getResolver().getLocationByURI(StringUtils.strip(filename)) : getResolver().getLocationByURI(StringUtils.strip(filename), (String) getIncludes().peek());
-			}
-			else {
-				// shouldn't happen
-				fileLocation = StringUtils.strip(filename);
-			}
-			// hopefully, a resolver is present and has returned a canonical
-			// file path
-			if (!getIncludes().contains(fileLocation) && getBaseLocation() != null && !fileLocation.equals(getBaseLocation())) {
-				getIncludes().push(fileLocation);
-				JSPIncludeRegionHelper helper = getIncludesHelper(fileLocation);
-				helper.parse(fileLocation);
-				helper.writeToBuffers();
-				getIncludes().pop();
-			}
-		}
-	}
-
-	/*
-	 * one helper per fileLocation
-	 */
-	protected JSPIncludeRegionHelper getIncludesHelper(String fileLocation) {
-		// lazy creation
-		if (fJSPIncludeHelperMap == null) {
-			fJSPIncludeHelperMap = new HashMap();
-		}
-		JSPIncludeRegionHelper helper = (JSPIncludeRegionHelper) fJSPIncludeHelperMap.get(fileLocation);
-		if (helper == null) {
-			helper = new JSPIncludeRegionHelper(this);
-			fJSPIncludeHelperMap.put(fileLocation, helper);
-		}
-		return helper;
-	}
-
-	private URIResolver getResolver() {
-		return (fStructuredModel != null) ? fStructuredModel.getResolver() : null;
-	}
-
-	/**
-	 * 
-	 * @return java.lang.String
-	 */
-	private String getBaseLocation() {
-		if (getResolver() == null)
-			return null;
-		return getResolver().getFileBaseLocation();
-	}
-
-	private Stack getIncludes() {
-		if (fIncludes == null)
-			fIncludes = new Stack();
-		return fIncludes;
-	}
-
-	protected void translateExpressionString(String newText, ITextRegionCollection embeddedContainer, int jspPositionStart, int jspPositionLength) {
-		appendToBuffer(EXPRESSION_PREFIX, fUserCode, false, embeddedContainer);
-		appendToBuffer(newText, fUserCode, true, embeddedContainer, jspPositionStart, jspPositionLength);
-		appendToBuffer(EXPRESSION_SUFFIX, fUserCode, false, embeddedContainer);
-	}
-
-	protected void translateDeclarationString(String newText, ITextRegionCollection embeddedContainer, int jspPositionStart, int jspPositionLength) {
-		appendToBuffer(newText, fUserDeclarations, true, embeddedContainer, jspPositionStart, jspPositionLength);
-		appendToBuffer(ENDL, fUserDeclarations, false, embeddedContainer);
-	}
-
-	/**
-	 * used by XMLJSPRegionHelper for included JSP files
-	 * 
-	 * @param newText
-	 * @param embeddedContainer
-	 * @param jspPositionStart
-	 * @param jspPositionLength
-	 */
-	protected void translateScriptletString(String newText, ITextRegionCollection embeddedContainer, int jspPositionStart, int jspPositionLength) {
-		appendToBuffer(newText, fUserCode, true, embeddedContainer, jspPositionStart, jspPositionLength);
-	}
-
-	// the following 3 methods determine the cursor position
-	// <%= %>
-	protected void translateExpression(ITextRegionCollection region) {
-		String newText = getUnescapedRegionText(region, EXPRESSION);
-		appendToBuffer(EXPRESSION_PREFIX, fUserCode, false, fCurrentNode);
-		appendToBuffer(newText, fUserCode, true, fCurrentNode);
-		appendToBuffer(EXPRESSION_SUFFIX, fUserCode, false, fCurrentNode);
-	}
-
-	//
-	// <%! %>
-	protected void translateDeclaration(ITextRegionCollection region) {
-		String newText = getUnescapedRegionText(region, DECLARATION);
-		appendToBuffer(newText, fUserDeclarations, true, fCurrentNode);
-		appendToBuffer(ENDL, fUserDeclarations, false, fCurrentNode);
-	}
-
-	//
-	// <% %>
-	protected void translateScriptlet(ITextRegionCollection region) {
-		String newText = getUnescapedRegionText(region, SCRIPTLET);
-		appendToBuffer(newText, fUserCode, true, fCurrentNode);
-	}
-
-	/**
-	 * Append using a region, probably indirect mapping (eg. <%@page
-	 * include=""%>)
-	 * 
-	 * @param newText
-	 * @param buffer
-	 * @param addToMap
-	 * @param jspReferenceRegion
-	 */
-	private void appendToBuffer(String newText, StringBuffer buffer, boolean addToMap, ITextRegionCollection jspReferenceRegion) {
-		int start = 0, length = 0;
-		if (jspReferenceRegion != null) {
-			start = jspReferenceRegion.getStartOffset();
-			length = jspReferenceRegion.getLength();
-		}
-		appendToBuffer(newText, buffer, addToMap, jspReferenceRegion, start, length, false);
-	}
-
-	private void appendToBuffer(String newText, StringBuffer buffer, boolean addToMap, ITextRegionCollection jspReferenceRegion, int jspPositionStart, int jspPositionLength) {
-		appendToBuffer(newText, buffer, addToMap, jspReferenceRegion, jspPositionStart, jspPositionLength, true);
-	}
-
-	/**
-	 * Adds newText to the buffer passed in, and adds to translation mapping
-	 * as specified by the addToMap flag. some special cases to consider (that
-	 * may be affected by changes to this method): included files scriplets in
-	 * an attribute value refactoring
-	 * 
-	 * @param newText
-	 * @param buffer
-	 * @param addToMap
-	 */
-	private void appendToBuffer(String newText, StringBuffer buffer, boolean addToMap, ITextRegionCollection jspReferenceRegion, int jspPositionStart, int jspPositionLength, boolean isIndirect) {
-		
-		int origNewTextLength = newText.length();
-		
-		// nothing to append
-		if (jspReferenceRegion == null)
-			return;
-
-		// add a newline so translation looks cleaner
-		if (!newText.endsWith(ENDL))
-			newText += ENDL;
-
-		if (buffer == fUserCode) {
-			buffer.append(newText);
-			if (addToMap) {
-				if (isUsebeanTag(jspReferenceRegion)) {
-					try {
-						// requires special mapping
-						appendUseBeanToBuffer(newText, jspReferenceRegion, isIndirect);
-					}
-					catch (Exception e) {
-						// still working out kinks
-						Logger.logException(e);
-					}
-				}
-				else {
-					// all other cases
-					Position javaRange = new Position(fOffsetInUserCode, origNewTextLength);
-					Position jspRange = new Position(jspPositionStart, jspPositionLength);
-
-					fCodeRanges.put(javaRange, jspRange);
-					if (isIndirect)
-						fIndirectRanges.put(javaRange, jspRange);
-				}
-			}
-			fOffsetInUserCode += newText.length();
-		}
-		else if (buffer == fUserDeclarations) {
-			buffer.append(newText);
-			if (addToMap) {
-				Position javaRange = new Position(fOffsetInUserDeclarations, newText.length());
-				Position jspRange = new Position(jspPositionStart, jspPositionLength);
-
-				fDeclarationRanges.put(javaRange, jspRange);
-				if (isIndirect)
-					fIndirectRanges.put(javaRange, jspRange);
-			}
-			fOffsetInUserDeclarations += newText.length();
-		}
-	}
-
-	/**
-	 * 
-	 * @param jspReferenceRegion
-	 * @return
-	 */
-	private boolean isUsebeanTag(ITextRegionCollection jspReferenceRegion) {
-		ITextRegionList regions = jspReferenceRegion.getRegions();
-		ITextRegion r = null;
-		boolean isUseBean = false;
-		for (int i = 0; i < regions.size(); i++) {
-			r = regions.get(i);
-			if (r.getType() == DOMRegionContext.XML_TAG_NAME && jspReferenceRegion.getText(r).equals("jsp:useBean")) { //$NON-NLS-1$
-				isUseBean = true;
-				break;
-			}
-		}
-		return isUseBean;
-	}
-
-	/**
-	 * @param importName
-	 *            should be just the package plus the type eg. java.util.List
-	 *            or java.util.*
-	 * @param jspReferenceRegion
-	 *            should be the <%@ page import = "java.util.List"%> region
-	 * @param addToMap
-	 */
-	private void appendImportToBuffer(String importName, ITextRegionCollection jspReferenceRegion, boolean addToMap) {
-		String javaImportString = "import " + importName + ";" + ENDL; //$NON-NLS-1$ //$NON-NLS-2$
-		fUserImports.append(javaImportString);
-		if (addToMap) {
-			addImportToMap(importName, jspReferenceRegion);
-		}
-		fOffsetInUserImports += javaImportString.length();
-	}
-
-	/**
-	 * new text can be something like: "import java.lang.Object;\n"
-	 * 
-	 * but the reference region could have been something like: <%@page
-	 * import="java.lang.Object, java.io.*, java.util.List"%>
-	 * 
-	 * so the exact mapping has to be calculated carefully.
-	 * 
-	 * isIndirect means that the import came from an included file (if true)
-	 * 
-	 * @param importName
-	 * @param jspReferenceRegion
-	 */
-	private void addImportToMap(String importName, ITextRegionCollection jspReferenceRegion) {
-
-		// massage text
-		// String jspText = importName.substring(importName.indexOf("import ")
-		// + 7, importName.indexOf(';'));
-		// String jspText = importName.trim();
-
-		// these positions will be updated below
-		Position javaRange = new Position(fOffsetInUserImports + 7, 1);
-		Position jspRange = new Position(jspReferenceRegion.getStart(), jspReferenceRegion.getLength());
-
-		// calculate JSP range by finding "import" attribute
-		ITextRegionList regions = jspReferenceRegion.getRegions();
-		int size = regions.size();
-
-		int start = -1;
-		int length = -1;
-
-		ITextRegion r = null;
-		for (int i = 0; i < size; i++) {
-			r = regions.get(i);
-			if (r.getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_NAME)
-				if (jspReferenceRegion.getText(r).trim().equals("import")) { //$NON-NLS-1$
-					// get the attr value region
-					if (size > i + 2) {
-						r = regions.get(i + 2);
-						if (r.getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_VALUE) {
-
-							String jspImportText = jspReferenceRegion.getText(r);
-
-							// the position in question (in the JSP) is what
-							// is bracketed below
-							// includes whitespace
-							// <%@page import="java.lang.Object,[ java.io.* ],
-							// java.util.List"%>
-
-							// in the java file
-							// import [ java.io.* ];
-
-							start = jspImportText.indexOf(importName);
-							length = importName.length();
-
-							// safety, don't add to map if bad positioning
-							if (start == -1 || length < 1)
-								break;
-
-							// update jsp range
-							jspRange.setOffset(jspReferenceRegion.getStartOffset(r) + start);
-							jspRange.setLength(length);
-
-							// update java range
-							javaRange.setLength(length);
-
-							break;
-						}
-					}
-				}
-		}
-
-		// safety for bad ranges
-		if (start != -1 && length > 1) {
-			// put ranges in java -> jsp range map
-			fImportRanges.put(javaRange, jspRange);
-		}
-	}
-
-	/**
-	 * temp fix for 282295 until better mapping is in place
-	 * 
-	 * @param newText
-	 * @param jspReferenceRegion
-	 */
-	private void appendUseBeanToBuffer(String newText, ITextRegionCollection jspReferenceRegion, boolean isIndirect) throws Exception {
-		// java string looks like this (tokenized)
-		// Type id = new Classname();\n
-		// 0 1 2 3 4
-		// or
-		// Type id = null;\n // if there is no classname
-		// 0 1 2 3
-
-		// ----------------------
-		// calculate java ranges
-		// ----------------------
-		StringTokenizer st = new StringTokenizer(newText, " ", false); //$NON-NLS-1$
-		int i = 0;
-		String[] parsedJava = new String[st.countTokens()];
-		while (st.hasMoreTokens())
-			parsedJava[i++] = st.nextToken();
-
-		String type = parsedJava[0] != null ? parsedJava[0] : ""; //$NON-NLS-1$
-		String id = parsedJava[1] != null ? parsedJava[1] : ""; //$NON-NLS-1$
-		String className = parsedJava.length > 4 ? parsedJava[4] : ""; //$NON-NLS-1$
-
-		Position javaTypeRange = new Position(fOffsetInUserCode, type.length());
-		Position javaIdRange = new Position(fOffsetInUserCode + type.length() + 1, id.length());
-		Position javaClassRange = new Position(fOffsetInUserCode + type.length() + 1 + id.length() + 7, 0);
-		if (className.length() >= 4) {
-			// https://bugs.eclipse.org/bugs/show_bug.cgi?id=86132
-			int classNameLength = className.substring(0, className.indexOf('(')).length();
-			javaClassRange = new Position(fOffsetInUserCode + type.length() + 1 + id.length() + 7, classNameLength);
-		}
-
-		// ---------------------
-		// calculate jsp ranges
-		// ---------------------
-		ITextRegionList regions = jspReferenceRegion.getRegions();
-		ITextRegion r = null;
-		String attrName = "", attrValue = ""; //$NON-NLS-1$ //$NON-NLS-2$
-		int quoteOffset = 0;
-		Position jspTypeRange = null;
-		Position jspIdRange = null;
-		Position jspClassRange = null;
-
-		for (int j = 0; j < regions.size(); j++) {
-			r = regions.get(j);
-			if (r.getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_NAME) {
-				attrName = jspReferenceRegion.getText(r);
-				if (regions.size() >= j + 2 && regions.get(j + 2).getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_VALUE) {
-					// get attr value
-					r = regions.get(j + 2);
-					attrValue = jspReferenceRegion.getText(r);
-
-					// may have quotes
-					quoteOffset = (attrValue.startsWith("\"") || attrValue.startsWith("'")) ? 1 : 0; //$NON-NLS-1$ //$NON-NLS-2$
-
-					if (attrName.equals("type")) //$NON-NLS-1$
-						jspTypeRange = new Position(jspReferenceRegion.getStartOffset(r) + quoteOffset, StringUtils.stripQuotesLeaveInsideSpace(attrValue).length());
-					else if (attrName.equals("id")) //$NON-NLS-1$
-						jspIdRange = new Position(jspReferenceRegion.getStartOffset(r) + quoteOffset, StringUtils.stripQuotesLeaveInsideSpace(attrValue).length());
-					else if (attrName.equals("class")) //$NON-NLS-1$
-						jspClassRange = new Position(jspReferenceRegion.getStartOffset(r) + quoteOffset, StringUtils.stripQuotesLeaveInsideSpace(attrValue).length());
-				}
-			}
-		}
-
-		// put ranges in java -> jsp range map
-		if (!type.equals("") && jspTypeRange != null) { //$NON-NLS-1$
-			fCodeRanges.put(javaTypeRange, jspTypeRange);
-			// note: don't update offsets for this map when result is built
-			// they'll be updated when code ranges offsets are updated
-			fUseBeanRanges.put(javaTypeRange, jspTypeRange);
-			if (isIndirect)
-				fIndirectRanges.put(javaTypeRange, jspTypeRange);
-		}
-		if (!id.equals("") && jspIdRange != null) { //$NON-NLS-1$
-			fCodeRanges.put(javaIdRange, jspIdRange);
-			// note: don't update offsets for this map when result is built
-			// they'll be updated when code ranges offsets are updated
-			fUseBeanRanges.put(javaIdRange, jspTypeRange);
-			if (isIndirect)
-				fIndirectRanges.put(javaIdRange, jspTypeRange);
-		}
-		if (!className.equals("") && jspClassRange != null) { //$NON-NLS-1$
-			fCodeRanges.put(javaClassRange, jspClassRange);
-			// note: don't update offsets for this map when result is built
-			// they'll be updated when code ranges offsets are updated
-			fUseBeanRanges.put(javaClassRange, jspTypeRange);
-			if (isIndirect)
-				fIndirectRanges.put(javaClassRange, jspTypeRange);
-		}
-	}
-
-	/**
-	 * Set the buffer to the current JSPType: STANDARD_JSP, EMBEDDED_JSP,
-	 * DECLARATION, EXPRESSION, SCRIPTLET (for keepting track of cursor
-	 * position when the final document is built)
-	 * 
-	 * @param JSPType
-	 *            the JSP type that the cursor is in
-	 */
-	protected void setCursorOwner(int JSPType) {
-		switch (JSPType) {
-			case DECLARATION :
-				setCursorOwner(fUserDeclarations);
-				break;
-			case EXPRESSION :
-			case SCRIPTLET :
-				setCursorOwner(fUserCode);
-				break;
-			default :
-				setCursorOwner(fUserCode);
-		}
-	}
-
-	/**
-	 * this piece of code iterates through fCurrentNodes and clumps them
-	 * together in a big text string - unescaping characters if they are not
-	 * CDATA - simply appending if they are CDATA it stops iteration when it
-	 * hits a node that is an XML_TAG_NAME (which should be the region closing
-	 * tag)
-	 */
-	protected String getUnescapedRegionText(ITextRegionCollection stRegion, int JSPType) {
-		StringBuffer buffer = new StringBuffer();
-		int start = stRegion.getStartOffset();
-		int end = stRegion.getEndOffset();
-		// adjustment necessary for embedded region containers
-		if (stRegion instanceof ITextRegionContainer && stRegion.getType() == DOMRegionContext.BLOCK_TEXT) {
-			if (stRegion.getRegions() != null && stRegion.getRegions().size() > 1) {
-				ITextRegion jspContent = stRegion.getRegions().get(1); // should
-				// be
-				// jspContent
-				// region
-				start = stRegion.getStartOffset(jspContent);
-				end = stRegion.getEndOffset(jspContent);
-			}
-		}
-		int CDATAOffset = 0; // number of characters lost in conversion
-		int bufferSize = 0;
-		if (stRegion.getType() == DOMJSPRegionContexts.JSP_CONTENT || stRegion.getType() == DOMRegionContext.BLOCK_TEXT // need
-					// this
-					// for
-					// embedded
-					// JSP
-					// regions
-					|| stRegion.getType() == DOMRegionContext.XML_TAG_NAME) // need
-		// this
-		// in
-		// case
-		// there's
-		// no
-		// region...
-		{
-			fInCodeRegion = (start <= fSourcePosition && fSourcePosition <= end);
-			if (fInCodeRegion) {
-				setCursorOwner(JSPType);
-				setRelativeOffset((fSourcePosition - start) + getCursorOwner().length());
-				if (JSPType == EXPRESSION) {
-					// if an expression, add then length of the enclosing
-					// paren..
-					setCursorInExpression(true);
-					setRelativeOffset(getRelativeOffset() + EXPRESSION_PREFIX.length());
-				}
-			}
-			ITextRegion jspContent = null;
-			if (stRegion.getRegions() != null && stRegion.getRegions().size() > 1)
-				jspContent = stRegion.getRegions().get(1);
-			return (jspContent != null) ? stRegion.getFullText(jspContent) : stRegion.getFullText(); // don't
-			// unescape
-			// if
-			// it's
-			// not
-			// an
-			// XMLJSP
-			// tag
-		}
-		else if (stRegion.getType() == DOMJSPRegionContexts.JSP_CLOSE) {
-			// need to determine cursor owner so that the fCurosorPosition
-			// will be
-			// correct even if there is no region after the cursor in the JSP
-			// file
-			setCursorOwner(JSPType);
-		}
-		// iterate XMLCONTENT and CDATA regions
-		// loop fCurrentNode until you hit </jsp:scriptlet> (or other closing
-		// tag name)
-		while (getCurrentNode() != null && getCurrentNode().getType() != DOMRegionContext.XML_TAG_NAME) // need
-		// to
-		// stop
-		// on
-		// the
-		// ending
-		// tag
-		// name...
-		{
-			start = getCurrentNode().getStartOffset();
-			end = getCurrentNode().getEndOffset();
-			bufferSize = buffer.length();
-			CDATAOffset = unescapeRegion(getCurrentNode(), buffer);
-			fInCodeRegion = (start <= fSourcePosition && fSourcePosition <= end);
-			if (fInCodeRegion) {
-				setCursorOwner(JSPType);
-				// this offset is sort of complicated...
-				// it's composed of:
-				// 1. the length of the start of the current region up till
-				// where the cursor is
-				// 2. minus the number of characters lost in CDATA translation
-				// 3. plus the length of the escaped buffer before the current
-				// region, but
-				// is still within the jsp tag
-				setRelativeOffset((fSourcePosition - getCurrentNode().getStartOffset()) + getCursorOwner().length() - CDATAOffset + bufferSize);
-				if (JSPType == EXPRESSION) {
-					setCursorInExpression(true);
-					// if an expression, add then length of the enclosing
-					// paren..
-					setRelativeOffset(getRelativeOffset() + EXPRESSION_PREFIX.length());
-				}
-			}
-			if (getCurrentNode() != null)
-				advanceNextNode();
-		}
-		return buffer.toString();
-	}
-
-	/**
-	 * @param r
-	 *            the region to be unescaped (XMLContent, XML ENTITY
-	 *            REFERENCE, or CDATA)
-	 * @param sb
-	 *            the stringbuffer to append the text to
-	 * @return the number of characters removed in unescaping this text
-	 */
-	protected int unescapeRegion(ITextRegion r, StringBuffer sb) {
-		String s = ""; //$NON-NLS-1$
-		int lengthBefore = 0, lengthAfter = 0, cdata_tags_length = 0;
-		if (r != null && (r.getType() == DOMRegionContext.XML_CONTENT || r.getType() == DOMRegionContext.XML_ENTITY_REFERENCE)) {
-			lengthBefore = (getCurrentNode() != r) ? getCurrentNode().getFullText(r).length() : getCurrentNode().getFullText().length();
-			s = EscapedTextUtil.getUnescapedText(getCurrentNode(), r);
-			lengthAfter = s.length();
-			sb.append(s);
-		}
-		else if (r != null && r.getType() == DOMRegionContext.XML_CDATA_TEXT) {
-			if (r instanceof ITextRegionContainer) // only interested in
-													// contents
-			{
-				// navigate to next region container (which should be a JSP
-				// region)
-				Iterator it = ((ITextRegionContainer) r).getRegions().iterator();
-				ITextRegion temp = null;
-				while (it.hasNext()) {
-					temp = (ITextRegion) it.next();
-					if (temp instanceof ITextRegionContainer || temp.getType() == DOMRegionContext.XML_CDATA_TEXT) {
-						sb.append(getCurrentNode().getFullText(temp));
-					}
-					else if (temp.getType() == DOMRegionContext.XML_CDATA_OPEN || temp.getType() == DOMRegionContext.XML_CDATA_CLOSE) {
-						cdata_tags_length += temp.getLength();
-					}
-				}
-			}
-		}
-		return (lengthBefore - lengthAfter + cdata_tags_length);
-	}
-
-	//
-	// <jsp:useBean>
-	protected void translateUseBean(ITextRegionCollection container) {
-		ITextRegion r = null;
-		String attrName = null;
-		String attrValue = null;
-		String id = null;
-		String type = null;
-		String className = null;
-
-		Iterator regions = container.getRegions().iterator();
-		while (regions.hasNext() && (r = (ITextRegion) regions.next()) != null && (r.getType() != DOMRegionContext.XML_TAG_CLOSE || r.getType() != DOMRegionContext.XML_EMPTY_TAG_CLOSE)) {
-
-			attrName = attrValue = null;
-			if (r.getType().equals(DOMRegionContext.XML_TAG_ATTRIBUTE_NAME)) {
-				attrName = container.getText(r).trim();
-				if (regions.hasNext() && (r = (ITextRegion) regions.next()) != null && r.getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_EQUALS) {
-					if (regions.hasNext() && (r = (ITextRegion) regions.next()) != null && r.getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_VALUE) {
-						attrValue = StringUtils.stripQuotes(container.getText(r));
-					}
-					// has equals, but no value?
-				}
-				// an attribute with no equals?
-			}
-			// (pa) might need different logic here if we wanna support more
-			if (attrName != null && attrValue != null) {
-				if (attrName.equals("id")) //$NON-NLS-1$
-					id = attrValue;
-				else if (attrName.equals("class")) //$NON-NLS-1$
-					className = attrValue;
-				else if (attrName.equals("type")) //$NON-NLS-1$
-					type = attrValue;
-			}
-
-		}
-		// has id w/ type and/or classname
-		// Type id = new Classname();
-		// or
-		// Type id = null; // if there is no classname
-		if (id != null && (type != null || className != null)) {
-			if (type == null)
-				type = className;
-			String prefix = type + " " + id + " = "; //$NON-NLS-1$ //$NON-NLS-2$
-			String suffix = "null;" + ENDL; //$NON-NLS-1$
-			if (className != null)
-				suffix = "new " + className + "();" + ENDL; //$NON-NLS-1$ //$NON-NLS-2$
-			IStructuredDocumentRegion referenceRegion = fCurrentNode.getPrevious() != null ? fCurrentNode.getPrevious() : fCurrentNode;
-			appendToBuffer(prefix + suffix, fUserCode, true, referenceRegion);
-		}
-	}
-
-	final public int getCursorPosition() {
-		return fCursorPosition;
-	}
-
-	protected boolean isCursorInExpression() {
-		return fCursorInExpression;
-	}
-
-	protected void setCursorInExpression(boolean in) {
-		fCursorInExpression = in;
-	}
-
-	final public void setSourceCursor(int i) {
-		fSourcePosition = i;
-	}
-
-	final public int getSourcePosition() {
-		return fSourcePosition;
-	}
-
-	final public TLDCMDocumentManager getTLDCMDocumentManager() {
-		return TaglibController.getTLDCMDocumentManager(fStructuredDocument);
-	}
-
-	final public void setRelativeOffset(int relativeOffset) {
-		this.fRelativeOffset = relativeOffset;
-	}
-
-	final public int getRelativeOffset() {
-		return fRelativeOffset;
-	}
-
-	private void setCursorOwner(StringBuffer cursorOwner) {
-		this.fCursorOwner = cursorOwner;
-	}
-
-	final public StringBuffer getCursorOwner() {
-		return fCursorOwner;
-	}
-
-	private IStructuredDocumentRegion setCurrentNode(IStructuredDocumentRegion currentNode) {
-		return this.fCurrentNode = currentNode;
-	}
-
-	final public IStructuredDocumentRegion getCurrentNode() {
-		return fCurrentNode;
-	}
-
-	public ArrayList getELProblems() {
-		return fELProblems;
-	}
-
-	public IStructuredDocument getStructuredDocument() {
-		return fStructuredDocument;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/XMLJSPRegionHelper.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/XMLJSPRegionHelper.java
deleted file mode 100644
index 3efbbd5..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/XMLJSPRegionHelper.java
+++ /dev/null
@@ -1,439 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.java;
-
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jst.jsp.core.internal.Logger;
-import org.eclipse.jst.jsp.core.internal.parser.JSPSourceParser;
-import org.eclipse.jst.jsp.core.internal.regions.DOMJSPRegionContexts;
-import org.eclipse.wst.sse.core.internal.ltk.parser.BlockMarker;
-import org.eclipse.wst.sse.core.internal.ltk.parser.StructuredDocumentRegionHandler;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion;
-import org.eclipse.wst.sse.core.internal.util.Debug;
-import org.eclipse.wst.sse.core.internal.util.StringUtils;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMDocument;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMNode;
-import org.eclipse.wst.xml.core.internal.regions.DOMRegionContext;
-
-
-/**
- * Parser/helper class for JSPTranslator.  Used for parsing XML-JSP regions (in a script block)
- * A lot of logic borrowed from TLDCMDocumentManager.  There should be only one XMLJSPRegionHelper per text file
- * 
- * @author pavery
- */
-class XMLJSPRegionHelper implements StructuredDocumentRegionHandler {
-	private final JSPTranslator fTranslator;
-	protected JSPSourceParser fLocalParser = null;
-	protected String fTextToParse = null;
-	// need this if not at the start of the document (eg. parsing just a script block)
-	protected int fStartOfTextToParse = 0;
-	// buffers for text that this class parses	
-	protected List fScriptlets = new ArrayList();
-	protected List fExpressions = new ArrayList();
-	protected List fDeclarations = new ArrayList();
-	// name of the open tag that was last handled (if we are interested in it)
-	protected String fTagname = null;
-	protected String fTextBefore = ""; //$NON-NLS-1$
-	protected String fUnescapedText = ""; //$NON-NLS-1$
-	protected String fStrippedText = ""; //$NON-NLS-1$
-	// for reconciling cursor position later
-	int fPossibleOwner = JSPTranslator.SCRIPTLET;
-
-	public XMLJSPRegionHelper(JSPTranslator translator) {
-		getLocalParser().addStructuredDocumentRegionHandler(this);
-		this.fTranslator = translator;
-	}
-
-	protected JSPSourceParser getLocalParser() {
-		if (fLocalParser == null)
-			fLocalParser = new JSPSourceParser();
-		return fLocalParser;
-	}
-
-	public void addBlockMarker(BlockMarker marker) {
-		fLocalParser.addBlockMarker(marker);
-	}
-
-	public void reset(String textToParse) {
-		reset(textToParse, 0);
-	}
-
-	public void reset(String textToParse, int start) {
-		fStartOfTextToParse = start;
-		getLocalParser().reset(textToParse);
-		fTextToParse = textToParse;
-	}
-
-	public void forceParse() {
-		getLocalParser().getDocumentRegions();
-		fLocalParser = null;
-	}
-
-	/*
-	 * parse an entire file
-	 */
-	public void parse(String filename) {
-		// from outer class
-		List blockMarkers = this.fTranslator.getBlockMarkers();
-		reset(getContents(filename));
-		// this adds the current markers from the outer class list
-		// to this parser so parsing works correctly
-		for (int i = 0; i < blockMarkers.size(); i++) {
-			addBlockMarker((BlockMarker) blockMarkers.get(i));
-		}
-		forceParse();
-	}
-
-	/*
-	 * writes out scriptlet, expression, and declaration buffers
-	 * to the ongoing buffers in the JSPTranslator (calls to outer JSPTranslator methods)
-	 */
-	public void writeToBuffers() {
-		IStructuredDocumentRegion currentNode = fTranslator.getCurrentNode();
-		// currentNode should be the <%@page include="xxx"%> StructuredDocumentRegion
-		for (int i = 0; i < fScriptlets.size(); i++) {
-			this.fTranslator.translateScriptletString((String) fScriptlets.get(i), currentNode, currentNode.getStartOffset(), currentNode.getLength());
-		}
-		for (int i = 0; i < fExpressions.size(); i++) {
-			this.fTranslator.translateExpressionString((String) fExpressions.get(i), currentNode, currentNode.getStartOffset(), currentNode.getLength());
-		}
-		for (int i = 0; i < fDeclarations.size(); i++) {
-			this.fTranslator.translateDeclarationString((String) fDeclarations.get(i), currentNode, currentNode.getStartOffset(), currentNode.getLength());
-		}
-	}
-
-	/*
-	 * listens to parser node parsed events
-	 * adds to local scriplet, expression, declaration buffers
-	 * determines which type of region the cursor is in, and adjusts cursor offset accordingly 
-	 */
-	public void nodeParsed(IStructuredDocumentRegion sdRegion) {
-		//				System.out.println("tagname > " + fTagname);
-		//				System.out.println("sdRegion > " + sdRegion.getType());
-		//				System.out.println("sdRegion text is >> " + fTextToParse.substring(sdRegion.getStartOffset(), sdRegion.getEndOffset()));
-		//				System.out.println("+++=======================");
-		try {
-			if (isJSPStartRegion(sdRegion)) {
-				String nameStr = getRegionName(sdRegion);
-				if (isJSPRegion(nameStr))
-					fTagname = nameStr;
-				else
-					fTagname = null;
-			}
-			else if (sdRegion.getFirstRegion().getType() == DOMJSPRegionContexts.JSP_CONTENT) {
-				if (fTagname != null) {
-					// assign contents to one of the tables
-					if (isScriptlet(fTagname)) {
-						processScriptlet(sdRegion);
-					}
-					else if (isExpression(fTagname)) {
-						processExpression(sdRegion);
-					}
-					else if (isDeclaration(fTagname)) {
-						processDeclaration(sdRegion);
-					}
-					else {
-						processOtherRegions(sdRegion);
-					}
-				}
-			}
-			else if (sdRegion.getFirstRegion().getType() == DOMRegionContext.XML_CONTENT) {
-				if (fTagname != null) {
-					processUseBean(sdRegion);
-					processOtherRegions(sdRegion);
-				}
-			}
-			else {
-				fTagname = null;
-			}
-			// this updates cursor position
-			checkCursorInRegion(sdRegion);
-		}
-		catch (NullPointerException e) {
-			// logging this exception that I've seen a couple of times...
-			// seems to happen during shutdown of unit tests, at which 
-			// point Logger has already been unloaded
-			try {
-			Logger.logException("XMLJSPRegionHelper: exception in node parsing", e); //$NON-NLS-1$
-			}
-			catch (NoClassDefFoundError ex) {
-				// do nothing, since we're just ending
-			}
-		}
-	}
-
-	public void resetNodes() {
-		// do nothing
-	}
-
-	private void checkCursorInRegion(IStructuredDocumentRegion sdRegion) {
-		// if cursor is in this region...
-		if (this.fTranslator.getSourcePosition() >= fStartOfTextToParse + sdRegion.getStartOffset() && this.fTranslator.getSourcePosition() <= fStartOfTextToParse + sdRegion.getEndOffset()) {
-			int endOfNameTag = sdRegion.getStartOffset();
-			int offset = fTextBefore.length() - fStrippedText.length();
-			// offset in addtion to what's already in the buffer
-			this.fTranslator.setRelativeOffset(this.fTranslator.getSourcePosition() - (fStartOfTextToParse + endOfNameTag) - offset);
-			// outer class method
-			this.fTranslator.setCursorOwner(fPossibleOwner);
-			// add length of what's already in the buffer
-			this.fTranslator.setRelativeOffset(this.fTranslator.getRelativeOffset() + this.fTranslator.getCursorOwner().length());
-			if (fPossibleOwner == JSPTranslator.EXPRESSION) {
-				// add length of expression prefix if necessary...
-				this.fTranslator.setRelativeOffset(this.fTranslator.getRelativeOffset() + JSPTranslator.EXPRESSION_PREFIX.length());
-			}
-		}
-	}
-
-	protected void processDeclaration(IStructuredDocumentRegion sdRegion) {
-		prepareText(sdRegion);
-		fDeclarations.add(fStrippedText);
-		fPossibleOwner = JSPTranslator.DECLARATION;
-	}
-
-	protected void processExpression(IStructuredDocumentRegion sdRegion) {
-		prepareText(sdRegion);
-		fExpressions.add(fStrippedText);
-		fPossibleOwner = JSPTranslator.EXPRESSION;
-	}
-
-	protected void processScriptlet(IStructuredDocumentRegion sdRegion) {
-		prepareText(sdRegion);
-		fScriptlets.add(fStrippedText);
-		fPossibleOwner = JSPTranslator.SCRIPTLET;
-	}
-
-	/*
-	 * Substitutes values for entity references, strips CDATA tags, and keeps
-	 * track of string length(s) for cursor position calculation later.
-	 * @param sdRegion
-	 */
-	protected void prepareText(IStructuredDocumentRegion sdRegion) {
-		fTextBefore = fTextToParse.substring(sdRegion.getStartOffset(), sdRegion.getEndOffset());
-		fUnescapedText = EscapedTextUtil.getUnescapedText(fTextBefore);
-		fStrippedText = this.fTranslator.stripCDATA(fUnescapedText);
-	}
-
-	protected void processUseBean(IStructuredDocumentRegion sdRegion) {
-		if (fTagname != null && isUseBean(fTagname)) {
-			// previous region has the actual attributes
-			sdRegion = sdRegion.getPrevious();
-			String beanClass, beanType, beanId, beanDecl = ""; //$NON-NLS-1$
-			beanClass = getAttributeValue("class", sdRegion); //$NON-NLS-1$
-			beanType = getAttributeValue("type", sdRegion); //$NON-NLS-1$
-			beanId = getAttributeValue("id", sdRegion); //$NON-NLS-1$
-			
-			if (beanId != null && (beanType != null || beanClass != null)) {
-				if (beanType.equals("")) //$NON-NLS-1$
-				    beanType = beanClass;
-				String prefix = beanType + " " + beanId + " = "; //$NON-NLS-1$ //$NON-NLS-2$
-				String suffix = "null;\n"; //$NON-NLS-1$
-				if (beanClass != null)
-					suffix = "new " + beanClass + "();\n"; //$NON-NLS-1$ //$NON-NLS-2$
-				beanDecl = prefix + suffix;
-			}	
-			
-			fScriptlets.add(beanDecl);
-			fPossibleOwner = JSPTranslator.SCRIPTLET;
-		}
-	}
-
-	protected void processOtherRegions(IStructuredDocumentRegion sdRegion) {
-		processIncludeDirective(sdRegion);
-		processPageDirective(sdRegion);
-	}
-
-	protected void processIncludeDirective(IStructuredDocumentRegion sdRegion) {
-		if (isIncludeDirective(fTagname)) {
-			// the directive name region itself contains the attrs...
-			if (sdRegion.getRegions().get(0).getType() == DOMRegionContext.XML_CONTENT)
-				sdRegion = sdRegion.getPrevious();
-			String fileLocation = getAttributeValue("file", sdRegion); //$NON-NLS-1$
-			this.fTranslator.handleIncludeFile(fileLocation);
-		}
-		else if (isPossibleCustomTag(fTagname)) {
-			// this custom tag may define variables
-			this.fTranslator.addTaglibVariables(fTagname);
-		}
-		else if (isTaglibDirective(fTagname)) {
-			// also add the ones created here to the parent document
-			String prefix = getAttributeValue("prefix", sdRegion); //$NON-NLS-1$
-			List docs = this.fTranslator.getTLDCMDocumentManager().getCMDocumentTrackers(prefix, this.fTranslator.getCurrentNode().getEnd());
-			Iterator it = docs.iterator();
-			Iterator elements = null;
-			CMNode node = null;
-			CMDocument doc = null;
-			BlockMarker marker = null;
-			while (it.hasNext()) {
-				doc = (CMDocument) it.next();
-				elements = doc.getElements().iterator();
-				while (elements.hasNext()) {
-					node = (CMNode) elements.next();
-					marker = new BlockMarker(node.getNodeName(), null, DOMJSPRegionContexts.JSP_CONTENT, true);
-					// global scope is OK because we have encountered this <@taglib> directive
-					// so it all markers from it should will be in scope
-					// add to this local parser
-					addBlockMarker(marker);
-					// add to outer class marker list, for 
-					this.fTranslator.getBlockMarkers().add(marker);
-				}
-			}
-		}
-	}
-
-	protected void processPageDirective(IStructuredDocumentRegion sdRegion) {
-		if (isPageDirective(fTagname)) {
-			while (sdRegion != null) {
-				if (sdRegion.getType() == DOMJSPRegionContexts.JSP_DIRECTIVE_NAME)
-					break;
-				sdRegion = sdRegion.getPrevious();
-			}
-			String importValue = getAttributeValue("import", sdRegion); //$NON-NLS-1$
-			if (importValue != "") { //$NON-NLS-1$
-				// had to add "false" parameter to ensure these 
-				// imports don't get added to jsp <-> java map (since they are from an included file)
-				// https://bugs.eclipse.org/bugs/show_bug.cgi?id=81687
-				this.fTranslator.addImports(importValue, false);
-			}
-		}
-	}	
-
-	/*
-	 * convenience method to get an attribute value from attribute name
-	 */
-	protected String getAttributeValue(String attrName, IStructuredDocumentRegion sdRegion) {
-		String sdRegionText = fTextToParse.substring(sdRegion.getStartOffset(), sdRegion.getEndOffset());
-		String textRegionText, attrValue = ""; //$NON-NLS-1$
-		Iterator it = sdRegion.getRegions().iterator();
-		ITextRegion nameRegion, valueRegion = null;
-		while (it.hasNext()) {
-			nameRegion = (ITextRegion) it.next();
-			if (nameRegion.getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_NAME) {
-				textRegionText = sdRegionText.substring(nameRegion.getStart(), nameRegion.getEnd());
-				if (textRegionText.equalsIgnoreCase(attrName)) {
-					while (it.hasNext()) {
-						valueRegion = (ITextRegion) it.next();
-						if (valueRegion.getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_VALUE) {
-							attrValue = sdRegionText.substring(valueRegion.getStart(), valueRegion.getEnd());
-							break; // inner
-						}
-					}
-					break; // outer
-				}
-			}
-		}
-		return StringUtils.stripQuotes(attrValue);
-	}
-
-	// these methods determine what content gets added to the local scriplet, expression, declaration buffers
-	/*
-	 * return true for elements whose contents we might want to add to the java file we are building
-	 */
-	protected boolean isJSPStartRegion(IStructuredDocumentRegion sdRegion) {
-		return (sdRegion.getFirstRegion().getType() == DOMRegionContext.XML_TAG_OPEN || sdRegion.getFirstRegion().getType() == DOMJSPRegionContexts.JSP_DIRECTIVE_OPEN);
-	}
-
-	protected boolean isJSPRegion(String tagName) {
-		return isDeclaration(tagName) || isExpression(tagName) || isScriptlet(tagName) || isUseBean(tagName) || isIncludeDirective(tagName) || isPossibleCustomTag(tagName) || isTaglibDirective(tagName) || isPageDirective(tagName);
-	}
-
-	protected boolean isDeclaration(String tagName) {
-		return tagName.equalsIgnoreCase("jsp:declaration"); //$NON-NLS-1$		
-	}
-
-	protected boolean isExpression(String tagName) {
-		return tagName.equalsIgnoreCase("jsp:expression"); //$NON-NLS-1$		
-	}
-
-	protected boolean isScriptlet(String tagName) {
-		return tagName.equalsIgnoreCase("jsp:scriptlet"); //$NON-NLS-1$
-	}
-
-	protected boolean isUseBean(String tagName) {
-		return tagName.equalsIgnoreCase("jsp:useBean"); //$NON-NLS-1$
-	}
-
-	protected boolean isIncludeDirective(String tagName) {
-		return tagName.equalsIgnoreCase("jsp:directive.include"); //$NON-NLS-1$
-	}
-
-	protected boolean isPossibleCustomTag(String tagName) {
-		return tagName.indexOf(":") > 1; //$NON-NLS-1$
-	}
-
-	protected boolean isTaglibDirective(String tagName) {
-		return tagName.equalsIgnoreCase("jsp:directive.taglib"); //$NON-NLS-1$
-	}
-
-	protected boolean isPageDirective(String tagName) {
-		return tagName.equalsIgnoreCase("jsp:directive.page"); //$NON-NLS-1$
-	}
-
-	protected String getRegionName(IStructuredDocumentRegion sdRegion) {
-		ITextRegion nameRegion = null;
-		String nameStr = ""; //$NON-NLS-1$
-		int size = sdRegion.getRegions().size();
-		if (size > 1) {
-			// presumably XML-JSP <jsp:scriptlet> | <jsp:expression> | <jsp:declaration>
-			nameRegion = sdRegion.getRegions().get(1);
-			nameStr = fTextToParse.substring(sdRegion.getStartOffset(nameRegion), sdRegion.getTextEndOffset(nameRegion));
-		}
-		return nameStr.trim();
-	}
-
-	/*
-	 * get the contents of a file as a String
-	 */
-	protected String getContents(String fileName) {
-		StringBuffer s = new StringBuffer();
-		int c = 0;
-		int count = 0;
-		InputStream is = null;
-		try {
-			IPath filePath = new Path(fileName);
-			IFile f = ResourcesPlugin.getWorkspace().getRoot().getFile(filePath);
-			if(f != null && !f.exists()) {
-				f = ResourcesPlugin.getWorkspace().getRoot().getFileForLocation(filePath);
-			}
-            if (f != null && f.exists()) {
-    			is = f.getContents();
-    			while ((c = is.read()) != -1) {
-    				count++;
-    				s.append((char) c);
-    			}
-            }
-		}
-		catch (Exception e) {
-			if (Debug.debugStructuredDocument)
-				e.printStackTrace();
-		}
-		finally {
-			try {
-				if (is != null) {
-					is.close();
-				}
-			}
-			catch (Exception e) {
-				// nothing to do
-			}
-		}
-		return s.toString();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTAddExpress.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTAddExpress.java
deleted file mode 100644
index 6cd8ea5..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTAddExpress.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Generated By:JJTree: Do not edit this line. ASTAddExpress.java */
-
-package org.eclipse.jst.jsp.core.internal.java.jspel;
-
-public class ASTAddExpress extends SimpleNode {
-  public ASTAddExpress(int id) {
-    super(id);
-  }
-
-  public ASTAddExpress(JSPELParser p, int id) {
-    super(p, id);
-  }
-
-
-  /** Accept the visitor. **/
-  public Object jjtAccept(JSPELParserVisitor visitor, Object data) {
-    return visitor.visit(this, data);
-  }
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTAddExpression.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTAddExpression.java
deleted file mode 100644
index edb12e3..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTAddExpression.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Generated By:JJTree: Do not edit this line. ASTAddExpression.java */
-
-package org.eclipse.jst.jsp.core.internal.java.jspel;
-
-public class ASTAddExpression extends ASTOperatorExpression {
-  public ASTAddExpression(int id) {
-    super(id);
-  }
-
-  public ASTAddExpression(JSPELParser p, int id) {
-    super(p, id);
-  }
-
-
-  /** Accept the visitor. **/
-  public Object jjtAccept(JSPELParserVisitor visitor, Object data) {
-    return visitor.visit(this, data);
-  }
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTAndExpression.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTAndExpression.java
deleted file mode 100644
index aa89a28..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTAndExpression.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Generated By:JJTree: Do not edit this line. ASTAndExpression.java */
-
-package org.eclipse.jst.jsp.core.internal.java.jspel;
-
-public class ASTAndExpression extends ASTOperatorExpression {
-  public ASTAndExpression(int id) {
-    super(id);
-  }
-
-  public ASTAndExpression(JSPELParser p, int id) {
-    super(p, id);
-  }
-
-
-  /** Accept the visitor. **/
-  public Object jjtAccept(JSPELParserVisitor visitor, Object data) {
-    return visitor.visit(this, data);
-  }
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTChoiceExpression.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTChoiceExpression.java
deleted file mode 100644
index 81a9890..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTChoiceExpression.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Generated By:JJTree: Do not edit this line. ASTChoiceExpression.java */
-
-package org.eclipse.jst.jsp.core.internal.java.jspel;
-
-public class ASTChoiceExpression extends SimpleNode {
-  public ASTChoiceExpression(int id) {
-    super(id);
-  }
-
-  public ASTChoiceExpression(JSPELParser p, int id) {
-    super(p, id);
-  }
-
-
-  /** Accept the visitor. **/
-  public Object jjtAccept(JSPELParserVisitor visitor, Object data) {
-    return visitor.visit(this, data);
-  }
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTEqualityExpression.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTEqualityExpression.java
deleted file mode 100644
index ec6cb3e..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTEqualityExpression.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Generated By:JJTree: Do not edit this line. ASTEqualityExpression.java */
-
-package org.eclipse.jst.jsp.core.internal.java.jspel;
-
-public class ASTEqualityExpression extends ASTOperatorExpression {
-  public ASTEqualityExpression(int id) {
-    super(id);
-  }
-
-  public ASTEqualityExpression(JSPELParser p, int id) {
-    super(p, id);
-  }
-
-
-  /** Accept the visitor. **/
-  public Object jjtAccept(JSPELParserVisitor visitor, Object data) {
-    return visitor.visit(this, data);
-  }
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTExpression.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTExpression.java
deleted file mode 100644
index 7aa3f07..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTExpression.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Generated By:JJTree: Do not edit this line. ASTExpression.java */
-
-package org.eclipse.jst.jsp.core.internal.java.jspel;
-
-public class ASTExpression extends SimpleNode {
-  public ASTExpression(int id) {
-    super(id);
-  }
-
-  public ASTExpression(JSPELParser p, int id) {
-    super(p, id);
-  }
-
-
-  /** Accept the visitor. **/
-  public Object jjtAccept(JSPELParserVisitor visitor, Object data) {
-    return visitor.visit(this, data);
-  }
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTFunctionInvocation.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTFunctionInvocation.java
deleted file mode 100644
index bf05920..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTFunctionInvocation.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Generated By:JJTree: Do not edit this line. ASTFunctionInvocation.java */
-
-package org.eclipse.jst.jsp.core.internal.java.jspel;
-
-public class ASTFunctionInvocation extends SimpleNode {
-  String fullFunctionName; 
-  
-  public ASTFunctionInvocation(int id) {
-    super(id);
-  }
-
-  public ASTFunctionInvocation(JSPELParser p, int id) {
-    super(p, id);
-  }
-
-
-  /** Accept the visitor. **/
-  public Object jjtAccept(JSPELParserVisitor visitor, Object data) {
-    return visitor.visit(this, data);
-  }
-
-public String getFullFunctionName() {
-	return fullFunctionName;
-}
-
-public void setFullFunctionName(String fullFunctionName) {
-	this.fullFunctionName = fullFunctionName;
-}
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTGTNode.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTGTNode.java
deleted file mode 100644
index 569ec77..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTGTNode.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Generated By:JJTree: Do not edit this line. ASTGTNode.java */
-
-package org.eclipse.jst.jsp.core.internal.java.jspel;
-
-public class ASTGTNode extends SimpleNode {
-  public ASTGTNode(int id) {
-    super(id);
-  }
-
-  public ASTGTNode(JSPELParser p, int id) {
-    super(p, id);
-  }
-
-
-  /** Accept the visitor. **/
-  public Object jjtAccept(JSPELParserVisitor visitor, Object data) {
-    return visitor.visit(this, data);
-  }
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTImplicitObject.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTImplicitObject.java
deleted file mode 100644
index 1c31baa..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTImplicitObject.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Generated By:JJTree: Do not edit this line. ASTImplicitObject.java */
-
-package org.eclipse.jst.jsp.core.internal.java.jspel;
-
-public class ASTImplicitObject extends SimpleNode {
-  public ASTImplicitObject(int id) {
-    super(id);
-  }
-
-  public ASTImplicitObject(JSPELParser p, int id) {
-    super(p, id);
-  }
-
-
-  /** Accept the visitor. **/
-  public Object jjtAccept(JSPELParserVisitor visitor, Object data) {
-    return visitor.visit(this, data);
-  }
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTLiteral.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTLiteral.java
deleted file mode 100644
index dfbba95..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTLiteral.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Generated By:JJTree: Do not edit this line. ASTLiteral.java */
-
-package org.eclipse.jst.jsp.core.internal.java.jspel;
-
-public class ASTLiteral extends SimpleNode {
-  public ASTLiteral(int id) {
-    super(id);
-  }
-
-  public ASTLiteral(JSPELParser p, int id) {
-    super(p, id);
-  }
-
-
-  /** Accept the visitor. **/
-  public Object jjtAccept(JSPELParserVisitor visitor, Object data) {
-    return visitor.visit(this, data);
-  }
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTMultiplyExpression.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTMultiplyExpression.java
deleted file mode 100644
index 17f054a..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTMultiplyExpression.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Generated By:JJTree: Do not edit this line. ASTMultiplyExpression.java */
-
-package org.eclipse.jst.jsp.core.internal.java.jspel;
-
-public class ASTMultiplyExpression extends ASTOperatorExpression {
-  public ASTMultiplyExpression(int id) {
-    super(id);
-  }
-
-  public ASTMultiplyExpression(JSPELParser p, int id) {
-    super(p, id);
-  }
-
-
-  /** Accept the visitor. **/
-  public Object jjtAccept(JSPELParserVisitor visitor, Object data) {
-    return visitor.visit(this, data);
-  }
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTOperatorExpression.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTOperatorExpression.java
deleted file mode 100644
index f8b31a5..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTOperatorExpression.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.eclipse.jst.jsp.core.internal.java.jspel;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class ASTOperatorExpression extends SimpleNode {
-	protected ArrayList operatorTokens = new ArrayList();
-
-	public ASTOperatorExpression(int i) {
-		super(i);
-	}
-	
-	public ASTOperatorExpression(JSPELParser p, int i) {
-		this(i);
-		parser = p;
-	}
-
-	public void addOperatorToken(Token opToken) {
-		operatorTokens.add(opToken);
-	}
-	
-	public List getOperatorTokens() {
-		return operatorTokens;
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTOrExpression.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTOrExpression.java
deleted file mode 100644
index 76952bf..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTOrExpression.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Generated By:JJTree: Do not edit this line. ASTOrExpression.java */
-
-package org.eclipse.jst.jsp.core.internal.java.jspel;
-
-public class ASTOrExpression extends ASTOperatorExpression {
-  public ASTOrExpression(int id) {
-    super(id);
-  }
-
-  public ASTOrExpression(JSPELParser p, int id) {
-    super(p, id);
-  }
-
-
-  /** Accept the visitor. **/
-  public Object jjtAccept(JSPELParserVisitor visitor, Object data) {
-    return visitor.visit(this, data);
-  }
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTRelationalExpression.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTRelationalExpression.java
deleted file mode 100644
index 3004fe7..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTRelationalExpression.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Generated By:JJTree: Do not edit this line. ASTRelationalExpression.java */
-
-package org.eclipse.jst.jsp.core.internal.java.jspel;
-
-public class ASTRelationalExpression extends ASTOperatorExpression {
-  public ASTRelationalExpression(int id) {
-    super(id);
-  }
-
-  public ASTRelationalExpression(JSPELParser p, int id) {
-    super(p, id);
-  }
-
-
-  /** Accept the visitor. **/
-  public Object jjtAccept(JSPELParserVisitor visitor, Object data) {
-    return visitor.visit(this, data);
-  }
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTStart.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTStart.java
deleted file mode 100644
index dfa13a4..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTStart.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Generated By:JJTree: Do not edit this line. ASTStart.java */
-
-package org.eclipse.jst.jsp.core.internal.java.jspel;
-
-public class ASTStart extends SimpleNode {
-  public ASTStart(int id) {
-    super(id);
-  }
-
-  public ASTStart(JSPELParser p, int id) {
-    super(p, id);
-  }
-
-
-  /** Accept the visitor. **/
-  public Object jjtAccept(JSPELParserVisitor visitor, Object data) {
-    return visitor.visit(this, data);
-  }
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTUnaryExpression.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTUnaryExpression.java
deleted file mode 100644
index b4ebd88..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTUnaryExpression.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Generated By:JJTree: Do not edit this line. ASTUnaryExpression.java */
-
-package org.eclipse.jst.jsp.core.internal.java.jspel;
-
-public class ASTUnaryExpression extends SimpleNode {
-  public ASTUnaryExpression(int id) {
-    super(id);
-  }
-
-  public ASTUnaryExpression(JSPELParser p, int id) {
-    super(p, id);
-  }
-
-
-  /** Accept the visitor. **/
-  public Object jjtAccept(JSPELParserVisitor visitor, Object data) {
-    return visitor.visit(this, data);
-  }
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTValue.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTValue.java
deleted file mode 100644
index bd529fb..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTValue.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Generated By:JJTree: Do not edit this line. ASTValue.java */
-
-package org.eclipse.jst.jsp.core.internal.java.jspel;
-
-public class ASTValue extends SimpleNode {
-  public ASTValue(int id) {
-    super(id);
-  }
-
-  public ASTValue(JSPELParser p, int id) {
-    super(p, id);
-  }
-
-
-  /** Accept the visitor. **/
-  public Object jjtAccept(JSPELParserVisitor visitor, Object data) {
-    return visitor.visit(this, data);
-  }
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTValuePrefix.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTValuePrefix.java
deleted file mode 100644
index 641e721..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTValuePrefix.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Generated By:JJTree: Do not edit this line. ASTValuePrefix.java */
-
-package org.eclipse.jst.jsp.core.internal.java.jspel;
-
-public class ASTValuePrefix extends SimpleNode {
-  public ASTValuePrefix(int id) {
-    super(id);
-  }
-
-  public ASTValuePrefix(JSPELParser p, int id) {
-    super(p, id);
-  }
-
-
-  /** Accept the visitor. **/
-  public Object jjtAccept(JSPELParserVisitor visitor, Object data) {
-    return visitor.visit(this, data);
-  }
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTValueSuffix.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTValueSuffix.java
deleted file mode 100644
index 6eaaa06..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ASTValueSuffix.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Generated By:JJTree: Do not edit this line. ASTValueSuffix.java */
-
-package org.eclipse.jst.jsp.core.internal.java.jspel;
-
-public class ASTValueSuffix extends SimpleNode {
-	
-  protected Token propertyNameToken;
-  
-  public ASTValueSuffix(int id) {
-    super(id);
-  }
-
-  public ASTValueSuffix(JSPELParser p, int id) {
-    super(p, id);
-  }
-
-
-  /** Accept the visitor. **/
-  public Object jjtAccept(JSPELParserVisitor visitor, Object data) {
-    return visitor.visit(this, data);
-  }
-
-public Token getPropertyNameToken() {
-	return propertyNameToken;
-}
-
-public void setPropertyNameToken(Token propertyNameToken) {
-	this.propertyNameToken = propertyNameToken;
-}
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ELGenerator.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ELGenerator.java
deleted file mode 100644
index 35b647a..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ELGenerator.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/**
- * B E A   S Y S T E M S
- *
- * Copyright (c) 2004  BEA Systems, Inc.
- *
- * All Rights Reserved. Unpublished rights reserved under the copyright laws
- * of the United States. The software contained on this media is proprietary
- * to and embodies the confidential technology of BEA Systems, Inc. The
- * possession or receipt of this information does not convey any right to
- * disclose its contents, reproduce it, or use,  or license the use, for
- * manufacture or sale, the information or anything described therein. Any
- * use, disclosure, or reproduction without BEA System's prior written
- * permission is strictly prohibited.
- *
- */
-
-package org.eclipse.jst.jsp.core.internal.java.jspel;
-
-import java.util.Map;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslator;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegionCollection;
-
-/**
- * The code checker for the jsf/jsp EL.
- */
-public final class ELGenerator {
-	/**
-     * Constructor.
-     *
-     * @param locator A valid ELLocator instance, may not be null.
-     */
-    public ELGenerator() {
-    } // constructor
-	
-
-    /**
-     * Check the netuiel AST and set diagnostics as necessary.
-     * @param translator TODO
-     * @param jspReferenceRegion TODO
-     * @param contentStart 
-     * @param contentLength 
-     */
-    public void generate(ASTExpression root, StringBuffer result, Map codeMap, JSPTranslator translator, ITextRegionCollection jspReferenceRegion, int contentStart, int contentLength) {
-		ELGeneratorVisitor visitor = new ELGeneratorVisitor(result, codeMap, translator, jspReferenceRegion, contentStart);
-		root.jjtAccept(visitor, null);
-    }
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ELGeneratorVisitor.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ELGeneratorVisitor.java
deleted file mode 100644
index 91f2f0f..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ELGeneratorVisitor.java
+++ /dev/null
@@ -1,410 +0,0 @@
-package org.eclipse.jst.jsp.core.internal.java.jspel;
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.jface.text.Position;
-import org.eclipse.jst.jsp.core.internal.contentmodel.TaglibController;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.CMDocumentImpl;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.TaglibTracker;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDFunction;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslator;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegionCollection;
-
-public class ELGeneratorVisitor implements JSPELParserVisitor {
-	
-	private static final String ENDL = "\n"; //$NON-NLS-1$
-	
-	private static final String fExpressionHeader1 = "public String _elExpression"; //$NON-NLS-1$
-	private static final String fExpressionHeader2 = "()" + ENDL + //$NON-NLS-1$
-	"\t\tthrows java.io.IOException, javax.servlet.ServletException {" + ENDL + //$NON-NLS-1$
-	"javax.servlet.jsp.PageContext pageContext = null;" + ENDL + //$NON-NLS-1$
-	"java.util.Map param = null;" + ENDL + //$NON-NLS-1$
-	"java.util.Map paramValues = null;" + ENDL + //$NON-NLS-1$
-	"java.util.Map header = null;" + ENDL + //$NON-NLS-1$ 
-	"java.util.Map headerValues = null;" + ENDL + //$NON-NLS-1$
-	"java.util.Map cookie = null;" + ENDL + //$NON-NLS-1$ 
-	"java.util.Map initParam = null;" + ENDL + //$NON-NLS-1$
-	"java.util.Map pageScope = null;" + ENDL + //$NON-NLS-1$
-	"java.util.Map requestScope = null;" + ENDL + //$NON-NLS-1$
-	"java.util.Map sessionScope = null;" + ENDL + //$NON-NLS-1$
-	"java.util.Map applicationScope = null;" + ENDL + //$NON-NLS-1$
-	"return \"\"+"; //$NON-NLS-1$
-	
-	private static final String fJspImplicitObjects[] = { 	"pageContext", "param", "paramValues", "header", "headerValues", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-															"cookie", "initParam", "pageScope", "requestScope", "sessionScope",  //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-															"applicationScope" }; //$NON-NLS-1$
-	
-	private static final HashSet fJSPImplicitObjectMap = new HashSet(fJspImplicitObjects.length);
-	static {
-		for(int i = 0; i < fJspImplicitObjects.length; i++) {
-			fJSPImplicitObjectMap.add(fJspImplicitObjects[i]);
-		}
-	}
-	
-	private static final String fFooter = " ;" + ENDL + "}" + ENDL; //$NON-NLS-1$ //$NON-NLS-2$
-
-	private StringBuffer fResult;
-	private Map fCodeMap;
-	private int fOffsetInUserCode;
-	private int methodCounter = 0;
-	private JSPTranslator fTranslator = null;
-	private int fContentStart;
-	private static Map fOperatorMap;
-	
-	// this flag lets us know if we were unable to generate for some reason.  One possible reason is that the expression 
-	// contains a reference to a variable for which information is only available at runtime.
-	private boolean fCanGenerate = true;
-
-	/**
-	 * Tranlsation of XML-style operators to java
-	 */
-	static {
-		fOperatorMap = new HashMap();
-		fOperatorMap.put("gt", ">"); //$NON-NLS-1$ //$NON-NLS-2$
-		fOperatorMap.put("lt", "<"); //$NON-NLS-1$ //$NON-NLS-2$
-		fOperatorMap.put("ge", ">="); //$NON-NLS-1$ //$NON-NLS-2$
-		fOperatorMap.put("le", "<="); //$NON-NLS-1$ //$NON-NLS-2$
-		fOperatorMap.put("mod", "%"); //$NON-NLS-1$ //$NON-NLS-2$
-		fOperatorMap.put("eq", "=="); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-	
-	/**
-	 * The constructor squirrels away a few things we'll need later
-	 * 
-	 * @param result
-	 * @param codeMap
-	 * @param translator
-	 * @param jspReferenceRegion
-	 * @param contentStart
-	 */
-	public ELGeneratorVisitor(StringBuffer result, Map codeMap, JSPTranslator translator, ITextRegionCollection jspReferenceRegion, int contentStart)
-	{
-		fResult = result;
-		fCodeMap = codeMap;
-		fOffsetInUserCode = result.length();
-		fContentStart = contentStart;
-		fTranslator = translator;
-	}
-
-	/**
-	 * Append a token to the output stream.  Automatically calculating mapping.
-	 * 
-	 * @param token
-	 */
-	private void append(Token token)
-	{
-		append(token.image, token.beginColumn - 1, token.endColumn);
-	}
-	
-	/**
-	 * Append a translation for the corresponding input token.
-	 * 
-	 * @param translated
-	 * @param token
-	 */
-	private void append(String translated, Token token)
-	{
-		append(translated, token.beginColumn - 1, token.endColumn);
-	}
-
-	/**
-	 * Append a string explicitly giving the input mapping.
-	 * 
-	 * @param newText
-	 * @param jspPositionStart
-	 * @param jspPositionEnd
-	 */
-	private void append(String newText, int jspPositionStart, int jspPositionEnd)
-	{
-		fResult.append(newText);
-		Position javaRange = new Position(fOffsetInUserCode, newText.length());
-		Position jspRange = new Position(fContentStart + jspPositionStart, jspPositionEnd - jspPositionStart);
-
-		fCodeMap.put(javaRange, jspRange);
-		fOffsetInUserCode += newText.length();
-	}
-	
-	/**
-	 * Append text that will be unmapped and therefore will not be available for completion.
-	 * 
-	 * @param newText
-	 */
-	private void append(String newText)
-	{
-		fResult.append(newText);
-		fOffsetInUserCode += newText.length();
-	}
-	
-	/**
-	 * Generate a function invocation.
-	 * 
-	 * @param fullFunctionName
-	 * @return
-	 */
-	protected String genFunction(String fullFunctionName) {
-		TLDCMDocumentManager docMgr = TaglibController.getTLDCMDocumentManager(fTranslator.getStructuredDocument());
-		int colonIndex = fullFunctionName.indexOf(':');
-		String prefix = fullFunctionName.substring(0, colonIndex);
-		String functionName = fullFunctionName.substring(colonIndex + 1);
-		if (docMgr == null)
-			return null;
-		
-		Iterator taglibs = docMgr.getCMDocumentTrackers(fTranslator.getCurrentNode().getStartOffset()).iterator();
-		while (taglibs.hasNext()) {
-			TaglibTracker tracker = (TaglibTracker)taglibs.next();
-			if(tracker.getPrefix().equals(prefix)) {
-				CMDocumentImpl doc = (CMDocumentImpl)tracker.getDocument();
-				
-				List functions = doc.getFunctions();
-				for(Iterator it = functions.iterator(); it.hasNext(); ) {
-					TLDFunction function = (TLDFunction)it.next();
-					if(function.getName().equals(functionName)) {
-						return function.getClassName() + "." + function.getName(); //$NON-NLS-1$
-					}
-				}
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Handle a simple node -- fallback
-	 */
-	public Object visit(SimpleNode node, Object data) {
-		return(node.childrenAccept(this, data));
-	}
-
-	/**
-	 * Handle top-level expression
-	 */
-	public Object visit(ASTExpression node, Object data) {
-		int start = node.getFirstToken().beginColumn - 1;
-		int end = node.lastToken.endColumn - 1;
-		append(fExpressionHeader1, start, start);
-		append(Integer.toString(methodCounter++), start, start);
-		append(fExpressionHeader2, start, start);
-		
-		Object retval = node.childrenAccept(this, data);
-
-		append(fFooter, end, end);
-		
-		// something is preventing good code generation so empty out the result and the map.
-		if(!fCanGenerate) {
-			fResult.delete(0, fResult.length());
-			fCodeMap.clear();			
-		}
-		return retval;
-	}
-
-	/**
-	 * Generically generate an operator node.
-	 * 
-	 * @param node
-	 * @param data
-	 */
-	private void generateOperatorNode(ASTOperatorExpression node, Object data) {
-		for(int i = 0; i < node.children.length; i++) {
-			node.children[i].jjtAccept(this, data);
-			if( node.children.length - i > 1) {
-				appendOperator((Token)node.getOperatorTokens().get(i));
-			}
-		}
-	}
-	
-	/**
-	 * Append an operator to the output stream after translation (if any)
-	 * 
-	 * @param token
-	 * @return
-	 */
-	private String appendOperator(Token token) {
-		String tokenImage = token.image.trim();
-		String translated = (String)fOperatorMap.get(tokenImage);
-		if(null != translated) {
-			append(translated, token);
-		} else {
-			append(token);
-		}
-		return(translated);
-	}
-
-	/**
-	 * Handle or Expression
-	 */
-	public Object visit(ASTOrExpression node, Object data) {
-		generateOperatorNode(node, data);
-		return(null);
-	}
-
-
-	/**
-	 * Handle and expression 
-	 */
-	public Object visit(ASTAndExpression node, Object data) {
-		generateOperatorNode(node, data);
-		return(null);
-	}
-
-
-	/**
-	 * Handle equality
-	 */
-	public Object visit(ASTEqualityExpression node, Object data) {
-		generateOperatorNode(node, data);
-		return(null);
-	}
-
-
-	/**
-	 * Handle Relational
-	 */
-	public Object visit(ASTRelationalExpression node, Object data) {
-		generateOperatorNode(node, data);
-		return(null);
-	}
-
-
-	/**
-	 * Handle addition
-	 */
-	public Object visit(ASTAddExpression node, Object data) {
-		generateOperatorNode(node, data);
-		return(null);
-	}
-
-
-	/**
-	 * Handle multiply
-	 */
-	public Object visit(ASTMultiplyExpression node, Object data) {
-		generateOperatorNode(node, data);
-		return(null);
-	}
-
-
-	/** 
-	 * Choice Expression (ternary operator)
-	 */
-	public Object visit(ASTChoiceExpression node, Object data) {
-		node.children[0].jjtAccept(this, data);
-		append("?"); //$NON-NLS-1$
-		node.children[1].jjtAccept(this, data);
-		append(":"); //$NON-NLS-1$
-		node.children[2].jjtAccept(this,data);
-		return null;
-	}
-
-
-	/**
-	 * Handle unary
-	 */
-	public Object visit(ASTUnaryExpression node, Object data) {
-		if(JSPELParserConstants.EMPTY == node.firstToken.kind) {
-			append("((null == "); //$NON-NLS-1$
-			node.childrenAccept(this, data);
-			append(") || ("); //$NON-NLS-1$
-			node.childrenAccept(this, data);
-			append(").isEmpty())"); //$NON-NLS-1$
-		} else if(JSPELParserConstants.NOT1 == node.firstToken.kind || JSPELParserConstants.NOT2 == node.firstToken.kind) {
-			append("(!"); //$NON-NLS-1$
-			node.childrenAccept(this, data);
-			append(")"); //$NON-NLS-1$
-		} else if(JSPELParserConstants.MINUS == node.firstToken.kind) {
-			append("(-"); //$NON-NLS-1$
-			node.childrenAccept(this, data);
-			append(")"); //$NON-NLS-1$
-		} else {
-			node.childrenAccept(this, data);
-		}
-		return null;
-	}
-
-
-	/**
-	 * Value node
-	 */
-	public Object visit(ASTValue node, Object data) {
-		return node.childrenAccept(this, data);	
-	}
-
-
-	/**
-	 * Value Prefix
-	 */
-	public Object visit(ASTValuePrefix node, Object data) {
-		// this is a raw identifier.  May sure it's an implicit object.
-		// This is the primary plae where modification is needed to 
-		// support JSF backing beans.
-		if(null == node.children) {
-			if(isImplicitObject(node.firstToken.image)) {
-				append(node.firstToken);
-			} else {
-				fCanGenerate = false;
-			}
-			return(null);
-		}
-		return node.childrenAccept(this, data);
-	}
-
-
-	/**
-	 * Function for testing implicit objects.
-	 * 
-	 * @param image
-	 * @return
-	 */
-	private boolean isImplicitObject(String image) {
-		return fJSPImplicitObjectMap.contains(image);
-	}
-
-	/**
-	 * Value suffix
-	 */
-	public Object visit(ASTValueSuffix node, Object data) {
-		if(JSPELParserConstants.LBRACKET == node.firstToken.kind) {
-			fCanGenerate = false;
-		} else if(null != node.getPropertyNameToken()) {
-			Token suffix = node.getPropertyNameToken();
-			String ucaseName = suffix.image.substring(0, 1).toUpperCase() + suffix.image.substring(1, suffix.image.length()); 
-			append(node.firstToken);
-			append("get" + ucaseName + "()", suffix); //$NON-NLS-1$ //$NON-NLS-2$
-		} else {
-			append(node.firstToken);
-		}
-		return null;
-	}
-
-
-	/**
-	 * Function invocation
-	 */
-	public Object visit(ASTFunctionInvocation node, Object data) {
-		String functionTranslation = genFunction(node.getFullFunctionName());
-		if(null != functionTranslation)
-		{
-			append(functionTranslation + "(", node.getFirstToken()); //$NON-NLS-1$
-			for(int i = 0; i < node.children.length; i++) {
-				node.children[i].jjtAccept(this, data);
-				if( node.children.length - i > 1){
-					append(","); //$NON-NLS-1$
-				}
-			}
-			append(")"); //$NON-NLS-1$
-		}
-		return null;
-	}
-
-	/**
-	 * Literal
-	 */
-	public Object visit(ASTLiteral node, Object data) {
-		// TODO any further translation needed?
-		append(node.firstToken);
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/FindFunctionInvocationVisitor.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/FindFunctionInvocationVisitor.java
deleted file mode 100644
index b6ff099..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/FindFunctionInvocationVisitor.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package org.eclipse.jst.jsp.core.internal.java.jspel;
-
-public class FindFunctionInvocationVisitor implements JSPELParserVisitor {
-	protected int fCursorPosition;
-	
-	public FindFunctionInvocationVisitor(int cursorPosition)
-	{
-		fCursorPosition = cursorPosition;
-	}
-	
-	protected boolean isEnclosing(SimpleNode node) {
-		return(node.firstToken.beginColumn < fCursorPosition && node.lastToken.endColumn >= fCursorPosition);
-	}
-
-	
-	protected Object visitEnclosingChild(SimpleNode node, Object data)	{
-		if(null == node.children)
-			return null;
-		
-		for(int i = 0; i < node.children.length; i++) {
-			if(isEnclosing(node)) 
-				return node.children[i].jjtAccept(this, data);
-		}
-		return null;
-	}
-
-	public Object visit(SimpleNode node, Object data) {
-		return visitEnclosingChild(node, data);
-	}
-
-	public Object visit(ASTExpression node, Object data) {
-		return visitEnclosingChild(node, data);
-	}
-
-	public Object visit(ASTOrExpression node, Object data) {
-		return visitEnclosingChild(node, data);
-	}
-
-	public Object visit(ASTAndExpression node, Object data) {
-		return visitEnclosingChild(node, data);
-	}
-
-	public Object visit(ASTEqualityExpression node, Object data) {
-		return visitEnclosingChild(node, data);
-	}
-
-	public Object visit(ASTRelationalExpression node, Object data) {
-		return visitEnclosingChild(node, data);
-	}
-
-	public Object visit(ASTAddExpression node, Object data) {
-		return visitEnclosingChild(node, data);
-	}
-
-	public Object visit(ASTMultiplyExpression node, Object data) {
-		return visitEnclosingChild(node, data);
-	}
-
-	public Object visit(ASTChoiceExpression node, Object data) {
-		return visitEnclosingChild(node, data);
-	}
-
-	public Object visit(ASTUnaryExpression node, Object data) {
-		return visitEnclosingChild(node, data);
-	}
-
-	public Object visit(ASTValue node, Object data) {
-		return visitEnclosingChild(node, data);
-	}
-
-	public Object visit(ASTValuePrefix node, Object data) {
-		return visitEnclosingChild(node, data);
-	}
-
-	public Object visit(ASTValueSuffix node, Object data) {
-		return visitEnclosingChild(node, data);
-	}
-
-	public Object visit(ASTFunctionInvocation node, Object data) {
-		Object nestedInvocation = visitEnclosingChild(node, data);
-		if(null != nestedInvocation)
-			return nestedInvocation;
-		return node;
-	}
-
-	public Object visit(ASTLiteral node, Object data) {
-		return visitEnclosingChild(node, data);
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/JJTJSPELParserState.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/JJTJSPELParserState.java
deleted file mode 100644
index 0587e49..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/JJTJSPELParserState.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/* Generated By:JJTree: Do not edit this line. JJTJSPELParserState.java */
-
-package org.eclipse.jst.jsp.core.internal.java.jspel;
-
-class JJTJSPELParserState {
-  private java.util.Stack nodes;
-  private java.util.Stack marks;
-
-  private int sp;		// number of nodes on stack
-  private int mk;		// current mark
-  private boolean node_created;
-
-  JJTJSPELParserState() {
-    nodes = new java.util.Stack();
-    marks = new java.util.Stack();
-    sp = 0;
-    mk = 0;
-  }
-
-  /* Determines whether the current node was actually closed and
-     pushed.  This should only be called in the final user action of a
-     node scope.  */
-  boolean nodeCreated() {
-    return node_created;
-  }
-
-  /* Call this to reinitialize the node stack.  It is called
-     automatically by the parser's ReInit() method. */
-  void reset() {
-    nodes.removeAllElements();
-    marks.removeAllElements();
-    sp = 0;
-    mk = 0;
-  }
-
-  /* Returns the root node of the AST.  It only makes sense to call
-     this after a successful parse. */
-  Node rootNode() {
-    return (Node)nodes.elementAt(0);
-  }
-
-  /* Pushes a node on to the stack. */
-  void pushNode(Node n) {
-    nodes.push(n);
-    ++sp;
-  }
-
-  /* Returns the node on the top of the stack, and remove it from the
-     stack.  */
-  Node popNode() {
-    if (--sp < mk) {
-      mk = ((Integer)marks.pop()).intValue();
-    }
-    return (Node)nodes.pop();
-  }
-
-  /* Returns the node currently on the top of the stack. */
-  Node peekNode() {
-    return (Node)nodes.peek();
-  }
-
-  /* Returns the number of children on the stack in the current node
-     scope. */
-  int nodeArity() {
-    return sp - mk;
-  }
-
-
-  void clearNodeScope(Node n) {
-    while (sp > mk) {
-      popNode();
-    }
-    mk = ((Integer)marks.pop()).intValue();
-  }
-
-
-  void openNodeScope(Node n) {
-    marks.push(new Integer(mk));
-    mk = sp;
-    n.jjtOpen();
-  }
-
-
-  /* A definite node is constructed from a specified number of
-     children.  That number of nodes are popped from the stack and
-     made the children of the definite node.  Then the definite node
-     is pushed on to the stack. */
-  void closeNodeScope(Node n, int num) {
-    mk = ((Integer)marks.pop()).intValue();
-    while (num-- > 0) {
-      Node c = popNode();
-      c.jjtSetParent(n);
-      n.jjtAddChild(c, num);
-    }
-    n.jjtClose();
-    pushNode(n);
-    node_created = true;
-  }
-
-
-  /* A conditional node is constructed if its condition is true.  All
-     the nodes that have been pushed since the node was opened are
-     made children of the the conditional node, which is then pushed
-     on to the stack.  If the condition is false the node is not
-     constructed and they are left on the stack. */
-  void closeNodeScope(Node n, boolean condition) {
-    if (condition) {
-      int a = nodeArity();
-      mk = ((Integer)marks.pop()).intValue();
-      while (a-- > 0) {
-	Node c = popNode();
-	c.jjtSetParent(n);
-	n.jjtAddChild(c, a);
-      }
-      n.jjtClose();
-      pushNode(n);
-      node_created = true;
-    } else {
-      mk = ((Integer)marks.pop()).intValue();
-      node_created = false;
-    }
-  }
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/JSPEL.jj b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/JSPEL.jj
deleted file mode 100644
index d2051bd..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/JSPEL.jj
+++ /dev/null
@@ -1,660 +0,0 @@
-/*@bgen(jjtree) Generated By:JJTree: Do not edit this line. JSPEL.jj */

-/*@egen*/options {

-  JAVA_UNICODE_ESCAPE = false;

-  UNICODE_INPUT = true;

-  STATIC = false;

-  OPTIMIZE_TOKEN_MANAGER = true;                                                                                                                                 

-}

-

-PARSER_BEGIN(JSPELParser)

-

-package org.eclipse.jst.jsp.core.internal.java.jspel;

-

-public class JSPELParser/*@bgen(jjtree)*/implements JSPELParserTreeConstants/*@egen*/ {/*@bgen(jjtree)*/

-  protected JJTJSPELParserState jjtree = new JJTJSPELParserState();

-

-/*@egen*/

-  

-  void jjtreeOpenNodeScope(Node n)

-  {

-  	((SimpleNode)n).setFirstToken(getToken(1));

-  }

-

-  void jjtreeCloseNodeScope(Node n)

-  {

-    ((SimpleNode)n).setLastToken(getToken(0));

-  }

-  

-  public static JSPELParser createParser(java.lang.String input) {

-  	java.io.StringReader reader = new java.io.StringReader(input);

-  	return new JSPELParser(reader);

-  }

-  

-  public void ReInit(java.lang.String input) {

-   	java.io.StringReader reader = new java.io.StringReader(input);

-   	ReInit(reader);

-  }

-  

-}

-

-PARSER_END(JSPELParser)

-

-SKIP :

-{

-  " "

-| "\t"

-| "\n"

-| "\r"

-}

-

-TOKEN :

-{

-/* Literals */

-  < INTEGER_LITERAL: ["0"-"9"] (["0"-"9"])* >

-|

-  < FLOATING_POINT_LITERAL:

-        (["0"-"9"])+ "." (["0"-"9"])* (<EXPONENT>)?

-      | "." (["0"-"9"])+ (<EXPONENT>)?

-      | (["0"-"9"])+ <EXPONENT>

-  >

-|

-  < #EXPONENT: ["e","E"] (["+","-"])? (["0"-"9"])+ >

-|

-  < STRING_LITERAL:

-      ("\"" ((~["\"","\\"]) | ("\\" ( ["\\","\""] )))* "\"") |

-      ("\'" ((~["\'","\\"]) | ("\\" ( ["\\","\'"] )))* "\'")

-  >

-|

-  < BADLY_ESCAPED_STRING_LITERAL:

-      ("\"" (~["\"","\\"])* ("\\" ( ~["\\","\""] ))) |

-      ("\'" (~["\'","\\"])* ("\\" ( ~["\\","\'"] )))

-  >

-

-/* Reserved Words and Symbols */

-| < TRUE: "true" >

-| < FALSE: "false" >

-| < NULL: "null" >

-| < DOT: "." >

-| < GT1: ">" >

-| < GT2: "gt" >

-| < LT1: "<" >

-| < LT2: "lt" >

-| < EQ1: "==" >

-| < EQ2: "eq" >

-| < LE1: "<=" >

-| < LE2: "le" >

-| < GE1: ">=" >

-| < GE2: "ge" >

-| < NEQ1: "!=" >

-| < NEQ2: "ne" >

-| < LPAREN: "(" >

-| < RPAREN: ")" >

-| < COMMA: "," >

-| < COLON: ":" >

-| < LBRACKET: "[" >

-| < RBRACKET: "]" >

-| < PLUS: "+" >

-| < MINUS: "-" >

-| < MULTIPLY: "*" >

-| < DIVIDE1: "/" >

-| < DIVIDE2: "div" >

-| < MODULUS1: "%" >

-| < MODULUS2: "mod" >

-| < NOT1: "not" >

-| < NOT2: "!" >

-| < AND1: "and" >

-| < AND2: "&&" >

-| < OR1: "or" >

-| < OR2: "||" >

-| < EMPTY: "empty" >

-| < COND: "?" >

-

-/* Identifiers */

-

-| < IDENTIFIER: (<LETTER>|<IMPL_OBJ_START>) (<LETTER>|<DIGIT>)* >

-| < #IMPL_OBJ_START: "#" >

-|

-  < #LETTER:

-      [

-       "$",

-       "A"-"Z",

-       "_",

-       "a"-"z",

-       "\u00c0"-"\u00d6",

-       "\u00d8"-"\u00f6",

-       "\u00f8"-"\u00ff",

-       "\u0100"-"\u1fff",

-       "\u3040"-"\u318f",

-       "\u3300"-"\u337f",

-       "\u3400"-"\u3d2d",

-       "\u4e00"-"\u9fff",

-       "\uf900"-"\ufaff"

-      ]

-  >

-|

-  < #DIGIT:

-      [

-       "0"-"9",

-       "\u0660"-"\u0669",

-       "\u06f0"-"\u06f9",

-       "\u0966"-"\u096f",

-       "\u09e6"-"\u09ef",

-       "\u0a66"-"\u0a6f",

-       "\u0ae6"-"\u0aef",

-       "\u0b66"-"\u0b6f",

-       "\u0be7"-"\u0bef",

-       "\u0c66"-"\u0c6f",

-       "\u0ce6"-"\u0cef",

-       "\u0d66"-"\u0d6f",

-       "\u0e50"-"\u0e59",

-       "\u0ed0"-"\u0ed9",

-       "\u1040"-"\u1049"

-      ]

-  >

-}

-

-ASTExpression Expression() : {/*@bgen(jjtree) Expression */

-  ASTExpression jjtn000 = new ASTExpression(JJTEXPRESSION);

-  boolean jjtc000 = true;

-  jjtree.openNodeScope(jjtn000);

-  jjtreeOpenNodeScope(jjtn000);

-/*@egen*/}

-{/*@bgen(jjtree) Expression */

-        try {

-/*@egen*/

-	(LOOKAHEAD(ChoiceExpression()) ChoiceExpression() | OrExpression())/*@bgen(jjtree)*/

-                                                                            {

-                                                                              jjtree.closeNodeScope(jjtn000, true);

-                                                                              jjtc000 = false;

-                                                                              jjtreeCloseNodeScope(jjtn000);

-                                                                            }

-/*@egen*/ { return jjtn000; }/*@bgen(jjtree)*/

-        } catch (Throwable jjte000) {

-          if (jjtc000) {

-            jjtree.clearNodeScope(jjtn000);

-            jjtc000 = false;

-          } else {

-            jjtree.popNode();

-          }

-          if (jjte000 instanceof RuntimeException) {

-            throw (RuntimeException)jjte000;

-          }

-          if (jjte000 instanceof ParseException) {

-            throw (ParseException)jjte000;

-          }

-          throw (Error)jjte000;

-        } finally {

-          if (jjtc000) {

-            jjtree.closeNodeScope(jjtn000, true);

-            jjtreeCloseNodeScope(jjtn000);

-          }

-        }

-/*@egen*/

-}

-

-void OrExpression()                   : 

-{/*@bgen(jjtree) #OrExpression(> 1) */

-        ASTOrExpression jjtn000 = new ASTOrExpression(JJTOREXPRESSION);

-        boolean jjtc000 = true;

-        jjtree.openNodeScope(jjtn000);

-        jjtreeOpenNodeScope(jjtn000);

-/*@egen*/

-	Token t;

-}

-{/*@bgen(jjtree) #OrExpression(> 1) */

-        try {

-/*@egen*/

-	AndExpression() ((t = <OR1> | t = <OR2>) { jjtn000.addOperatorToken(t); }

-	AndExpression())*/*@bgen(jjtree)*/

-        } catch (Throwable jjte000) {

-          if (jjtc000) {

-            jjtree.clearNodeScope(jjtn000);

-            jjtc000 = false;

-          } else {

-            jjtree.popNode();

-          }

-          if (jjte000 instanceof RuntimeException) {

-            throw (RuntimeException)jjte000;

-          }

-          if (jjte000 instanceof ParseException) {

-            throw (ParseException)jjte000;

-          }

-          throw (Error)jjte000;

-        } finally {

-          if (jjtc000) {

-            jjtree.closeNodeScope(jjtn000, jjtree.nodeArity() > 1);

-            jjtreeCloseNodeScope(jjtn000);

-          }

-        }

-/*@egen*/

-}

-

-void AndExpression()                    : 

-{/*@bgen(jjtree) #AndExpression(> 1) */

-        ASTAndExpression jjtn000 = new ASTAndExpression(JJTANDEXPRESSION);

-        boolean jjtc000 = true;

-        jjtree.openNodeScope(jjtn000);

-        jjtreeOpenNodeScope(jjtn000);

-/*@egen*/

-	Token t;

-}

-{/*@bgen(jjtree) #AndExpression(> 1) */

-        try {

-/*@egen*/

-	EqualityExpression() ((t = <AND1> | t = <AND2>) { jjtn000.addOperatorToken(t); }

-	EqualityExpression())*/*@bgen(jjtree)*/

-        } catch (Throwable jjte000) {

-          if (jjtc000) {

-            jjtree.clearNodeScope(jjtn000);

-            jjtc000 = false;

-          } else {

-            jjtree.popNode();

-          }

-          if (jjte000 instanceof RuntimeException) {

-            throw (RuntimeException)jjte000;

-          }

-          if (jjte000 instanceof ParseException) {

-            throw (ParseException)jjte000;

-          }

-          throw (Error)jjte000;

-        } finally {

-          if (jjtc000) {

-            jjtree.closeNodeScope(jjtn000, jjtree.nodeArity() > 1);

-            jjtreeCloseNodeScope(jjtn000);

-          }

-        }

-/*@egen*/	

-}

-

-void EqualityExpression()                         : 

-{/*@bgen(jjtree) #EqualityExpression(> 1) */

-        ASTEqualityExpression jjtn000 = new ASTEqualityExpression(JJTEQUALITYEXPRESSION);

-        boolean jjtc000 = true;

-        jjtree.openNodeScope(jjtn000);

-        jjtreeOpenNodeScope(jjtn000);

-/*@egen*/

-	Token t;

-}

-{/*@bgen(jjtree) #EqualityExpression(> 1) */

-        try {

-/*@egen*/

-	RelationalExpression() 

-	((t = <EQ1> | t = <EQ2> | t = <NEQ1> | t = <NEQ2>) { jjtn000.addOperatorToken(t); }

-	RelationalExpression())*/*@bgen(jjtree)*/

-        } catch (Throwable jjte000) {

-          if (jjtc000) {

-            jjtree.clearNodeScope(jjtn000);

-            jjtc000 = false;

-          } else {

-            jjtree.popNode();

-          }

-          if (jjte000 instanceof RuntimeException) {

-            throw (RuntimeException)jjte000;

-          }

-          if (jjte000 instanceof ParseException) {

-            throw (ParseException)jjte000;

-          }

-          throw (Error)jjte000;

-        } finally {

-          if (jjtc000) {

-            jjtree.closeNodeScope(jjtn000, jjtree.nodeArity() > 1);

-            jjtreeCloseNodeScope(jjtn000);

-          }

-        }

-/*@egen*/

-}

-

-void RelationalExpression()                           :

-{/*@bgen(jjtree) #RelationalExpression(> 1) */

-        ASTRelationalExpression jjtn000 = new ASTRelationalExpression(JJTRELATIONALEXPRESSION);

-        boolean jjtc000 = true;

-        jjtree.openNodeScope(jjtn000);

-        jjtreeOpenNodeScope(jjtn000);

-/*@egen*/

-	Token t;

-}

-{/*@bgen(jjtree) #RelationalExpression(> 1) */

-        try {

-/*@egen*/

-	AddExpression() 

-	(

-		(t = <LT1> | t = <LT2> | t = <GT1> | t = <GT2> | t = <GE1> | t = <GE2> | t = <LE1> | t = <LE2>)  { jjtn000.addOperatorToken(t); }

-		AddExpression()

-	)*/*@bgen(jjtree)*/

-        } catch (Throwable jjte000) {

-          if (jjtc000) {

-            jjtree.clearNodeScope(jjtn000);

-            jjtc000 = false;

-          } else {

-            jjtree.popNode();

-          }

-          if (jjte000 instanceof RuntimeException) {

-            throw (RuntimeException)jjte000;

-          }

-          if (jjte000 instanceof ParseException) {

-            throw (ParseException)jjte000;

-          }

-          throw (Error)jjte000;

-        } finally {

-          if (jjtc000) {

-            jjtree.closeNodeScope(jjtn000, jjtree.nodeArity() > 1);

-            jjtreeCloseNodeScope(jjtn000);

-          }

-        }

-/*@egen*/

-}

-

-void AddExpression()                    : 

-{/*@bgen(jjtree) #AddExpression(> 1) */

-        ASTAddExpression jjtn000 = new ASTAddExpression(JJTADDEXPRESSION);

-        boolean jjtc000 = true;

-        jjtree.openNodeScope(jjtn000);

-        jjtreeOpenNodeScope(jjtn000);

-/*@egen*/

-	Token t;

-}

-{/*@bgen(jjtree) #AddExpression(> 1) */

-        try {

-/*@egen*/

-	MultiplyExpression() ((t = <PLUS> | t = <MINUS>) { jjtn000.addOperatorToken(t); }

-	MultiplyExpression())*/*@bgen(jjtree)*/

-        } catch (Throwable jjte000) {

-          if (jjtc000) {

-            jjtree.clearNodeScope(jjtn000);

-            jjtc000 = false;

-          } else {

-            jjtree.popNode();

-          }

-          if (jjte000 instanceof RuntimeException) {

-            throw (RuntimeException)jjte000;

-          }

-          if (jjte000 instanceof ParseException) {

-            throw (ParseException)jjte000;

-          }

-          throw (Error)jjte000;

-        } finally {

-          if (jjtc000) {

-            jjtree.closeNodeScope(jjtn000, jjtree.nodeArity() > 1);

-            jjtreeCloseNodeScope(jjtn000);

-          }

-        }

-/*@egen*/

-}

-

-void MultiplyExpression()                         : 

-{/*@bgen(jjtree) #MultiplyExpression(> 1) */

-        ASTMultiplyExpression jjtn000 = new ASTMultiplyExpression(JJTMULTIPLYEXPRESSION);

-        boolean jjtc000 = true;

-        jjtree.openNodeScope(jjtn000);

-        jjtreeOpenNodeScope(jjtn000);

-/*@egen*/

-	Token t;

-}

-{/*@bgen(jjtree) #MultiplyExpression(> 1) */

-        try {

-/*@egen*/

-	UnaryExpression() (

-		( t = <MULTIPLY> | t = <DIVIDE1> | t = <DIVIDE2> | t = <MODULUS1> | t = <MODULUS2>) { jjtn000.addOperatorToken(t); }

-		UnaryExpression()	

-	)*/*@bgen(jjtree)*/

-        } catch (Throwable jjte000) {

-          if (jjtc000) {

-            jjtree.clearNodeScope(jjtn000);

-            jjtc000 = false;

-          } else {

-            jjtree.popNode();

-          }

-          if (jjte000 instanceof RuntimeException) {

-            throw (RuntimeException)jjte000;

-          }

-          if (jjte000 instanceof ParseException) {

-            throw (ParseException)jjte000;

-          }

-          throw (Error)jjte000;

-        } finally {

-          if (jjtc000) {

-            jjtree.closeNodeScope(jjtn000, jjtree.nodeArity() > 1);

-            jjtreeCloseNodeScope(jjtn000);

-          }

-        }

-/*@egen*/

-}

-

-void ChoiceExpression() : {/*@bgen(jjtree) ChoiceExpression */

-  ASTChoiceExpression jjtn000 = new ASTChoiceExpression(JJTCHOICEEXPRESSION);

-  boolean jjtc000 = true;

-  jjtree.openNodeScope(jjtn000);

-  jjtreeOpenNodeScope(jjtn000);

-/*@egen*/}

-{/*@bgen(jjtree) ChoiceExpression */

-        try {

-/*@egen*/

-	OrExpression() <COND> Expression() <COLON> Expression()/*@bgen(jjtree)*/

-        } catch (Throwable jjte000) {

-          if (jjtc000) {

-            jjtree.clearNodeScope(jjtn000);

-            jjtc000 = false;

-          } else {

-            jjtree.popNode();

-          }

-          if (jjte000 instanceof RuntimeException) {

-            throw (RuntimeException)jjte000;

-          }

-          if (jjte000 instanceof ParseException) {

-            throw (ParseException)jjte000;

-          }

-          throw (Error)jjte000;

-        } finally {

-          if (jjtc000) {

-            jjtree.closeNodeScope(jjtn000, true);

-            jjtreeCloseNodeScope(jjtn000);

-          }

-        }

-/*@egen*/

-}

-

-void UnaryExpression() : {/*@bgen(jjtree) UnaryExpression */

-  ASTUnaryExpression jjtn000 = new ASTUnaryExpression(JJTUNARYEXPRESSION);

-  boolean jjtc000 = true;

-  jjtree.openNodeScope(jjtn000);

-  jjtreeOpenNodeScope(jjtn000);

-/*@egen*/}

-{/*@bgen(jjtree) UnaryExpression */

-        try {

-/*@egen*/

-	((<NOT1> | <MINUS> | <EMPTY>) UnaryExpression())

-	| Value()/*@bgen(jjtree)*/

-        } catch (Throwable jjte000) {

-          if (jjtc000) {

-            jjtree.clearNodeScope(jjtn000);

-            jjtc000 = false;

-          } else {

-            jjtree.popNode();

-          }

-          if (jjte000 instanceof RuntimeException) {

-            throw (RuntimeException)jjte000;

-          }

-          if (jjte000 instanceof ParseException) {

-            throw (ParseException)jjte000;

-          }

-          throw (Error)jjte000;

-        } finally {

-          if (jjtc000) {

-            jjtree.closeNodeScope(jjtn000, true);

-            jjtreeCloseNodeScope(jjtn000);

-          }

-        }

-/*@egen*/

-	

-}

-

-void Value() : {/*@bgen(jjtree) Value */

-  ASTValue jjtn000 = new ASTValue(JJTVALUE);

-  boolean jjtc000 = true;

-  jjtree.openNodeScope(jjtn000);

-  jjtreeOpenNodeScope(jjtn000);

-/*@egen*/}

-{/*@bgen(jjtree) Value */

-        try {

-/*@egen*/

-	ValuePrefix() (ValueSuffix())*/*@bgen(jjtree)*/

-        } catch (Throwable jjte000) {

-          if (jjtc000) {

-            jjtree.clearNodeScope(jjtn000);

-            jjtc000 = false;

-          } else {

-            jjtree.popNode();

-          }

-          if (jjte000 instanceof RuntimeException) {

-            throw (RuntimeException)jjte000;

-          }

-          if (jjte000 instanceof ParseException) {

-            throw (ParseException)jjte000;

-          }

-          throw (Error)jjte000;

-        } finally {

-          if (jjtc000) {

-            jjtree.closeNodeScope(jjtn000, true);

-            jjtreeCloseNodeScope(jjtn000);

-          }

-        }

-/*@egen*/

-}

-

-void ValuePrefix() : {/*@bgen(jjtree) ValuePrefix */

-  ASTValuePrefix jjtn000 = new ASTValuePrefix(JJTVALUEPREFIX);

-  boolean jjtc000 = true;

-  jjtree.openNodeScope(jjtn000);

-  jjtreeOpenNodeScope(jjtn000);

-/*@egen*/}

-{/*@bgen(jjtree) ValuePrefix */

-    try {

-/*@egen*/

-    Literal() | (<LPAREN> Expression() <RPAREN>) | LOOKAHEAD(3) FunctionInvocation() | <IDENTIFIER>/*@bgen(jjtree)*/

-    } catch (Throwable jjte000) {

-      if (jjtc000) {

-        jjtree.clearNodeScope(jjtn000);

-        jjtc000 = false;

-      } else {

-        jjtree.popNode();

-      }

-      if (jjte000 instanceof RuntimeException) {

-        throw (RuntimeException)jjte000;

-      }

-      if (jjte000 instanceof ParseException) {

-        throw (ParseException)jjte000;

-      }

-      throw (Error)jjte000;

-    } finally {

-      if (jjtc000) {

-        jjtree.closeNodeScope(jjtn000, true);

-        jjtreeCloseNodeScope(jjtn000);

-      }

-    }

-/*@egen*/ 

-}

-

-void ValueSuffix() : 

-{/*@bgen(jjtree) ValueSuffix */

-        ASTValueSuffix jjtn000 = new ASTValueSuffix(JJTVALUESUFFIX);

-        boolean jjtc000 = true;

-        jjtree.openNodeScope(jjtn000);

-        jjtreeOpenNodeScope(jjtn000);

-/*@egen*/

-	Token t = null;

-}

-{/*@bgen(jjtree) ValueSuffix */

-        try {

-/*@egen*/

-	(<DOT> (t = <IDENTIFIER>)?)/*@bgen(jjtree)*/

-                                    {

-                                      jjtree.closeNodeScope(jjtn000, true);

-                                      jjtc000 = false;

-                                      jjtreeCloseNodeScope(jjtn000);

-                                    }

-/*@egen*/ { jjtn000.setPropertyNameToken(t); }

-	| (<LBRACKET> Expression() <RBRACKET>)/*@bgen(jjtree)*/

-        } catch (Throwable jjte000) {

-          if (jjtc000) {

-            jjtree.clearNodeScope(jjtn000);

-            jjtc000 = false;

-          } else {

-            jjtree.popNode();

-          }

-          if (jjte000 instanceof RuntimeException) {

-            throw (RuntimeException)jjte000;

-          }

-          if (jjte000 instanceof ParseException) {

-            throw (ParseException)jjte000;

-          }

-          throw (Error)jjte000;

-        } finally {

-          if (jjtc000) {

-            jjtree.closeNodeScope(jjtn000, true);

-            jjtreeCloseNodeScope(jjtn000);

-          }

-        }

-/*@egen*/

-}

-

-void FunctionInvocation() : 

-{/*@bgen(jjtree) FunctionInvocation */

-        ASTFunctionInvocation jjtn000 = new ASTFunctionInvocation(JJTFUNCTIONINVOCATION);

-        boolean jjtc000 = true;

-        jjtree.openNodeScope(jjtn000);

-        jjtreeOpenNodeScope(jjtn000);

-/*@egen*/

-	Token prefix = null, name = null;

-}

-{/*@bgen(jjtree) FunctionInvocation */

-    try {

-/*@egen*/

-    (prefix = <IDENTIFIER> <COLON>) { jjtn000.setFullFunctionName(prefix.image + ":"); }

-	(name = <IDENTIFIER>)? {

-    	if(null != prefix && null != name)

-	    	jjtn000.setFullFunctionName(prefix.image + ":" + (null == name ? "" : name.image));

-	    else if(null != name)

-	    	jjtn000.setFullFunctionName(name.image);

-	}

-	(<LPAREN> Expression() (<COMMA> Expression())* try  { (<RPAREN>) } catch (Exception e) {} )?/*@bgen(jjtree)*/

-    } catch (Throwable jjte000) {

-      if (jjtc000) {

-        jjtree.clearNodeScope(jjtn000);

-        jjtc000 = false;

-      } else {

-        jjtree.popNode();

-      }

-      if (jjte000 instanceof RuntimeException) {

-        throw (RuntimeException)jjte000;

-      }

-      if (jjte000 instanceof ParseException) {

-        throw (ParseException)jjte000;

-      }

-      throw (Error)jjte000;

-    } finally {

-      if (jjtc000) {

-        jjtree.closeNodeScope(jjtn000, true);

-        jjtreeCloseNodeScope(jjtn000);

-      }

-    }

-/*@egen*/

-}

-

-void Literal() : {/*@bgen(jjtree) Literal */

-  ASTLiteral jjtn000 = new ASTLiteral(JJTLITERAL);

-  boolean jjtc000 = true;

-  jjtree.openNodeScope(jjtn000);

-  jjtreeOpenNodeScope(jjtn000);

-/*@egen*/}

-{/*@bgen(jjtree) Literal */

-        try {

-/*@egen*/

-	<TRUE> | <FALSE> | <INTEGER_LITERAL> | <FLOATING_POINT_LITERAL> | <STRING_LITERAL> | <NULL>/*@bgen(jjtree)*/

-        } finally {

-          if (jjtc000) {

-            jjtree.closeNodeScope(jjtn000, true);

-            jjtreeCloseNodeScope(jjtn000);

-          }

-        }

-/*@egen*/

-}

diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/JSPEL.jjt b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/JSPEL.jjt
deleted file mode 100644
index 70bc127..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/JSPEL.jjt
+++ /dev/null
@@ -1,270 +0,0 @@
-options {

-  JAVA_UNICODE_ESCAPE = false;

-  UNICODE_INPUT = true;

-  STATIC = false;

-  OPTIMIZE_TOKEN_MANAGER = true;

-  MULTI = true;

-  VISITOR = true;

-  NODE_PACKAGE = "org.eclipse.jst.jsp.core.internal.java.jspel";

-  NODE_SCOPE_HOOK = true;

-}

-

-PARSER_BEGIN(JSPELParser)

-

-package org.eclipse.jst.jsp.core.internal.java.jspel;

-

-public class JSPELParser {

-  

-  void jjtreeOpenNodeScope(Node n)

-  {

-  	((SimpleNode)n).setFirstToken(getToken(1));

-  }

-

-  void jjtreeCloseNodeScope(Node n)

-  {

-    ((SimpleNode)n).setLastToken(getToken(0));

-  }

-  

-  public static JSPELParser createParser(java.lang.String input) {

-  	java.io.StringReader reader = new java.io.StringReader(input);

-  	return new JSPELParser(reader);

-  }

-  

-  public void ReInit(java.lang.String input) {

-   	java.io.StringReader reader = new java.io.StringReader(input);

-   	ReInit(reader);

-  }

-  

-}

-

-PARSER_END(JSPELParser)

-

-SKIP :

-{

-  " "

-| "\t"

-| "\n"

-| "\r"

-}

-

-TOKEN :

-{

-/* Literals */

-  < INTEGER_LITERAL: ["0"-"9"] (["0"-"9"])* >

-|

-  < FLOATING_POINT_LITERAL:

-        (["0"-"9"])+ "." (["0"-"9"])* (<EXPONENT>)?

-      | "." (["0"-"9"])+ (<EXPONENT>)?

-      | (["0"-"9"])+ <EXPONENT>

-  >

-|

-  < #EXPONENT: ["e","E"] (["+","-"])? (["0"-"9"])+ >

-|

-  < STRING_LITERAL:

-      ("\"" ((~["\"","\\"]) | ("\\" ( ["\\","\""] )))* "\"") |

-      ("\'" ((~["\'","\\"]) | ("\\" ( ["\\","\'"] )))* "\'")

-  >

-|

-  < BADLY_ESCAPED_STRING_LITERAL:

-      ("\"" (~["\"","\\"])* ("\\" ( ~["\\","\""] ))) |

-      ("\'" (~["\'","\\"])* ("\\" ( ~["\\","\'"] )))

-  >

-

-/* Reserved Words and Symbols */

-| < TRUE: "true" >

-| < FALSE: "false" >

-| < NULL: "null" >

-| < DOT: "." >

-| < GT1: ">" >

-| < GT2: "gt" >

-| < LT1: "<" >

-| < LT2: "lt" >

-| < EQ1: "==" >

-| < EQ2: "eq" >

-| < LE1: "<=" >

-| < LE2: "le" >

-| < GE1: ">=" >

-| < GE2: "ge" >

-| < NEQ1: "!=" >

-| < NEQ2: "ne" >

-| < LPAREN: "(" >

-| < RPAREN: ")" >

-| < COMMA: "," >

-| < COLON: ":" >

-| < LBRACKET: "[" >

-| < RBRACKET: "]" >

-| < PLUS: "+" >

-| < MINUS: "-" >

-| < MULTIPLY: "*" >

-| < DIVIDE1: "/" >

-| < DIVIDE2: "div" >

-| < MODULUS1: "%" >

-| < MODULUS2: "mod" >

-| < NOT1: "not" >

-| < NOT2: "!" >

-| < AND1: "and" >

-| < AND2: "&&" >

-| < OR1: "or" >

-| < OR2: "||" >

-| < EMPTY: "empty" >

-| < COND: "?" >

-

-/* Identifiers */

-

-| < IDENTIFIER: (<LETTER>|<IMPL_OBJ_START>) (<LETTER>|<DIGIT>)* >

-| < #IMPL_OBJ_START: "#" >

-|

-  < #LETTER:

-      [

-       "\u0024",

-       "\u0041"-"\u005a",

-       "\u005f",

-       "\u0061"-"\u007a",

-       "\u00c0"-"\u00d6",

-       "\u00d8"-"\u00f6",

-       "\u00f8"-"\u00ff",

-       "\u0100"-"\u1fff",

-       "\u3040"-"\u318f",

-       "\u3300"-"\u337f",

-       "\u3400"-"\u3d2d",

-       "\u4e00"-"\u9fff",

-       "\uf900"-"\ufaff"

-      ]

-  >

-|

-  < #DIGIT:

-      [

-       "\u0030"-"\u0039",

-       "\u0660"-"\u0669",

-       "\u06f0"-"\u06f9",

-       "\u0966"-"\u096f",

-       "\u09e6"-"\u09ef",

-       "\u0a66"-"\u0a6f",

-       "\u0ae6"-"\u0aef",

-       "\u0b66"-"\u0b6f",

-       "\u0be7"-"\u0bef",

-       "\u0c66"-"\u0c6f",

-       "\u0ce6"-"\u0cef",

-       "\u0d66"-"\u0d6f",

-       "\u0e50"-"\u0e59",

-       "\u0ed0"-"\u0ed9",

-       "\u1040"-"\u1049"

-      ]

-  >

-}

-

-ASTExpression Expression() : {}

-{

-	(LOOKAHEAD(ChoiceExpression()) ChoiceExpression() | OrExpression()) { return jjtThis; }

-}

-

-void OrExpression() #OrExpression(>1) : 

-{

-	Token t;

-}

-{

-	AndExpression() ((t = <OR1> | t = <OR2>) { jjtThis.addOperatorToken(t); }

-	AndExpression())*

-}

-

-void AndExpression() #AndExpression(>1) : 

-{

-	Token t;

-}

-{

-	EqualityExpression() ((t = <AND1> | t = <AND2>) { jjtThis.addOperatorToken(t); }

-	EqualityExpression())*	

-}

-

-void EqualityExpression() #EqualityExpression(>1) : 

-{

-	Token t;

-}

-{

-	RelationalExpression() 

-	((t = <EQ1> | t = <EQ2> | t = <NEQ1> | t = <NEQ2>) { jjtThis.addOperatorToken(t); }

-	RelationalExpression())*

-}

-

-void RelationalExpression() #RelationalExpression(>1) :

-{

-	Token t;

-}

-{

-	AddExpression() 

-	(

-		(t = <LT1> | t = <LT2> | t = <GT1> | t = <GT2> | t = <GE1> | t = <GE2> | t = <LE1> | t = <LE2>)  { jjtThis.addOperatorToken(t); }

-		AddExpression()

-	)*

-}

-

-void AddExpression() #AddExpression(>1) : 

-{

-	Token t;

-}

-{

-	MultiplyExpression() ((t = <PLUS> | t = <MINUS>) { jjtThis.addOperatorToken(t); }

-	MultiplyExpression())*

-}

-

-void MultiplyExpression() #MultiplyExpression(>1) : 

-{

-	Token t;

-}

-{

-	UnaryExpression() (

-		( t = <MULTIPLY> | t = <DIVIDE1> | t = <DIVIDE2> | t = <MODULUS1> | t = <MODULUS2>) { jjtThis.addOperatorToken(t); }

-		UnaryExpression()	

-	)*

-}

-

-void ChoiceExpression() : {}

-{

-	OrExpression() <COND> Expression() <COLON> Expression()

-}

-

-void UnaryExpression() : {}

-{

-	((<NOT1> | <MINUS> | <EMPTY>) UnaryExpression())

-	| Value()

-	

-}

-

-void Value() : {}

-{

-	ValuePrefix() (ValueSuffix())*

-}

-

-void ValuePrefix() : {}

-{

-    Literal() | (<LPAREN> Expression() <RPAREN>) | LOOKAHEAD(3) FunctionInvocation() | <IDENTIFIER> 

-}

-

-void ValueSuffix() : 

-{

-	Token t = null;

-}

-{

-	(<DOT> (t = <IDENTIFIER>)?) { jjtThis.setPropertyNameToken(t); }

-	| (<LBRACKET> Expression() <RBRACKET>)

-}

-

-void FunctionInvocation() : 

-{

-	Token prefix = null, name = null;

-}

-{

-    (prefix = <IDENTIFIER> <COLON>) { jjtThis.setFullFunctionName(prefix.image + ":"); }

-	(name = <IDENTIFIER>)? {

-    	if(null != prefix && null != name)

-	    	jjtThis.setFullFunctionName(prefix.image + ":" + (null == name ? "" : name.image));

-	    else if(null != name)

-	    	jjtThis.setFullFunctionName(name.image);

-	}

-	(<LPAREN> Expression() (<COMMA> Expression())* try  { (<RPAREN>) } catch (Exception e) {} )?

-}

-

-void Literal() : {}

-{

-	<TRUE> | <FALSE> | <INTEGER_LITERAL> | <FLOATING_POINT_LITERAL> | <STRING_LITERAL> | <NULL>

-}

diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/JSPELParser.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/JSPELParser.java
deleted file mode 100644
index f0fd821..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/JSPELParser.java
+++ /dev/null
@@ -1,1462 +0,0 @@
-/* Generated By:JJTree&JavaCC: Do not edit this line. JSPELParser.java */
-package org.eclipse.jst.jsp.core.internal.java.jspel;
-
-public class JSPELParser/*@bgen(jjtree)*/implements JSPELParserTreeConstants, JSPELParserConstants {/*@bgen(jjtree)*/
-  protected JJTJSPELParserState jjtree = new JJTJSPELParserState();
-  void jjtreeOpenNodeScope(Node n)
-  {
-        ((SimpleNode)n).setFirstToken(getToken(1));
-  }
-
-  void jjtreeCloseNodeScope(Node n)
-  {
-    ((SimpleNode)n).setLastToken(getToken(0));
-  }
-
-  public static JSPELParser createParser(java.lang.String input) {
-        java.io.StringReader reader = new java.io.StringReader(input);
-        return new JSPELParser(reader);
-  }
-
-  public void ReInit(java.lang.String input) {
-        java.io.StringReader reader = new java.io.StringReader(input);
-        ReInit(reader);
-  }
-
-  final public ASTExpression Expression() throws ParseException {
-                              /*@bgen(jjtree) Expression */
-  ASTExpression jjtn000 = new ASTExpression(JJTEXPRESSION);
-  boolean jjtc000 = true;
-  jjtree.openNodeScope(jjtn000);
-  jjtreeOpenNodeScope(jjtn000);
-    try {
-      if (jj_2_1(2147483647)) {
-        ChoiceExpression();
-      } else {
-        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-        case INTEGER_LITERAL:
-        case FLOATING_POINT_LITERAL:
-        case STRING_LITERAL:
-        case TRUE:
-        case FALSE:
-        case NULL:
-        case LPAREN:
-        case MINUS:
-        case NOT1:
-        case EMPTY:
-        case IDENTIFIER:
-          OrExpression();
-          break;
-        default:
-          jj_la1[0] = jj_gen;
-          jj_consume_token(-1);
-          throw new ParseException();
-        }
-      }
-                                                                              jjtree.closeNodeScope(jjtn000, true);
-                                                                              jjtc000 = false;
-                                                                              jjtreeCloseNodeScope(jjtn000);
-                                                                              {if (true) return jjtn000;}
-    } catch (Throwable jjte000) {
-          if (jjtc000) {
-            jjtree.clearNodeScope(jjtn000);
-            jjtc000 = false;
-          } else {
-            jjtree.popNode();
-          }
-          if (jjte000 instanceof RuntimeException) {
-            {if (true) throw (RuntimeException)jjte000;}
-          }
-          if (jjte000 instanceof ParseException) {
-            {if (true) throw (ParseException)jjte000;}
-          }
-          {if (true) throw (Error)jjte000;}
-    } finally {
-          if (jjtc000) {
-            jjtree.closeNodeScope(jjtn000, true);
-            jjtreeCloseNodeScope(jjtn000);
-          }
-    }
-    throw new Error("Missing return statement in function");
-  }
-
-  final public void OrExpression() throws ParseException {
- /*@bgen(jjtree) #OrExpression(> 1) */
-        ASTOrExpression jjtn000 = new ASTOrExpression(JJTOREXPRESSION);
-        boolean jjtc000 = true;
-        jjtree.openNodeScope(jjtn000);
-        jjtreeOpenNodeScope(jjtn000);Token t;
-    try {
-      AndExpression();
-      label_1:
-      while (true) {
-        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-        case OR1:
-        case OR2:
-          ;
-          break;
-        default:
-          jj_la1[1] = jj_gen;
-          break label_1;
-        }
-        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-        case OR1:
-          t = jj_consume_token(OR1);
-          break;
-        case OR2:
-          t = jj_consume_token(OR2);
-          break;
-        default:
-          jj_la1[2] = jj_gen;
-          jj_consume_token(-1);
-          throw new ParseException();
-        }
-                                                   jjtn000.addOperatorToken(t);
-        AndExpression();
-      }
-    } catch (Throwable jjte000) {
-          if (jjtc000) {
-            jjtree.clearNodeScope(jjtn000);
-            jjtc000 = false;
-          } else {
-            jjtree.popNode();
-          }
-          if (jjte000 instanceof RuntimeException) {
-            {if (true) throw (RuntimeException)jjte000;}
-          }
-          if (jjte000 instanceof ParseException) {
-            {if (true) throw (ParseException)jjte000;}
-          }
-          {if (true) throw (Error)jjte000;}
-    } finally {
-          if (jjtc000) {
-            jjtree.closeNodeScope(jjtn000, jjtree.nodeArity() > 1);
-            jjtreeCloseNodeScope(jjtn000);
-          }
-    }
-  }
-
-  final public void AndExpression() throws ParseException {
- /*@bgen(jjtree) #AndExpression(> 1) */
-        ASTAndExpression jjtn000 = new ASTAndExpression(JJTANDEXPRESSION);
-        boolean jjtc000 = true;
-        jjtree.openNodeScope(jjtn000);
-        jjtreeOpenNodeScope(jjtn000);Token t;
-    try {
-      EqualityExpression();
-      label_2:
-      while (true) {
-        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-        case AND1:
-        case AND2:
-          ;
-          break;
-        default:
-          jj_la1[3] = jj_gen;
-          break label_2;
-        }
-        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-        case AND1:
-          t = jj_consume_token(AND1);
-          break;
-        case AND2:
-          t = jj_consume_token(AND2);
-          break;
-        default:
-          jj_la1[4] = jj_gen;
-          jj_consume_token(-1);
-          throw new ParseException();
-        }
-                                                          jjtn000.addOperatorToken(t);
-        EqualityExpression();
-      }
-    } catch (Throwable jjte000) {
-          if (jjtc000) {
-            jjtree.clearNodeScope(jjtn000);
-            jjtc000 = false;
-          } else {
-            jjtree.popNode();
-          }
-          if (jjte000 instanceof RuntimeException) {
-            {if (true) throw (RuntimeException)jjte000;}
-          }
-          if (jjte000 instanceof ParseException) {
-            {if (true) throw (ParseException)jjte000;}
-          }
-          {if (true) throw (Error)jjte000;}
-    } finally {
-          if (jjtc000) {
-            jjtree.closeNodeScope(jjtn000, jjtree.nodeArity() > 1);
-            jjtreeCloseNodeScope(jjtn000);
-          }
-    }
-  }
-
-  final public void EqualityExpression() throws ParseException {
- /*@bgen(jjtree) #EqualityExpression(> 1) */
-        ASTEqualityExpression jjtn000 = new ASTEqualityExpression(JJTEQUALITYEXPRESSION);
-        boolean jjtc000 = true;
-        jjtree.openNodeScope(jjtn000);
-        jjtreeOpenNodeScope(jjtn000);Token t;
-    try {
-      RelationalExpression();
-      label_3:
-      while (true) {
-        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-        case EQ1:
-        case EQ2:
-        case NEQ1:
-        case NEQ2:
-          ;
-          break;
-        default:
-          jj_la1[5] = jj_gen;
-          break label_3;
-        }
-        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-        case EQ1:
-          t = jj_consume_token(EQ1);
-          break;
-        case EQ2:
-          t = jj_consume_token(EQ2);
-          break;
-        case NEQ1:
-          t = jj_consume_token(NEQ1);
-          break;
-        case NEQ2:
-          t = jj_consume_token(NEQ2);
-          break;
-        default:
-          jj_la1[6] = jj_gen;
-          jj_consume_token(-1);
-          throw new ParseException();
-        }
-                                                             jjtn000.addOperatorToken(t);
-        RelationalExpression();
-      }
-    } catch (Throwable jjte000) {
-          if (jjtc000) {
-            jjtree.clearNodeScope(jjtn000);
-            jjtc000 = false;
-          } else {
-            jjtree.popNode();
-          }
-          if (jjte000 instanceof RuntimeException) {
-            {if (true) throw (RuntimeException)jjte000;}
-          }
-          if (jjte000 instanceof ParseException) {
-            {if (true) throw (ParseException)jjte000;}
-          }
-          {if (true) throw (Error)jjte000;}
-    } finally {
-          if (jjtc000) {
-            jjtree.closeNodeScope(jjtn000, jjtree.nodeArity() > 1);
-            jjtreeCloseNodeScope(jjtn000);
-          }
-    }
-  }
-
-  final public void RelationalExpression() throws ParseException {
- /*@bgen(jjtree) #RelationalExpression(> 1) */
-        ASTRelationalExpression jjtn000 = new ASTRelationalExpression(JJTRELATIONALEXPRESSION);
-        boolean jjtc000 = true;
-        jjtree.openNodeScope(jjtn000);
-        jjtreeOpenNodeScope(jjtn000);Token t;
-    try {
-      AddExpression();
-      label_4:
-      while (true) {
-        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-        case GT1:
-        case GT2:
-        case LT1:
-        case LT2:
-        case LE1:
-        case LE2:
-        case GE1:
-        case GE2:
-          ;
-          break;
-        default:
-          jj_la1[7] = jj_gen;
-          break label_4;
-        }
-        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-        case LT1:
-          t = jj_consume_token(LT1);
-          break;
-        case LT2:
-          t = jj_consume_token(LT2);
-          break;
-        case GT1:
-          t = jj_consume_token(GT1);
-          break;
-        case GT2:
-          t = jj_consume_token(GT2);
-          break;
-        case GE1:
-          t = jj_consume_token(GE1);
-          break;
-        case GE2:
-          t = jj_consume_token(GE2);
-          break;
-        case LE1:
-          t = jj_consume_token(LE1);
-          break;
-        case LE2:
-          t = jj_consume_token(LE2);
-          break;
-        default:
-          jj_la1[8] = jj_gen;
-          jj_consume_token(-1);
-          throw new ParseException();
-        }
-                                                                                                                   jjtn000.addOperatorToken(t);
-        AddExpression();
-      }
-    } catch (Throwable jjte000) {
-          if (jjtc000) {
-            jjtree.clearNodeScope(jjtn000);
-            jjtc000 = false;
-          } else {
-            jjtree.popNode();
-          }
-          if (jjte000 instanceof RuntimeException) {
-            {if (true) throw (RuntimeException)jjte000;}
-          }
-          if (jjte000 instanceof ParseException) {
-            {if (true) throw (ParseException)jjte000;}
-          }
-          {if (true) throw (Error)jjte000;}
-    } finally {
-          if (jjtc000) {
-            jjtree.closeNodeScope(jjtn000, jjtree.nodeArity() > 1);
-            jjtreeCloseNodeScope(jjtn000);
-          }
-    }
-  }
-
-  final public void AddExpression() throws ParseException {
- /*@bgen(jjtree) #AddExpression(> 1) */
-        ASTAddExpression jjtn000 = new ASTAddExpression(JJTADDEXPRESSION);
-        boolean jjtc000 = true;
-        jjtree.openNodeScope(jjtn000);
-        jjtreeOpenNodeScope(jjtn000);Token t;
-    try {
-      MultiplyExpression();
-      label_5:
-      while (true) {
-        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-        case PLUS:
-        case MINUS:
-          ;
-          break;
-        default:
-          jj_la1[9] = jj_gen;
-          break label_5;
-        }
-        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-        case PLUS:
-          t = jj_consume_token(PLUS);
-          break;
-        case MINUS:
-          t = jj_consume_token(MINUS);
-          break;
-        default:
-          jj_la1[10] = jj_gen;
-          jj_consume_token(-1);
-          throw new ParseException();
-        }
-                                                           jjtn000.addOperatorToken(t);
-        MultiplyExpression();
-      }
-    } catch (Throwable jjte000) {
-          if (jjtc000) {
-            jjtree.clearNodeScope(jjtn000);
-            jjtc000 = false;
-          } else {
-            jjtree.popNode();
-          }
-          if (jjte000 instanceof RuntimeException) {
-            {if (true) throw (RuntimeException)jjte000;}
-          }
-          if (jjte000 instanceof ParseException) {
-            {if (true) throw (ParseException)jjte000;}
-          }
-          {if (true) throw (Error)jjte000;}
-    } finally {
-          if (jjtc000) {
-            jjtree.closeNodeScope(jjtn000, jjtree.nodeArity() > 1);
-            jjtreeCloseNodeScope(jjtn000);
-          }
-    }
-  }
-
-  final public void MultiplyExpression() throws ParseException {
- /*@bgen(jjtree) #MultiplyExpression(> 1) */
-        ASTMultiplyExpression jjtn000 = new ASTMultiplyExpression(JJTMULTIPLYEXPRESSION);
-        boolean jjtc000 = true;
-        jjtree.openNodeScope(jjtn000);
-        jjtreeOpenNodeScope(jjtn000);Token t;
-    try {
-      UnaryExpression();
-      label_6:
-      while (true) {
-        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-        case MULTIPLY:
-        case DIVIDE1:
-        case DIVIDE2:
-        case MODULUS1:
-        case MODULUS2:
-          ;
-          break;
-        default:
-          jj_la1[11] = jj_gen;
-          break label_6;
-        }
-        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-        case MULTIPLY:
-          t = jj_consume_token(MULTIPLY);
-          break;
-        case DIVIDE1:
-          t = jj_consume_token(DIVIDE1);
-          break;
-        case DIVIDE2:
-          t = jj_consume_token(DIVIDE2);
-          break;
-        case MODULUS1:
-          t = jj_consume_token(MODULUS1);
-          break;
-        case MODULUS2:
-          t = jj_consume_token(MODULUS2);
-          break;
-        default:
-          jj_la1[12] = jj_gen;
-          jj_consume_token(-1);
-          throw new ParseException();
-        }
-                                                                                                      jjtn000.addOperatorToken(t);
-        UnaryExpression();
-      }
-    } catch (Throwable jjte000) {
-          if (jjtc000) {
-            jjtree.clearNodeScope(jjtn000);
-            jjtc000 = false;
-          } else {
-            jjtree.popNode();
-          }
-          if (jjte000 instanceof RuntimeException) {
-            {if (true) throw (RuntimeException)jjte000;}
-          }
-          if (jjte000 instanceof ParseException) {
-            {if (true) throw (ParseException)jjte000;}
-          }
-          {if (true) throw (Error)jjte000;}
-    } finally {
-          if (jjtc000) {
-            jjtree.closeNodeScope(jjtn000, jjtree.nodeArity() > 1);
-            jjtreeCloseNodeScope(jjtn000);
-          }
-    }
-  }
-
-  final public void ChoiceExpression() throws ParseException {
-                           /*@bgen(jjtree) ChoiceExpression */
-  ASTChoiceExpression jjtn000 = new ASTChoiceExpression(JJTCHOICEEXPRESSION);
-  boolean jjtc000 = true;
-  jjtree.openNodeScope(jjtn000);
-  jjtreeOpenNodeScope(jjtn000);
-    try {
-      OrExpression();
-      jj_consume_token(COND);
-      Expression();
-      jj_consume_token(COLON);
-      Expression();
-    } catch (Throwable jjte000) {
-          if (jjtc000) {
-            jjtree.clearNodeScope(jjtn000);
-            jjtc000 = false;
-          } else {
-            jjtree.popNode();
-          }
-          if (jjte000 instanceof RuntimeException) {
-            {if (true) throw (RuntimeException)jjte000;}
-          }
-          if (jjte000 instanceof ParseException) {
-            {if (true) throw (ParseException)jjte000;}
-          }
-          {if (true) throw (Error)jjte000;}
-    } finally {
-          if (jjtc000) {
-            jjtree.closeNodeScope(jjtn000, true);
-            jjtreeCloseNodeScope(jjtn000);
-          }
-    }
-  }
-
-  final public void UnaryExpression() throws ParseException {
-                          /*@bgen(jjtree) UnaryExpression */
-  ASTUnaryExpression jjtn000 = new ASTUnaryExpression(JJTUNARYEXPRESSION);
-  boolean jjtc000 = true;
-  jjtree.openNodeScope(jjtn000);
-  jjtreeOpenNodeScope(jjtn000);
-    try {
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case MINUS:
-      case NOT1:
-      case EMPTY:
-        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-        case NOT1:
-          jj_consume_token(NOT1);
-          break;
-        case MINUS:
-          jj_consume_token(MINUS);
-          break;
-        case EMPTY:
-          jj_consume_token(EMPTY);
-          break;
-        default:
-          jj_la1[13] = jj_gen;
-          jj_consume_token(-1);
-          throw new ParseException();
-        }
-        UnaryExpression();
-        break;
-      case INTEGER_LITERAL:
-      case FLOATING_POINT_LITERAL:
-      case STRING_LITERAL:
-      case TRUE:
-      case FALSE:
-      case NULL:
-      case LPAREN:
-      case IDENTIFIER:
-        Value();
-        break;
-      default:
-        jj_la1[14] = jj_gen;
-        jj_consume_token(-1);
-        throw new ParseException();
-      }
-    } catch (Throwable jjte000) {
-          if (jjtc000) {
-            jjtree.clearNodeScope(jjtn000);
-            jjtc000 = false;
-          } else {
-            jjtree.popNode();
-          }
-          if (jjte000 instanceof RuntimeException) {
-            {if (true) throw (RuntimeException)jjte000;}
-          }
-          if (jjte000 instanceof ParseException) {
-            {if (true) throw (ParseException)jjte000;}
-          }
-          {if (true) throw (Error)jjte000;}
-    } finally {
-          if (jjtc000) {
-            jjtree.closeNodeScope(jjtn000, true);
-            jjtreeCloseNodeScope(jjtn000);
-          }
-    }
-  }
-
-  final public void Value() throws ParseException {
-                /*@bgen(jjtree) Value */
-  ASTValue jjtn000 = new ASTValue(JJTVALUE);
-  boolean jjtc000 = true;
-  jjtree.openNodeScope(jjtn000);
-  jjtreeOpenNodeScope(jjtn000);
-    try {
-      ValuePrefix();
-      label_7:
-      while (true) {
-        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-        case DOT:
-        case LBRACKET:
-          ;
-          break;
-        default:
-          jj_la1[15] = jj_gen;
-          break label_7;
-        }
-        ValueSuffix();
-      }
-    } catch (Throwable jjte000) {
-          if (jjtc000) {
-            jjtree.clearNodeScope(jjtn000);
-            jjtc000 = false;
-          } else {
-            jjtree.popNode();
-          }
-          if (jjte000 instanceof RuntimeException) {
-            {if (true) throw (RuntimeException)jjte000;}
-          }
-          if (jjte000 instanceof ParseException) {
-            {if (true) throw (ParseException)jjte000;}
-          }
-          {if (true) throw (Error)jjte000;}
-    } finally {
-          if (jjtc000) {
-            jjtree.closeNodeScope(jjtn000, true);
-            jjtreeCloseNodeScope(jjtn000);
-          }
-    }
-  }
-
-  final public void ValuePrefix() throws ParseException {
-                      /*@bgen(jjtree) ValuePrefix */
-  ASTValuePrefix jjtn000 = new ASTValuePrefix(JJTVALUEPREFIX);
-  boolean jjtc000 = true;
-  jjtree.openNodeScope(jjtn000);
-  jjtreeOpenNodeScope(jjtn000);
-    try {
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case INTEGER_LITERAL:
-      case FLOATING_POINT_LITERAL:
-      case STRING_LITERAL:
-      case TRUE:
-      case FALSE:
-      case NULL:
-        Literal();
-        break;
-      case LPAREN:
-        jj_consume_token(LPAREN);
-        Expression();
-        jj_consume_token(RPAREN);
-        break;
-      default:
-        jj_la1[16] = jj_gen;
-        if (jj_2_2(3)) {
-          FunctionInvocation();
-        } else {
-          switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-          case IDENTIFIER:
-            jj_consume_token(IDENTIFIER);
-            break;
-          default:
-            jj_la1[17] = jj_gen;
-            jj_consume_token(-1);
-            throw new ParseException();
-          }
-        }
-      }
-    } catch (Throwable jjte000) {
-      if (jjtc000) {
-        jjtree.clearNodeScope(jjtn000);
-        jjtc000 = false;
-      } else {
-        jjtree.popNode();
-      }
-      if (jjte000 instanceof RuntimeException) {
-        {if (true) throw (RuntimeException)jjte000;}
-      }
-      if (jjte000 instanceof ParseException) {
-        {if (true) throw (ParseException)jjte000;}
-      }
-      {if (true) throw (Error)jjte000;}
-    } finally {
-      if (jjtc000) {
-        jjtree.closeNodeScope(jjtn000, true);
-        jjtreeCloseNodeScope(jjtn000);
-      }
-    }
-  }
-
-  final public void ValueSuffix() throws ParseException {
- /*@bgen(jjtree) ValueSuffix */
-        ASTValueSuffix jjtn000 = new ASTValueSuffix(JJTVALUESUFFIX);
-        boolean jjtc000 = true;
-        jjtree.openNodeScope(jjtn000);
-        jjtreeOpenNodeScope(jjtn000);Token t = null;
-    try {
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case DOT:
-        jj_consume_token(DOT);
-        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-        case IDENTIFIER:
-          t = jj_consume_token(IDENTIFIER);
-          break;
-        default:
-          jj_la1[18] = jj_gen;
-          ;
-        }
-                                      jjtree.closeNodeScope(jjtn000, true);
-                                      jjtc000 = false;
-                                      jjtreeCloseNodeScope(jjtn000);
-                                      jjtn000.setPropertyNameToken(t);
-        break;
-      case LBRACKET:
-        jj_consume_token(LBRACKET);
-        Expression();
-        jj_consume_token(RBRACKET);
-        break;
-      default:
-        jj_la1[19] = jj_gen;
-        jj_consume_token(-1);
-        throw new ParseException();
-      }
-    } catch (Throwable jjte000) {
-          if (jjtc000) {
-            jjtree.clearNodeScope(jjtn000);
-            jjtc000 = false;
-          } else {
-            jjtree.popNode();
-          }
-          if (jjte000 instanceof RuntimeException) {
-            {if (true) throw (RuntimeException)jjte000;}
-          }
-          if (jjte000 instanceof ParseException) {
-            {if (true) throw (ParseException)jjte000;}
-          }
-          {if (true) throw (Error)jjte000;}
-    } finally {
-          if (jjtc000) {
-            jjtree.closeNodeScope(jjtn000, true);
-            jjtreeCloseNodeScope(jjtn000);
-          }
-    }
-  }
-
-  final public void FunctionInvocation() throws ParseException {
- /*@bgen(jjtree) FunctionInvocation */
-        ASTFunctionInvocation jjtn000 = new ASTFunctionInvocation(JJTFUNCTIONINVOCATION);
-        boolean jjtc000 = true;
-        jjtree.openNodeScope(jjtn000);
-        jjtreeOpenNodeScope(jjtn000);Token prefix = null, name = null;
-    try {
-      prefix = jj_consume_token(IDENTIFIER);
-      jj_consume_token(COLON);
-                                      jjtn000.setFullFunctionName(prefix.image + ":");
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case IDENTIFIER:
-        name = jj_consume_token(IDENTIFIER);
-        break;
-      default:
-        jj_la1[20] = jj_gen;
-        ;
-      }
-        if(null != prefix && null != name)
-                jjtn000.setFullFunctionName(prefix.image + ":" + (null == name ? "" : name.image));
-            else if(null != name)
-                jjtn000.setFullFunctionName(name.image);
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case LPAREN:
-        jj_consume_token(LPAREN);
-        Expression();
-        label_8:
-        while (true) {
-          switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-          case COMMA:
-            ;
-            break;
-          default:
-            jj_la1[21] = jj_gen;
-            break label_8;
-          }
-          jj_consume_token(COMMA);
-          Expression();
-        }
-        try {
-          jj_consume_token(RPAREN);
-        } catch (Exception e) {
-
-        }
-        break;
-      default:
-        jj_la1[22] = jj_gen;
-        ;
-      }
-    } catch (Throwable jjte000) {
-      if (jjtc000) {
-        jjtree.clearNodeScope(jjtn000);
-        jjtc000 = false;
-      } else {
-        jjtree.popNode();
-      }
-      if (jjte000 instanceof RuntimeException) {
-        {if (true) throw (RuntimeException)jjte000;}
-      }
-      if (jjte000 instanceof ParseException) {
-        {if (true) throw (ParseException)jjte000;}
-      }
-      {if (true) throw (Error)jjte000;}
-    } finally {
-      if (jjtc000) {
-        jjtree.closeNodeScope(jjtn000, true);
-        jjtreeCloseNodeScope(jjtn000);
-      }
-    }
-  }
-
-  final public void Literal() throws ParseException {
-                  /*@bgen(jjtree) Literal */
-  ASTLiteral jjtn000 = new ASTLiteral(JJTLITERAL);
-  boolean jjtc000 = true;
-  jjtree.openNodeScope(jjtn000);
-  jjtreeOpenNodeScope(jjtn000);
-    try {
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case TRUE:
-        jj_consume_token(TRUE);
-        break;
-      case FALSE:
-        jj_consume_token(FALSE);
-        break;
-      case INTEGER_LITERAL:
-        jj_consume_token(INTEGER_LITERAL);
-        break;
-      case FLOATING_POINT_LITERAL:
-        jj_consume_token(FLOATING_POINT_LITERAL);
-        break;
-      case STRING_LITERAL:
-        jj_consume_token(STRING_LITERAL);
-        break;
-      case NULL:
-        jj_consume_token(NULL);
-        break;
-      default:
-        jj_la1[23] = jj_gen;
-        jj_consume_token(-1);
-        throw new ParseException();
-      }
-    } finally {
-          if (jjtc000) {
-            jjtree.closeNodeScope(jjtn000, true);
-            jjtreeCloseNodeScope(jjtn000);
-          }
-    }
-  }
-
-  final private boolean jj_2_1(int xla) {
-    jj_la = xla; jj_lastpos = jj_scanpos = token;
-    try { return !jj_3_1(); }
-    catch(LookaheadSuccess ls) { return true; }
-    finally { jj_save(0, xla); }
-  }
-
-  final private boolean jj_2_2(int xla) {
-    jj_la = xla; jj_lastpos = jj_scanpos = token;
-    try { return !jj_3_2(); }
-    catch(LookaheadSuccess ls) { return true; }
-    finally { jj_save(1, xla); }
-  }
-
-  final private boolean jj_3R_28() {
-    Token xsp;
-    xsp = jj_scanpos;
-    if (jj_scan_token(39)) {
-    jj_scanpos = xsp;
-    if (jj_scan_token(33)) {
-    jj_scanpos = xsp;
-    if (jj_scan_token(45)) return true;
-    }
-    }
-    if (jj_3R_26()) return true;
-    return false;
-  }
-
-  final private boolean jj_3R_26() {
-    Token xsp;
-    xsp = jj_scanpos;
-    if (jj_3R_28()) {
-    jj_scanpos = xsp;
-    if (jj_3R_29()) return true;
-    }
-    return false;
-  }
-
-  final private boolean jj_3R_25() {
-    Token xsp;
-    xsp = jj_scanpos;
-    if (jj_scan_token(32)) {
-    jj_scanpos = xsp;
-    if (jj_scan_token(33)) return true;
-    }
-    if (jj_3R_24()) return true;
-    return false;
-  }
-
-  final private boolean jj_3R_27() {
-    Token xsp;
-    xsp = jj_scanpos;
-    if (jj_scan_token(34)) {
-    jj_scanpos = xsp;
-    if (jj_scan_token(35)) {
-    jj_scanpos = xsp;
-    if (jj_scan_token(36)) {
-    jj_scanpos = xsp;
-    if (jj_scan_token(37)) {
-    jj_scanpos = xsp;
-    if (jj_scan_token(38)) return true;
-    }
-    }
-    }
-    }
-    if (jj_3R_26()) return true;
-    return false;
-  }
-
-  final private boolean jj_3R_9() {
-    if (jj_3R_11()) return true;
-    if (jj_scan_token(COND)) return true;
-    if (jj_3R_12()) return true;
-    if (jj_scan_token(COLON)) return true;
-    if (jj_3R_12()) return true;
-    return false;
-  }
-
-  final private boolean jj_3R_36() {
-    Token xsp;
-    xsp = jj_scanpos;
-    if (jj_scan_token(10)) {
-    jj_scanpos = xsp;
-    if (jj_scan_token(11)) {
-    jj_scanpos = xsp;
-    if (jj_scan_token(5)) {
-    jj_scanpos = xsp;
-    if (jj_scan_token(6)) {
-    jj_scanpos = xsp;
-    if (jj_scan_token(8)) {
-    jj_scanpos = xsp;
-    if (jj_scan_token(12)) return true;
-    }
-    }
-    }
-    }
-    }
-    return false;
-  }
-
-  final private boolean jj_3R_14() {
-    if (jj_3R_18()) return true;
-    Token xsp;
-    while (true) {
-      xsp = jj_scanpos;
-      if (jj_3R_19()) { jj_scanpos = xsp; break; }
-    }
-    return false;
-  }
-
-  final private boolean jj_3R_13() {
-    if (jj_scan_token(LPAREN)) return true;
-    if (jj_3R_12()) return true;
-    Token xsp;
-    while (true) {
-      xsp = jj_scanpos;
-      if (jj_3R_39()) { jj_scanpos = xsp; break; }
-    }
-    if (jj_scan_token(RPAREN)) return true;
-    return false;
-  }
-
-  final private boolean jj_3_1() {
-    if (jj_3R_9()) return true;
-    return false;
-  }
-
-  final private boolean jj_3R_24() {
-    if (jj_3R_26()) return true;
-    Token xsp;
-    while (true) {
-      xsp = jj_scanpos;
-      if (jj_3R_27()) { jj_scanpos = xsp; break; }
-    }
-    return false;
-  }
-
-  final private boolean jj_3R_11() {
-    if (jj_3R_14()) return true;
-    Token xsp;
-    while (true) {
-      xsp = jj_scanpos;
-      if (jj_3R_15()) { jj_scanpos = xsp; break; }
-    }
-    return false;
-  }
-
-  final private boolean jj_3R_17() {
-    if (jj_3R_11()) return true;
-    return false;
-  }
-
-  final private boolean jj_3R_16() {
-    if (jj_3R_9()) return true;
-    return false;
-  }
-
-  final private boolean jj_3R_22() {
-    if (jj_3R_24()) return true;
-    Token xsp;
-    while (true) {
-      xsp = jj_scanpos;
-      if (jj_3R_25()) { jj_scanpos = xsp; break; }
-    }
-    return false;
-  }
-
-  final private boolean jj_3R_10() {
-    if (jj_scan_token(IDENTIFIER)) return true;
-    if (jj_scan_token(COLON)) return true;
-    Token xsp;
-    xsp = jj_scanpos;
-    if (jj_scan_token(47)) jj_scanpos = xsp;
-    xsp = jj_scanpos;
-    if (jj_3R_13()) jj_scanpos = xsp;
-    return false;
-  }
-
-  final private boolean jj_3R_12() {
-    Token xsp;
-    xsp = jj_scanpos;
-    if (jj_3R_16()) {
-    jj_scanpos = xsp;
-    if (jj_3R_17()) return true;
-    }
-    return false;
-  }
-
-  final private boolean jj_3R_38() {
-    if (jj_scan_token(LBRACKET)) return true;
-    if (jj_3R_12()) return true;
-    if (jj_scan_token(RBRACKET)) return true;
-    return false;
-  }
-
-  final private boolean jj_3R_23() {
-    Token xsp;
-    xsp = jj_scanpos;
-    if (jj_scan_token(16)) {
-    jj_scanpos = xsp;
-    if (jj_scan_token(17)) {
-    jj_scanpos = xsp;
-    if (jj_scan_token(14)) {
-    jj_scanpos = xsp;
-    if (jj_scan_token(15)) {
-    jj_scanpos = xsp;
-    if (jj_scan_token(22)) {
-    jj_scanpos = xsp;
-    if (jj_scan_token(23)) {
-    jj_scanpos = xsp;
-    if (jj_scan_token(20)) {
-    jj_scanpos = xsp;
-    if (jj_scan_token(21)) return true;
-    }
-    }
-    }
-    }
-    }
-    }
-    }
-    if (jj_3R_22()) return true;
-    return false;
-  }
-
-  final private boolean jj_3R_32() {
-    if (jj_3R_35()) return true;
-    return false;
-  }
-
-  final private boolean jj_3R_37() {
-    if (jj_scan_token(DOT)) return true;
-    Token xsp;
-    xsp = jj_scanpos;
-    if (jj_scan_token(47)) jj_scanpos = xsp;
-    return false;
-  }
-
-  final private boolean jj_3R_35() {
-    Token xsp;
-    xsp = jj_scanpos;
-    if (jj_3R_37()) {
-    jj_scanpos = xsp;
-    if (jj_3R_38()) return true;
-    }
-    return false;
-  }
-
-  final private boolean jj_3R_34() {
-    if (jj_scan_token(LPAREN)) return true;
-    if (jj_3R_12()) return true;
-    if (jj_scan_token(RPAREN)) return true;
-    return false;
-  }
-
-  final private boolean jj_3R_19() {
-    Token xsp;
-    xsp = jj_scanpos;
-    if (jj_scan_token(41)) {
-    jj_scanpos = xsp;
-    if (jj_scan_token(42)) return true;
-    }
-    if (jj_3R_18()) return true;
-    return false;
-  }
-
-  final private boolean jj_3R_39() {
-    if (jj_scan_token(COMMA)) return true;
-    if (jj_3R_12()) return true;
-    return false;
-  }
-
-  final private boolean jj_3R_20() {
-    if (jj_3R_22()) return true;
-    Token xsp;
-    while (true) {
-      xsp = jj_scanpos;
-      if (jj_3R_23()) { jj_scanpos = xsp; break; }
-    }
-    return false;
-  }
-
-  final private boolean jj_3R_33() {
-    if (jj_3R_36()) return true;
-    return false;
-  }
-
-  final private boolean jj_3R_31() {
-    Token xsp;
-    xsp = jj_scanpos;
-    if (jj_3R_33()) {
-    jj_scanpos = xsp;
-    if (jj_3R_34()) {
-    jj_scanpos = xsp;
-    if (jj_3_2()) {
-    jj_scanpos = xsp;
-    if (jj_scan_token(47)) return true;
-    }
-    }
-    }
-    return false;
-  }
-
-  final private boolean jj_3_2() {
-    if (jj_3R_10()) return true;
-    return false;
-  }
-
-  final private boolean jj_3R_30() {
-    if (jj_3R_31()) return true;
-    Token xsp;
-    while (true) {
-      xsp = jj_scanpos;
-      if (jj_3R_32()) { jj_scanpos = xsp; break; }
-    }
-    return false;
-  }
-
-  final private boolean jj_3R_21() {
-    Token xsp;
-    xsp = jj_scanpos;
-    if (jj_scan_token(18)) {
-    jj_scanpos = xsp;
-    if (jj_scan_token(19)) {
-    jj_scanpos = xsp;
-    if (jj_scan_token(24)) {
-    jj_scanpos = xsp;
-    if (jj_scan_token(25)) return true;
-    }
-    }
-    }
-    if (jj_3R_20()) return true;
-    return false;
-  }
-
-  final private boolean jj_3R_29() {
-    if (jj_3R_30()) return true;
-    return false;
-  }
-
-  final private boolean jj_3R_18() {
-    if (jj_3R_20()) return true;
-    Token xsp;
-    while (true) {
-      xsp = jj_scanpos;
-      if (jj_3R_21()) { jj_scanpos = xsp; break; }
-    }
-    return false;
-  }
-
-  final private boolean jj_3R_15() {
-    Token xsp;
-    xsp = jj_scanpos;
-    if (jj_scan_token(43)) {
-    jj_scanpos = xsp;
-    if (jj_scan_token(44)) return true;
-    }
-    if (jj_3R_14()) return true;
-    return false;
-  }
-
-  public JSPELParserTokenManager token_source;
-  SimpleCharStream jj_input_stream;
-  public Token token, jj_nt;
-  private int jj_ntk;
-  private Token jj_scanpos, jj_lastpos;
-  private int jj_la;
-  public boolean lookingAhead = false;
-  private boolean jj_semLA;
-  private int jj_gen;
-  final private int[] jj_la1 = new int[24];
-  static private int[] jj_la1_0;
-  static private int[] jj_la1_1;
-  static {
-      jj_la1_0();
-      jj_la1_1();
-   }
-   private static void jj_la1_0() {
-      jj_la1_0 = new int[] {0x4001d60,0x0,0x0,0x0,0x0,0x30c0000,0x30c0000,0xf3c000,0xf3c000,0x0,0x0,0x0,0x0,0x0,0x4001d60,0x40002000,0x4001d60,0x0,0x0,0x40002000,0x0,0x10000000,0x4000000,0x1d60,};
-   }
-   private static void jj_la1_1() {
-      jj_la1_1 = new int[] {0xa082,0x1800,0x1800,0x600,0x600,0x0,0x0,0x0,0x0,0x3,0x3,0x7c,0x7c,0x2082,0xa082,0x0,0x0,0x8000,0x8000,0x0,0x8000,0x0,0x0,0x0,};
-   }
-  final private JJCalls[] jj_2_rtns = new JJCalls[2];
-  private boolean jj_rescan = false;
-  private int jj_gc = 0;
-
-  public JSPELParser(java.io.InputStream stream) {
-    jj_input_stream = new SimpleCharStream(stream, 1, 1);
-    token_source = new JSPELParserTokenManager(jj_input_stream);
-    token = new Token();
-    jj_ntk = -1;
-    jj_gen = 0;
-    for (int i = 0; i < 24; i++) jj_la1[i] = -1;
-    for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
-  }
-
-  public void ReInit(java.io.InputStream stream) {
-    jj_input_stream.ReInit(stream, 1, 1);
-    token_source.ReInit(jj_input_stream);
-    token = new Token();
-    jj_ntk = -1;
-    jjtree.reset();
-    jj_gen = 0;
-    for (int i = 0; i < 24; i++) jj_la1[i] = -1;
-    for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
-  }
-
-  public JSPELParser(java.io.Reader stream) {
-    jj_input_stream = new SimpleCharStream(stream, 1, 1);
-    token_source = new JSPELParserTokenManager(jj_input_stream);
-    token = new Token();
-    jj_ntk = -1;
-    jj_gen = 0;
-    for (int i = 0; i < 24; i++) jj_la1[i] = -1;
-    for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
-  }
-
-  public void ReInit(java.io.Reader stream) {
-    jj_input_stream.ReInit(stream, 1, 1);
-    token_source.ReInit(jj_input_stream);
-    token = new Token();
-    jj_ntk = -1;
-    jjtree.reset();
-    jj_gen = 0;
-    for (int i = 0; i < 24; i++) jj_la1[i] = -1;
-    for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
-  }
-
-  public JSPELParser(JSPELParserTokenManager tm) {
-    token_source = tm;
-    token = new Token();
-    jj_ntk = -1;
-    jj_gen = 0;
-    for (int i = 0; i < 24; i++) jj_la1[i] = -1;
-    for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
-  }
-
-  public void ReInit(JSPELParserTokenManager tm) {
-    token_source = tm;
-    token = new Token();
-    jj_ntk = -1;
-    jjtree.reset();
-    jj_gen = 0;
-    for (int i = 0; i < 24; i++) jj_la1[i] = -1;
-    for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
-  }
-
-  final private Token jj_consume_token(int kind) throws ParseException {
-    Token oldToken;
-    if ((oldToken = token).next != null) token = token.next;
-    else token = token.next = token_source.getNextToken();
-    jj_ntk = -1;
-    if (token.kind == kind) {
-      jj_gen++;
-      if (++jj_gc > 100) {
-        jj_gc = 0;
-        for (int i = 0; i < jj_2_rtns.length; i++) {
-          JJCalls c = jj_2_rtns[i];
-          while (c != null) {
-            if (c.gen < jj_gen) c.first = null;
-            c = c.next;
-          }
-        }
-      }
-      return token;
-    }
-    token = oldToken;
-    jj_kind = kind;
-    throw generateParseException();
-  }
-
-  static private final class LookaheadSuccess extends java.lang.Error { 
-    private static final long serialVersionUID = 1L; 
-  }
-  final private LookaheadSuccess jj_ls = new LookaheadSuccess();
-  final private boolean jj_scan_token(int kind) {
-    if (jj_scanpos == jj_lastpos) {
-      jj_la--;
-      if (jj_scanpos.next == null) {
-        jj_lastpos = jj_scanpos = jj_scanpos.next = token_source.getNextToken();
-      } else {
-        jj_lastpos = jj_scanpos = jj_scanpos.next;
-      }
-    } else {
-      jj_scanpos = jj_scanpos.next;
-    }
-    if (jj_rescan) {
-      int i = 0; Token tok = token;
-      while (tok != null && tok != jj_scanpos) { i++; tok = tok.next; }
-      if (tok != null) jj_add_error_token(kind, i);
-    }
-    if (jj_scanpos.kind != kind) return true;
-    if (jj_la == 0 && jj_scanpos == jj_lastpos) throw jj_ls;
-    return false;
-  }
-
-  final public Token getNextToken() {
-    if (token.next != null) token = token.next;
-    else token = token.next = token_source.getNextToken();
-    jj_ntk = -1;
-    jj_gen++;
-    return token;
-  }
-
-  final public Token getToken(int index) {
-    Token t = lookingAhead ? jj_scanpos : token;
-    for (int i = 0; i < index; i++) {
-      if (t.next != null) t = t.next;
-      else t = t.next = token_source.getNextToken();
-    }
-    return t;
-  }
-
-  final private int jj_ntk() {
-    if ((jj_nt=token.next) == null)
-      return (jj_ntk = (token.next=token_source.getNextToken()).kind);
-    else
-      return (jj_ntk = jj_nt.kind);
-  }
-
-  private java.util.Vector jj_expentries = new java.util.Vector();
-  private int[] jj_expentry;
-  private int jj_kind = -1;
-  private int[] jj_lasttokens = new int[100];
-  private int jj_endpos;
-
-  private void jj_add_error_token(int kind, int pos) {
-    if (pos >= 100) return;
-    if (pos == jj_endpos + 1) {
-      jj_lasttokens[jj_endpos++] = kind;
-    } else if (jj_endpos != 0) {
-      jj_expentry = new int[jj_endpos];
-      for (int i = 0; i < jj_endpos; i++) {
-        jj_expentry[i] = jj_lasttokens[i];
-      }
-      boolean exists = false;
-      for (java.util.Enumeration e = jj_expentries.elements(); e.hasMoreElements();) {
-        int[] oldentry = (int[])(e.nextElement());
-        if (oldentry.length == jj_expentry.length) {
-          exists = true;
-          for (int i = 0; i < jj_expentry.length; i++) {
-            if (oldentry[i] != jj_expentry[i]) {
-              exists = false;
-              break;
-            }
-          }
-          if (exists) break;
-        }
-      }
-      if (!exists) jj_expentries.addElement(jj_expentry);
-      if (pos != 0) jj_lasttokens[(jj_endpos = pos) - 1] = kind;
-    }
-  }
-
-  public ParseException generateParseException() {
-    jj_expentries.removeAllElements();
-    boolean[] la1tokens = new boolean[51];
-    for (int i = 0; i < 51; i++) {
-      la1tokens[i] = false;
-    }
-    if (jj_kind >= 0) {
-      la1tokens[jj_kind] = true;
-      jj_kind = -1;
-    }
-    for (int i = 0; i < 24; i++) {
-      if (jj_la1[i] == jj_gen) {
-        for (int j = 0; j < 32; j++) {
-          if ((jj_la1_0[i] & (1<<j)) != 0) {
-            la1tokens[j] = true;
-          }
-          if ((jj_la1_1[i] & (1<<j)) != 0) {
-            la1tokens[32+j] = true;
-          }
-        }
-      }
-    }
-    for (int i = 0; i < 51; i++) {
-      if (la1tokens[i]) {
-        jj_expentry = new int[1];
-        jj_expentry[0] = i;
-        jj_expentries.addElement(jj_expentry);
-      }
-    }
-    jj_endpos = 0;
-    jj_rescan_token();
-    jj_add_error_token(0, 0);
-    int[][] exptokseq = new int[jj_expentries.size()][];
-    for (int i = 0; i < jj_expentries.size(); i++) {
-      exptokseq[i] = (int[])jj_expentries.elementAt(i);
-    }
-    return new ParseException(token, exptokseq, tokenImage);
-  }
-
-  final public void enable_tracing() {
-  }
-
-  final public void disable_tracing() {
-  }
-
-  final private void jj_rescan_token() {
-    jj_rescan = true;
-    for (int i = 0; i < 2; i++) {
-      JJCalls p = jj_2_rtns[i];
-      do {
-        if (p.gen > jj_gen) {
-          jj_la = p.arg; jj_lastpos = jj_scanpos = p.first;
-          switch (i) {
-            case 0: jj_3_1(); break;
-            case 1: jj_3_2(); break;
-          }
-        }
-        p = p.next;
-      } while (p != null);
-    }
-    jj_rescan = false;
-  }
-
-  final private void jj_save(int index, int xla) {
-    JJCalls p = jj_2_rtns[index];
-    while (p.gen > jj_gen) {
-      if (p.next == null) { p = p.next = new JJCalls(); break; }
-      p = p.next;
-    }
-    p.gen = jj_gen + xla - jj_la; p.first = token; p.arg = xla;
-  }
-
-  static final class JJCalls {
-    int gen;
-    Token first;
-    int arg;
-    JJCalls next;
-  }
-
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/JSPELParserConstants.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/JSPELParserConstants.java
deleted file mode 100644
index f64e3c4..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/JSPELParserConstants.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/* Generated By:JJTree&JavaCC: Do not edit this line. JSPELParserConstants.java */
-package org.eclipse.jst.jsp.core.internal.java.jspel;
-
-public interface JSPELParserConstants {
-
-  int EOF = 0;
-  int INTEGER_LITERAL = 5;
-  int FLOATING_POINT_LITERAL = 6;
-  int EXPONENT = 7;
-  int STRING_LITERAL = 8;
-  int BADLY_ESCAPED_STRING_LITERAL = 9;
-  int TRUE = 10;
-  int FALSE = 11;
-  int NULL = 12;
-  int DOT = 13;
-  int GT1 = 14;
-  int GT2 = 15;
-  int LT1 = 16;
-  int LT2 = 17;
-  int EQ1 = 18;
-  int EQ2 = 19;
-  int LE1 = 20;
-  int LE2 = 21;
-  int GE1 = 22;
-  int GE2 = 23;
-  int NEQ1 = 24;
-  int NEQ2 = 25;
-  int LPAREN = 26;
-  int RPAREN = 27;
-  int COMMA = 28;
-  int COLON = 29;
-  int LBRACKET = 30;
-  int RBRACKET = 31;
-  int PLUS = 32;
-  int MINUS = 33;
-  int MULTIPLY = 34;
-  int DIVIDE1 = 35;
-  int DIVIDE2 = 36;
-  int MODULUS1 = 37;
-  int MODULUS2 = 38;
-  int NOT1 = 39;
-  int NOT2 = 40;
-  int AND1 = 41;
-  int AND2 = 42;
-  int OR1 = 43;
-  int OR2 = 44;
-  int EMPTY = 45;
-  int COND = 46;
-  int IDENTIFIER = 47;
-  int IMPL_OBJ_START = 48;
-  int LETTER = 49;
-  int DIGIT = 50;
-
-  int DEFAULT = 0;
-
-  String[] tokenImage = {
-    "<EOF>",
-    "\" \"",
-    "\"\\t\"",
-    "\"\\n\"",
-    "\"\\r\"",
-    "<INTEGER_LITERAL>",
-    "<FLOATING_POINT_LITERAL>",
-    "<EXPONENT>",
-    "<STRING_LITERAL>",
-    "<BADLY_ESCAPED_STRING_LITERAL>",
-    "\"true\"",
-    "\"false\"",
-    "\"null\"",
-    "\".\"",
-    "\">\"",
-    "\"gt\"",
-    "\"<\"",
-    "\"lt\"",
-    "\"==\"",
-    "\"eq\"",
-    "\"<=\"",
-    "\"le\"",
-    "\">=\"",
-    "\"ge\"",
-    "\"!=\"",
-    "\"ne\"",
-    "\"(\"",
-    "\")\"",
-    "\",\"",
-    "\":\"",
-    "\"[\"",
-    "\"]\"",
-    "\"+\"",
-    "\"-\"",
-    "\"*\"",
-    "\"/\"",
-    "\"div\"",
-    "\"%\"",
-    "\"mod\"",
-    "\"not\"",
-    "\"!\"",
-    "\"and\"",
-    "\"&&\"",
-    "\"or\"",
-    "\"||\"",
-    "\"empty\"",
-    "\"?\"",
-    "<IDENTIFIER>",
-    "\"#\"",
-    "<LETTER>",
-    "<DIGIT>",
-  };
-
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/JSPELParserTokenManager.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/JSPELParserTokenManager.java
deleted file mode 100644
index b44fb9c..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/JSPELParserTokenManager.java
+++ /dev/null
@@ -1,841 +0,0 @@
-/* Generated By:JJTree&JavaCC: Do not edit this line. JSPELParserTokenManager.java */
-package org.eclipse.jst.jsp.core.internal.java.jspel;
-
-public class JSPELParserTokenManager implements JSPELParserConstants
-{
-  public  java.io.PrintStream debugStream = System.out;
-  public  void setDebugStream(java.io.PrintStream ds) { debugStream = ds; }
-private final int jjStopStringLiteralDfa_0(int pos, long active0)
-{
-   switch (pos)
-   {
-      case 0:
-         if ((active0 & 0x2ad002aa9c00L) != 0L)
-         {
-            jjmatchedKind = 47;
-            return 6;
-         }
-         if ((active0 & 0x2000L) != 0L)
-            return 1;
-         return -1;
-      case 1:
-         if ((active0 & 0x22d000001c00L) != 0L)
-         {
-            jjmatchedKind = 47;
-            jjmatchedPos = 1;
-            return 6;
-         }
-         if ((active0 & 0x80002aa8000L) != 0L)
-            return 6;
-         return -1;
-      case 2:
-         if ((active0 & 0x200000001c00L) != 0L)
-         {
-            jjmatchedKind = 47;
-            jjmatchedPos = 2;
-            return 6;
-         }
-         if ((active0 & 0x2d000000000L) != 0L)
-            return 6;
-         return -1;
-      case 3:
-         if ((active0 & 0x200000000800L) != 0L)
-         {
-            jjmatchedKind = 47;
-            jjmatchedPos = 3;
-            return 6;
-         }
-         if ((active0 & 0x1400L) != 0L)
-            return 6;
-         return -1;
-      default :
-         return -1;
-   }
-}
-private final int jjStartNfa_0(int pos, long active0)
-{
-   return jjMoveNfa_0(jjStopStringLiteralDfa_0(pos, active0), pos + 1);
-}
-private final int jjStopAtPos(int pos, int kind)
-{
-   jjmatchedKind = kind;
-   jjmatchedPos = pos;
-   return pos + 1;
-}
-private final int jjStartNfaWithStates_0(int pos, int kind, int state)
-{
-   jjmatchedKind = kind;
-   jjmatchedPos = pos;
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) { return pos + 1; }
-   return jjMoveNfa_0(state, pos + 1);
-}
-private final int jjMoveStringLiteralDfa0_0()
-{
-   switch(curChar)
-   {
-      case 33:
-         jjmatchedKind = 40;
-         return jjMoveStringLiteralDfa1_0(0x1000000L);
-      case 37:
-         return jjStopAtPos(0, 37);
-      case 38:
-         return jjMoveStringLiteralDfa1_0(0x40000000000L);
-      case 40:
-         return jjStopAtPos(0, 26);
-      case 41:
-         return jjStopAtPos(0, 27);
-      case 42:
-         return jjStopAtPos(0, 34);
-      case 43:
-         return jjStopAtPos(0, 32);
-      case 44:
-         return jjStopAtPos(0, 28);
-      case 45:
-         return jjStopAtPos(0, 33);
-      case 46:
-         return jjStartNfaWithStates_0(0, 13, 1);
-      case 47:
-         return jjStopAtPos(0, 35);
-      case 58:
-         return jjStopAtPos(0, 29);
-      case 60:
-         jjmatchedKind = 16;
-         return jjMoveStringLiteralDfa1_0(0x100000L);
-      case 61:
-         return jjMoveStringLiteralDfa1_0(0x40000L);
-      case 62:
-         jjmatchedKind = 14;
-         return jjMoveStringLiteralDfa1_0(0x400000L);
-      case 63:
-         return jjStopAtPos(0, 46);
-      case 91:
-         return jjStopAtPos(0, 30);
-      case 93:
-         return jjStopAtPos(0, 31);
-      case 97:
-         return jjMoveStringLiteralDfa1_0(0x20000000000L);
-      case 100:
-         return jjMoveStringLiteralDfa1_0(0x1000000000L);
-      case 101:
-         return jjMoveStringLiteralDfa1_0(0x200000080000L);
-      case 102:
-         return jjMoveStringLiteralDfa1_0(0x800L);
-      case 103:
-         return jjMoveStringLiteralDfa1_0(0x808000L);
-      case 108:
-         return jjMoveStringLiteralDfa1_0(0x220000L);
-      case 109:
-         return jjMoveStringLiteralDfa1_0(0x4000000000L);
-      case 110:
-         return jjMoveStringLiteralDfa1_0(0x8002001000L);
-      case 111:
-         return jjMoveStringLiteralDfa1_0(0x80000000000L);
-      case 116:
-         return jjMoveStringLiteralDfa1_0(0x400L);
-      case 124:
-         return jjMoveStringLiteralDfa1_0(0x100000000000L);
-      default :
-         return jjMoveNfa_0(0, 0);
-   }
-}
-private final int jjMoveStringLiteralDfa1_0(long active0)
-{
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_0(0, active0);
-      return 1;
-   }
-   switch(curChar)
-   {
-      case 38:
-         if ((active0 & 0x40000000000L) != 0L)
-            return jjStopAtPos(1, 42);
-         break;
-      case 61:
-         if ((active0 & 0x40000L) != 0L)
-            return jjStopAtPos(1, 18);
-         else if ((active0 & 0x100000L) != 0L)
-            return jjStopAtPos(1, 20);
-         else if ((active0 & 0x400000L) != 0L)
-            return jjStopAtPos(1, 22);
-         else if ((active0 & 0x1000000L) != 0L)
-            return jjStopAtPos(1, 24);
-         break;
-      case 97:
-         return jjMoveStringLiteralDfa2_0(active0, 0x800L);
-      case 101:
-         if ((active0 & 0x200000L) != 0L)
-            return jjStartNfaWithStates_0(1, 21, 6);
-         else if ((active0 & 0x800000L) != 0L)
-            return jjStartNfaWithStates_0(1, 23, 6);
-         else if ((active0 & 0x2000000L) != 0L)
-            return jjStartNfaWithStates_0(1, 25, 6);
-         break;
-      case 105:
-         return jjMoveStringLiteralDfa2_0(active0, 0x1000000000L);
-      case 109:
-         return jjMoveStringLiteralDfa2_0(active0, 0x200000000000L);
-      case 110:
-         return jjMoveStringLiteralDfa2_0(active0, 0x20000000000L);
-      case 111:
-         return jjMoveStringLiteralDfa2_0(active0, 0xc000000000L);
-      case 113:
-         if ((active0 & 0x80000L) != 0L)
-            return jjStartNfaWithStates_0(1, 19, 6);
-         break;
-      case 114:
-         if ((active0 & 0x80000000000L) != 0L)
-            return jjStartNfaWithStates_0(1, 43, 6);
-         return jjMoveStringLiteralDfa2_0(active0, 0x400L);
-      case 116:
-         if ((active0 & 0x8000L) != 0L)
-            return jjStartNfaWithStates_0(1, 15, 6);
-         else if ((active0 & 0x20000L) != 0L)
-            return jjStartNfaWithStates_0(1, 17, 6);
-         break;
-      case 117:
-         return jjMoveStringLiteralDfa2_0(active0, 0x1000L);
-      case 124:
-         if ((active0 & 0x100000000000L) != 0L)
-            return jjStopAtPos(1, 44);
-         break;
-      default :
-         break;
-   }
-   return jjStartNfa_0(0, active0);
-}
-private final int jjMoveStringLiteralDfa2_0(long old0, long active0)
-{
-   if (((active0 &= old0)) == 0L)
-      return jjStartNfa_0(0, old0); 
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_0(1, active0);
-      return 2;
-   }
-   switch(curChar)
-   {
-      case 100:
-         if ((active0 & 0x4000000000L) != 0L)
-            return jjStartNfaWithStates_0(2, 38, 6);
-         else if ((active0 & 0x20000000000L) != 0L)
-            return jjStartNfaWithStates_0(2, 41, 6);
-         break;
-      case 108:
-         return jjMoveStringLiteralDfa3_0(active0, 0x1800L);
-      case 112:
-         return jjMoveStringLiteralDfa3_0(active0, 0x200000000000L);
-      case 116:
-         if ((active0 & 0x8000000000L) != 0L)
-            return jjStartNfaWithStates_0(2, 39, 6);
-         break;
-      case 117:
-         return jjMoveStringLiteralDfa3_0(active0, 0x400L);
-      case 118:
-         if ((active0 & 0x1000000000L) != 0L)
-            return jjStartNfaWithStates_0(2, 36, 6);
-         break;
-      default :
-         break;
-   }
-   return jjStartNfa_0(1, active0);
-}
-private final int jjMoveStringLiteralDfa3_0(long old0, long active0)
-{
-   if (((active0 &= old0)) == 0L)
-      return jjStartNfa_0(1, old0); 
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_0(2, active0);
-      return 3;
-   }
-   switch(curChar)
-   {
-      case 101:
-         if ((active0 & 0x400L) != 0L)
-            return jjStartNfaWithStates_0(3, 10, 6);
-         break;
-      case 108:
-         if ((active0 & 0x1000L) != 0L)
-            return jjStartNfaWithStates_0(3, 12, 6);
-         break;
-      case 115:
-         return jjMoveStringLiteralDfa4_0(active0, 0x800L);
-      case 116:
-         return jjMoveStringLiteralDfa4_0(active0, 0x200000000000L);
-      default :
-         break;
-   }
-   return jjStartNfa_0(2, active0);
-}
-private final int jjMoveStringLiteralDfa4_0(long old0, long active0)
-{
-   if (((active0 &= old0)) == 0L)
-      return jjStartNfa_0(2, old0); 
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_0(3, active0);
-      return 4;
-   }
-   switch(curChar)
-   {
-      case 101:
-         if ((active0 & 0x800L) != 0L)
-            return jjStartNfaWithStates_0(4, 11, 6);
-         break;
-      case 121:
-         if ((active0 & 0x200000000000L) != 0L)
-            return jjStartNfaWithStates_0(4, 45, 6);
-         break;
-      default :
-         break;
-   }
-   return jjStartNfa_0(3, active0);
-}
-private final void jjCheckNAdd(int state)
-{
-   if (jjrounds[state] != jjround)
-   {
-      jjstateSet[jjnewStateCnt++] = state;
-      jjrounds[state] = jjround;
-   }
-}
-private final void jjAddStates(int start, int end)
-{
-   do {
-      jjstateSet[jjnewStateCnt++] = jjnextStates[start];
-   } while (start++ != end);
-}
-private final void jjCheckNAddTwoStates(int state1, int state2)
-{
-   jjCheckNAdd(state1);
-   jjCheckNAdd(state2);
-}
-private final void jjCheckNAddStates(int start, int end)
-{
-   do {
-      jjCheckNAdd(jjnextStates[start]);
-   } while (start++ != end);
-}
-private final void jjCheckNAddStates(int start)
-{
-   jjCheckNAdd(jjnextStates[start]);
-   jjCheckNAdd(jjnextStates[start + 1]);
-}
-static final long[] jjbitVec0 = {
-   0x1ff00000fffffffeL, 0xffffffffffffc000L, 0xffffffffL, 0x600000000000000L
-};
-static final long[] jjbitVec2 = {
-   0x0L, 0x0L, 0x0L, 0xff7fffffff7fffffL
-};
-static final long[] jjbitVec3 = {
-   0x0L, 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffffffffffffL
-};
-static final long[] jjbitVec4 = {
-   0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffL, 0x0L
-};
-static final long[] jjbitVec5 = {
-   0xffffffffffffffffL, 0xffffffffffffffffL, 0x0L, 0x0L
-};
-static final long[] jjbitVec6 = {
-   0x3fffffffffffL, 0x0L, 0x0L, 0x0L
-};
-static final long[] jjbitVec7 = {
-   0xfffffffffffffffeL, 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffffffffffffL
-};
-static final long[] jjbitVec8 = {
-   0x0L, 0x0L, 0xffffffffffffffffL, 0xffffffffffffffffL
-};
-private final int jjMoveNfa_0(int startState, int curPos)
-{
-   int startsAt = 0;
-   jjnewStateCnt = 35;
-   int i = 1;
-   jjstateSet[0] = startState;
-   int kind = 0x7fffffff;
-   for (;;)
-   {
-      if (++jjround == 0x7fffffff)
-         ReInitRounds();
-      if (curChar < 64)
-      {
-         long l = 1L << curChar;
-         MatchLoop: do
-         {
-            switch(jjstateSet[--i])
-            {
-               case 0:
-                  if ((0x3ff000000000000L & l) != 0L)
-                  {
-                     if (kind > 5)
-                        kind = 5;
-                     jjCheckNAddStates(0, 4);
-                  }
-                  else if ((0x1800000000L & l) != 0L)
-                  {
-                     if (kind > 47)
-                        kind = 47;
-                     jjCheckNAdd(6);
-                  }
-                  else if (curChar == 39)
-                     jjCheckNAddStates(5, 9);
-                  else if (curChar == 34)
-                     jjCheckNAddStates(10, 14);
-                  else if (curChar == 46)
-                     jjCheckNAdd(1);
-                  break;
-               case 1:
-                  if ((0x3ff000000000000L & l) == 0L)
-                     break;
-                  if (kind > 6)
-                     kind = 6;
-                  jjCheckNAddTwoStates(1, 2);
-                  break;
-               case 3:
-                  if ((0x280000000000L & l) != 0L)
-                     jjCheckNAdd(4);
-                  break;
-               case 4:
-                  if ((0x3ff000000000000L & l) == 0L)
-                     break;
-                  if (kind > 6)
-                     kind = 6;
-                  jjCheckNAdd(4);
-                  break;
-               case 5:
-                  if ((0x1800000000L & l) == 0L)
-                     break;
-                  if (kind > 47)
-                     kind = 47;
-                  jjCheckNAdd(6);
-                  break;
-               case 6:
-                  if ((0x3ff001000000000L & l) == 0L)
-                     break;
-                  if (kind > 47)
-                     kind = 47;
-                  jjCheckNAdd(6);
-                  break;
-               case 7:
-                  if ((0x3ff000000000000L & l) == 0L)
-                     break;
-                  if (kind > 5)
-                     kind = 5;
-                  jjCheckNAddStates(0, 4);
-                  break;
-               case 8:
-                  if ((0x3ff000000000000L & l) == 0L)
-                     break;
-                  if (kind > 5)
-                     kind = 5;
-                  jjCheckNAdd(8);
-                  break;
-               case 9:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(9, 10);
-                  break;
-               case 10:
-                  if (curChar != 46)
-                     break;
-                  if (kind > 6)
-                     kind = 6;
-                  jjCheckNAddTwoStates(11, 12);
-                  break;
-               case 11:
-                  if ((0x3ff000000000000L & l) == 0L)
-                     break;
-                  if (kind > 6)
-                     kind = 6;
-                  jjCheckNAddTwoStates(11, 12);
-                  break;
-               case 13:
-                  if ((0x280000000000L & l) != 0L)
-                     jjCheckNAdd(14);
-                  break;
-               case 14:
-                  if ((0x3ff000000000000L & l) == 0L)
-                     break;
-                  if (kind > 6)
-                     kind = 6;
-                  jjCheckNAdd(14);
-                  break;
-               case 15:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(15, 16);
-                  break;
-               case 17:
-                  if ((0x280000000000L & l) != 0L)
-                     jjCheckNAdd(18);
-                  break;
-               case 18:
-                  if ((0x3ff000000000000L & l) == 0L)
-                     break;
-                  if (kind > 6)
-                     kind = 6;
-                  jjCheckNAdd(18);
-                  break;
-               case 19:
-                  if (curChar == 34)
-                     jjCheckNAddStates(10, 14);
-                  break;
-               case 20:
-                  if ((0xfffffffbffffffffL & l) != 0L)
-                     jjCheckNAddStates(15, 17);
-                  break;
-               case 22:
-                  if (curChar == 34)
-                     jjCheckNAddStates(15, 17);
-                  break;
-               case 23:
-                  if (curChar == 34 && kind > 8)
-                     kind = 8;
-                  break;
-               case 24:
-                  if ((0xfffffffbffffffffL & l) != 0L)
-                     jjCheckNAddTwoStates(24, 25);
-                  break;
-               case 26:
-                  if ((0xfffffffbffffffffL & l) != 0L && kind > 9)
-                     kind = 9;
-                  break;
-               case 27:
-                  if (curChar == 39)
-                     jjCheckNAddStates(5, 9);
-                  break;
-               case 28:
-                  if ((0xffffff7fffffffffL & l) != 0L)
-                     jjCheckNAddStates(18, 20);
-                  break;
-               case 30:
-                  if (curChar == 39)
-                     jjCheckNAddStates(18, 20);
-                  break;
-               case 31:
-                  if (curChar == 39 && kind > 8)
-                     kind = 8;
-                  break;
-               case 32:
-                  if ((0xffffff7fffffffffL & l) != 0L)
-                     jjCheckNAddTwoStates(32, 33);
-                  break;
-               case 34:
-                  if ((0xffffff7fffffffffL & l) != 0L && kind > 9)
-                     kind = 9;
-                  break;
-               default : break;
-            }
-         } while(i != startsAt);
-      }
-      else if (curChar < 128)
-      {
-         long l = 1L << (curChar & 077);
-         MatchLoop: do
-         {
-            switch(jjstateSet[--i])
-            {
-               case 0:
-               case 6:
-                  if ((0x7fffffe87fffffeL & l) == 0L)
-                     break;
-                  if (kind > 47)
-                     kind = 47;
-                  jjCheckNAdd(6);
-                  break;
-               case 2:
-                  if ((0x2000000020L & l) != 0L)
-                     jjAddStates(21, 22);
-                  break;
-               case 12:
-                  if ((0x2000000020L & l) != 0L)
-                     jjAddStates(23, 24);
-                  break;
-               case 16:
-                  if ((0x2000000020L & l) != 0L)
-                     jjAddStates(25, 26);
-                  break;
-               case 20:
-                  if ((0xffffffffefffffffL & l) != 0L)
-                     jjCheckNAddStates(15, 17);
-                  break;
-               case 21:
-                  if (curChar == 92)
-                     jjstateSet[jjnewStateCnt++] = 22;
-                  break;
-               case 22:
-                  if (curChar == 92)
-                     jjCheckNAddStates(15, 17);
-                  break;
-               case 24:
-                  if ((0xffffffffefffffffL & l) != 0L)
-                     jjAddStates(27, 28);
-                  break;
-               case 25:
-                  if (curChar == 92)
-                     jjstateSet[jjnewStateCnt++] = 26;
-                  break;
-               case 26:
-               case 34:
-                  if ((0xffffffffefffffffL & l) != 0L && kind > 9)
-                     kind = 9;
-                  break;
-               case 28:
-                  if ((0xffffffffefffffffL & l) != 0L)
-                     jjCheckNAddStates(18, 20);
-                  break;
-               case 29:
-                  if (curChar == 92)
-                     jjstateSet[jjnewStateCnt++] = 30;
-                  break;
-               case 30:
-                  if (curChar == 92)
-                     jjCheckNAddStates(18, 20);
-                  break;
-               case 32:
-                  if ((0xffffffffefffffffL & l) != 0L)
-                     jjAddStates(29, 30);
-                  break;
-               case 33:
-                  if (curChar == 92)
-                     jjstateSet[jjnewStateCnt++] = 34;
-                  break;
-               default : break;
-            }
-         } while(i != startsAt);
-      }
-      else
-      {
-         int hiByte = curChar >> 8;
-         int i1 = hiByte >> 6;
-         long l1 = 1L << (hiByte & 077);
-         int i2 = (curChar & 0xff) >> 6;
-         long l2 = 1L << (curChar & 077);
-         MatchLoop: do
-         {
-            switch(jjstateSet[--i])
-            {
-               case 0:
-               case 6:
-                  if (!jjCanMove_0(hiByte, i1, i2, l1, l2))
-                     break;
-                  if (kind > 47)
-                     kind = 47;
-                  jjCheckNAdd(6);
-                  break;
-               case 20:
-                  if (jjCanMove_1(hiByte, i1, i2, l1, l2))
-                     jjAddStates(15, 17);
-                  break;
-               case 24:
-                  if (jjCanMove_1(hiByte, i1, i2, l1, l2))
-                     jjAddStates(27, 28);
-                  break;
-               case 26:
-               case 34:
-                  if (jjCanMove_1(hiByte, i1, i2, l1, l2) && kind > 9)
-                     kind = 9;
-                  break;
-               case 28:
-                  if (jjCanMove_1(hiByte, i1, i2, l1, l2))
-                     jjAddStates(18, 20);
-                  break;
-               case 32:
-                  if (jjCanMove_1(hiByte, i1, i2, l1, l2))
-                     jjAddStates(29, 30);
-                  break;
-               default : break;
-            }
-         } while(i != startsAt);
-      }
-      if (kind != 0x7fffffff)
-      {
-         jjmatchedKind = kind;
-         jjmatchedPos = curPos;
-         kind = 0x7fffffff;
-      }
-      ++curPos;
-      if ((i = jjnewStateCnt) == (startsAt = 35 - (jjnewStateCnt = startsAt)))
-         return curPos;
-      try { curChar = input_stream.readChar(); }
-      catch(java.io.IOException e) { return curPos; }
-   }
-}
-static final int[] jjnextStates = {
-   8, 9, 10, 15, 16, 28, 29, 31, 32, 33, 20, 21, 23, 24, 25, 20, 
-   21, 23, 28, 29, 31, 3, 4, 13, 14, 17, 18, 24, 25, 32, 33, 
-};
-private static final boolean jjCanMove_0(int hiByte, int i1, int i2, long l1, long l2)
-{
-   switch(hiByte)
-   {
-      case 0:
-         return ((jjbitVec2[i2] & l2) != 0L);
-      case 48:
-         return ((jjbitVec3[i2] & l2) != 0L);
-      case 49:
-         return ((jjbitVec4[i2] & l2) != 0L);
-      case 51:
-         return ((jjbitVec5[i2] & l2) != 0L);
-      case 61:
-         return ((jjbitVec6[i2] & l2) != 0L);
-      default : 
-         if ((jjbitVec0[i1] & l1) != 0L)
-            return true;
-         return false;
-   }
-}
-private static final boolean jjCanMove_1(int hiByte, int i1, int i2, long l1, long l2)
-{
-   switch(hiByte)
-   {
-      case 0:
-         return ((jjbitVec8[i2] & l2) != 0L);
-      default : 
-         if ((jjbitVec7[i1] & l1) != 0L)
-            return true;
-         return false;
-   }
-}
-public static final String[] jjstrLiteralImages = {
-"", null, null, null, null, null, null, null, null, null, "\164\162\165\145", 
-"\146\141\154\163\145", "\156\165\154\154", "\56", "\76", "\147\164", "\74", "\154\164", "\75\75", 
-"\145\161", "\74\75", "\154\145", "\76\75", "\147\145", "\41\75", "\156\145", "\50", 
-"\51", "\54", "\72", "\133", "\135", "\53", "\55", "\52", "\57", "\144\151\166", 
-"\45", "\155\157\144", "\156\157\164", "\41", "\141\156\144", "\46\46", "\157\162", 
-"\174\174", "\145\155\160\164\171", "\77", null, null, null, null, };
-public static final String[] lexStateNames = {
-   "DEFAULT", 
-};
-static final long[] jjtoToken = {
-   0xffffffffff61L, 
-};
-static final long[] jjtoSkip = {
-   0x1eL, 
-};
-protected SimpleCharStream input_stream;
-private final int[] jjrounds = new int[35];
-private final int[] jjstateSet = new int[70];
-protected char curChar;
-public JSPELParserTokenManager(SimpleCharStream stream)
-{
-   if (SimpleCharStream.staticFlag)
-      throw new Error("ERROR: Cannot use a static CharStream class with a non-static lexical analyzer.");
-   input_stream = stream;
-}
-public JSPELParserTokenManager(SimpleCharStream stream, int lexState)
-{
-   this(stream);
-   SwitchTo(lexState);
-}
-public void ReInit(SimpleCharStream stream)
-{
-   jjmatchedPos = jjnewStateCnt = 0;
-   curLexState = defaultLexState;
-   input_stream = stream;
-   ReInitRounds();
-}
-private final void ReInitRounds()
-{
-   int i;
-   jjround = 0x80000001;
-   for (i = 35; i-- > 0;)
-      jjrounds[i] = 0x80000000;
-}
-public void ReInit(SimpleCharStream stream, int lexState)
-{
-   ReInit(stream);
-   SwitchTo(lexState);
-}
-public void SwitchTo(int lexState)
-{
-   if (lexState >= 1 || lexState < 0)
-      throw new TokenMgrError("Error: Ignoring invalid lexical state : " + lexState + ". State unchanged.", TokenMgrError.INVALID_LEXICAL_STATE);
-   else
-      curLexState = lexState;
-}
-
-protected Token jjFillToken()
-{
-   Token t = Token.newToken(jjmatchedKind);
-   t.kind = jjmatchedKind;
-   String im = jjstrLiteralImages[jjmatchedKind];
-   t.image = (im == null) ? input_stream.GetImage() : im;
-   t.beginLine = input_stream.getBeginLine();
-   t.beginColumn = input_stream.getBeginColumn();
-   t.endLine = input_stream.getEndLine();
-   t.endColumn = input_stream.getEndColumn();
-   return t;
-}
-
-int curLexState = 0;
-int defaultLexState = 0;
-int jjnewStateCnt;
-int jjround;
-int jjmatchedPos;
-int jjmatchedKind;
-
-public Token getNextToken() 
-{
-  Token matchedToken;
-  int curPos = 0;
-
-  EOFLoop :
-  for (;;)
-  {   
-   try   
-   {     
-      curChar = input_stream.BeginToken();
-   }     
-   catch(java.io.IOException e)
-   {        
-      jjmatchedKind = 0;
-      matchedToken = jjFillToken();
-      return matchedToken;
-   }
-
-   try { input_stream.backup(0);
-      while (curChar <= 32 && (0x100002600L & (1L << curChar)) != 0L)
-         curChar = input_stream.BeginToken();
-   }
-   catch (java.io.IOException e1) { continue EOFLoop; }
-   jjmatchedKind = 0x7fffffff;
-   jjmatchedPos = 0;
-   curPos = jjMoveStringLiteralDfa0_0();
-   if (jjmatchedKind != 0x7fffffff)
-   {
-      if (jjmatchedPos + 1 < curPos)
-         input_stream.backup(curPos - jjmatchedPos - 1);
-      if ((jjtoToken[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L)
-      {
-         matchedToken = jjFillToken();
-         return matchedToken;
-      }
-      else
-      {
-         continue EOFLoop;
-      }
-   }
-   int error_line = input_stream.getEndLine();
-   int error_column = input_stream.getEndColumn();
-   String error_after = null;
-   boolean EOFSeen = false;
-   try { input_stream.readChar(); input_stream.backup(1); }
-   catch (java.io.IOException e1) {
-      EOFSeen = true;
-      error_after = curPos <= 1 ? "" : input_stream.GetImage();
-      if (curChar == '\n' || curChar == '\r') {
-         error_line++;
-         error_column = 0;
-      }
-      else
-         error_column++;
-   }
-   if (!EOFSeen) {
-      input_stream.backup(1);
-      error_after = curPos <= 1 ? "" : input_stream.GetImage();
-   }
-   throw new TokenMgrError(EOFSeen, curLexState, error_line, error_column, error_after, curChar, TokenMgrError.LEXICAL_ERROR);
-  }
-}
-
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/JSPELParserTreeConstants.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/JSPELParserTreeConstants.java
deleted file mode 100644
index a84df6c..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/JSPELParserTreeConstants.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Generated By:JJTree: Do not edit this line. JSPELParserTreeConstants.java */
-
-package org.eclipse.jst.jsp.core.internal.java.jspel;
-
-public interface JSPELParserTreeConstants
-{
-  public int JJTEXPRESSION = 0;
-  public int JJTOREXPRESSION = 1;
-  public int JJTANDEXPRESSION = 2;
-  public int JJTEQUALITYEXPRESSION = 3;
-  public int JJTRELATIONALEXPRESSION = 4;
-  public int JJTADDEXPRESSION = 5;
-  public int JJTMULTIPLYEXPRESSION = 6;
-  public int JJTCHOICEEXPRESSION = 7;
-  public int JJTUNARYEXPRESSION = 8;
-  public int JJTVALUE = 9;
-  public int JJTVALUEPREFIX = 10;
-  public int JJTVALUESUFFIX = 11;
-  public int JJTFUNCTIONINVOCATION = 12;
-  public int JJTLITERAL = 13;
-
-
-  public String[] jjtNodeName = {
-    "Expression",
-    "OrExpression",
-    "AndExpression",
-    "EqualityExpression",
-    "RelationalExpression",
-    "AddExpression",
-    "MultiplyExpression",
-    "ChoiceExpression",
-    "UnaryExpression",
-    "Value",
-    "ValuePrefix",
-    "ValueSuffix",
-    "FunctionInvocation",
-    "Literal",
-  };
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/JSPELParserVisitor.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/JSPELParserVisitor.java
deleted file mode 100644
index aa2bb6c..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/JSPELParserVisitor.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Generated By:JJTree: Do not edit this line. JSPELParserVisitor.java */
-
-package org.eclipse.jst.jsp.core.internal.java.jspel;
-
-public interface JSPELParserVisitor
-{
-  public Object visit(SimpleNode node, Object data);
-  public Object visit(ASTExpression node, Object data);
-  public Object visit(ASTOrExpression node, Object data);
-  public Object visit(ASTAndExpression node, Object data);
-  public Object visit(ASTEqualityExpression node, Object data);
-  public Object visit(ASTRelationalExpression node, Object data);
-  public Object visit(ASTAddExpression node, Object data);
-  public Object visit(ASTMultiplyExpression node, Object data);
-  public Object visit(ASTChoiceExpression node, Object data);
-  public Object visit(ASTUnaryExpression node, Object data);
-  public Object visit(ASTValue node, Object data);
-  public Object visit(ASTValuePrefix node, Object data);
-  public Object visit(ASTValueSuffix node, Object data);
-  public Object visit(ASTFunctionInvocation node, Object data);
-  public Object visit(ASTLiteral node, Object data);
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/Node.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/Node.java
deleted file mode 100644
index 57e988b..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/Node.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Generated By:JJTree: Do not edit this line. Node.java */
-
-package org.eclipse.jst.jsp.core.internal.java.jspel;
-
-/* All AST nodes must implement this interface.  It provides basic
-   machinery for constructing the parent and child relationships
-   between nodes. */
-
-public interface Node {
-
-  /** This method is called after the node has been made the current
-    node.  It indicates that child nodes can now be added to it. */
-  public void jjtOpen();
-
-  /** This method is called after all the child nodes have been
-    added. */
-  public void jjtClose();
-
-  /** This pair of methods are used to inform the node of its
-    parent. */
-  public void jjtSetParent(Node n);
-  public Node jjtGetParent();
-
-  /** This method tells the node to add its argument to the node's
-    list of children.  */
-  public void jjtAddChild(Node n, int i);
-
-  /** This method returns a child node.  The children are numbered
-     from zero, left to right. */
-  public Node jjtGetChild(int i);
-
-  /** Return the number of children the node has. */
-  public int jjtGetNumChildren();
-
-  /** Accept the visitor. **/
-  public Object jjtAccept(JSPELParserVisitor visitor, Object data);
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ParseException.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ParseException.java
deleted file mode 100644
index c385e62..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/ParseException.java
+++ /dev/null
@@ -1,197 +0,0 @@
-/* Generated By:JavaCC: Do not edit this line. ParseException.java Version 3.0 */
-package org.eclipse.jst.jsp.core.internal.java.jspel;
-
-/**
- * This exception is thrown when parse errors are encountered.
- * You can explicitly create objects of this exception type by
- * calling the method generateParseException in the generated
- * parser.
- *
- * You can modify this class to customize your error reporting
- * mechanisms so long as you retain the public fields.
- */
-public class ParseException extends Exception {
-
-  /**
-	 * Default <code>serialVersionUID</code>
-	 */
-	private static final long serialVersionUID = 1L;
-
-/**
-   * This constructor is used by the method "generateParseException"
-   * in the generated parser.  Calling this constructor generates
-   * a new object of this type with the fields "currentToken",
-   * "expectedTokenSequences", and "tokenImage" set.  The boolean
-   * flag "specialConstructor" is also set to true to indicate that
-   * this constructor was used to create this object.
-   * This constructor calls its super class with the empty string
-   * to force the "toString" method of parent class "Throwable" to
-   * print the error message in the form:
-   *     ParseException: <result of getMessage>
-   */
-  public ParseException(Token currentTokenVal,
-                        int[][] expectedTokenSequencesVal,
-                        String[] tokenImageVal
-                       )
-  {
-    super("");
-    specialConstructor = true;
-    currentToken = currentTokenVal;
-    expectedTokenSequences = expectedTokenSequencesVal;
-    tokenImage = tokenImageVal;
-  }
-
-  /**
-   * The following constructors are for use by you for whatever
-   * purpose you can think of.  Constructing the exception in this
-   * manner makes the exception behave in the normal way - i.e., as
-   * documented in the class "Throwable".  The fields "errorToken",
-   * "expectedTokenSequences", and "tokenImage" do not contain
-   * relevant information.  The JavaCC generated code does not use
-   * these constructors.
-   */
-
-  public ParseException() {
-    super();
-    specialConstructor = false;
-  }
-
-  public ParseException(String message) {
-    super(message);
-    specialConstructor = false;
-  }
-
-  /**
-   * This variable determines which constructor was used to create
-   * this object and thereby affects the semantics of the
-   * "getMessage" method (see below).
-   */
-  protected boolean specialConstructor;
-
-  /**
-   * This is the last token that has been consumed successfully.  If
-   * this object has been created due to a parse error, the token
-   * followng this token will (therefore) be the first error token.
-   */
-  public Token currentToken;
-
-  /**
-   * Each entry in this array is an array of integers.  Each array
-   * of integers represents a sequence of tokens (by their ordinal
-   * values) that is expected at this point of the parse.
-   */
-  public int[][] expectedTokenSequences;
-
-  /**
-   * This is a reference to the "tokenImage" array of the generated
-   * parser within which the parse error occurred.  This array is
-   * defined in the generated ...Constants interface.
-   */
-  public String[] tokenImage;
-
-  /**
-   * This method has the standard behavior when this object has been
-   * created using the standard constructors.  Otherwise, it uses
-   * "currentToken" and "expectedTokenSequences" to generate a parse
-   * error message and returns it.  If this object has been created
-   * due to a parse error, and you do not catch it (it gets thrown
-   * from the parser), then this method is called during the printing
-   * of the final stack trace, and hence the correct error message
-   * gets displayed.
-   */
-  public String getMessage() {
-    if (!specialConstructor) {
-      return super.getMessage();
-    }
-    String expected = "";
-    int maxSize = 0;
-    for (int i = 0; i < expectedTokenSequences.length; i++) {
-      if (maxSize < expectedTokenSequences[i].length) {
-        maxSize = expectedTokenSequences[i].length;
-      }
-      for (int j = 0; j < expectedTokenSequences[i].length; j++) {
-        expected += tokenImage[expectedTokenSequences[i][j]] + " ";
-      }
-      if (expectedTokenSequences[i][expectedTokenSequences[i].length - 1] != 0) {
-        expected += "...";
-      }
-      expected += eol + "    ";
-    }
-    String retval = "Encountered \"";
-    Token tok = currentToken.next;
-    for (int i = 0; i < maxSize; i++) {
-      if (i != 0) retval += " ";
-      if (tok.kind == 0) {
-        retval += tokenImage[0];
-        break;
-      }
-      retval += add_escapes(tok.image);
-      tok = tok.next; 
-    }
-    retval += "\" at line " + currentToken.next.beginLine + ", column " + currentToken.next.beginColumn;
-    retval += "." + eol;
-    if (expectedTokenSequences.length == 1) {
-      retval += "Was expecting:" + eol + "    ";
-    } else {
-      retval += "Was expecting one of:" + eol + "    ";
-    }
-    retval += expected;
-    return retval;
-  }
-
-  /**
-   * The end of line string for this machine.
-   */
-  protected String eol = System.getProperty("line.separator", "\n");
- 
-  /**
-   * Used to convert raw characters to their escaped version
-   * when these raw version cannot be used as part of an ASCII
-   * string literal.
-   */
-  protected String add_escapes(String str) {
-      StringBuffer retval = new StringBuffer();
-      char ch;
-      for (int i = 0; i < str.length(); i++) {
-        switch (str.charAt(i))
-        {
-           case 0 :
-              continue;
-           case '\b':
-              retval.append("\\b");
-              continue;
-           case '\t':
-              retval.append("\\t");
-              continue;
-           case '\n':
-              retval.append("\\n");
-              continue;
-           case '\f':
-              retval.append("\\f");
-              continue;
-           case '\r':
-              retval.append("\\r");
-              continue;
-           case '\"':
-              retval.append("\\\"");
-              continue;
-           case '\'':
-              retval.append("\\\'");
-              continue;
-           case '\\':
-              retval.append("\\\\");
-              continue;
-           default:
-              if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) {
-                 String s = "0000" + Integer.toString(ch, 16);
-                 retval.append("\\u" + s.substring(s.length() - 4, s.length()));
-              } else {
-                 retval.append(ch);
-              }
-              continue;
-        }
-      }
-      return retval.toString();
-   }
-
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/SimpleCharStream.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/SimpleCharStream.java
deleted file mode 100644
index f1319a3..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/SimpleCharStream.java
+++ /dev/null
@@ -1,401 +0,0 @@
-/* Generated By:JavaCC: Do not edit this line. SimpleCharStream.java Version 3.0 */
-package org.eclipse.jst.jsp.core.internal.java.jspel;
-
-/**
- * An implementation of interface CharStream, where the stream is assumed to
- * contain only ASCII characters (without unicode processing).
- */
-
-public class SimpleCharStream
-{
-  public static final boolean staticFlag = false;
-  int bufsize;
-  int available;
-  int tokenBegin;
-  public int bufpos = -1;
-  protected int bufline[];
-  protected int bufcolumn[];
-
-  protected int column = 0;
-  protected int line = 1;
-
-  protected boolean prevCharIsCR = false;
-  protected boolean prevCharIsLF = false;
-
-  protected java.io.Reader inputStream;
-
-  protected char[] buffer;
-  protected int maxNextCharInd = 0;
-  protected int inBuf = 0;
-
-  protected void ExpandBuff(boolean wrapAround)
-  {
-     char[] newbuffer = new char[bufsize + 2048];
-     int newbufline[] = new int[bufsize + 2048];
-     int newbufcolumn[] = new int[bufsize + 2048];
-
-     try
-     {
-        if (wrapAround)
-        {
-           System.arraycopy(buffer, tokenBegin, newbuffer, 0, bufsize - tokenBegin);
-           System.arraycopy(buffer, 0, newbuffer,
-                                             bufsize - tokenBegin, bufpos);
-           buffer = newbuffer;
-
-           System.arraycopy(bufline, tokenBegin, newbufline, 0, bufsize - tokenBegin);
-           System.arraycopy(bufline, 0, newbufline, bufsize - tokenBegin, bufpos);
-           bufline = newbufline;
-
-           System.arraycopy(bufcolumn, tokenBegin, newbufcolumn, 0, bufsize - tokenBegin);
-           System.arraycopy(bufcolumn, 0, newbufcolumn, bufsize - tokenBegin, bufpos);
-           bufcolumn = newbufcolumn;
-
-           maxNextCharInd = (bufpos += (bufsize - tokenBegin));
-        }
-        else
-        {
-           System.arraycopy(buffer, tokenBegin, newbuffer, 0, bufsize - tokenBegin);
-           buffer = newbuffer;
-
-           System.arraycopy(bufline, tokenBegin, newbufline, 0, bufsize - tokenBegin);
-           bufline = newbufline;
-
-           System.arraycopy(bufcolumn, tokenBegin, newbufcolumn, 0, bufsize - tokenBegin);
-           bufcolumn = newbufcolumn;
-
-           maxNextCharInd = (bufpos -= tokenBegin);
-        }
-     }
-     catch (Throwable t)
-     {
-        throw new Error(t.getMessage());
-     }
-
-
-     bufsize += 2048;
-     available = bufsize;
-     tokenBegin = 0;
-  }
-
-  protected void FillBuff() throws java.io.IOException
-  {
-     if (maxNextCharInd == available)
-     {
-        if (available == bufsize)
-        {
-           if (tokenBegin > 2048)
-           {
-              bufpos = maxNextCharInd = 0;
-              available = tokenBegin;
-           }
-           else if (tokenBegin < 0)
-              bufpos = maxNextCharInd = 0;
-           else
-              ExpandBuff(false);
-        }
-        else if (available > tokenBegin)
-           available = bufsize;
-        else if ((tokenBegin - available) < 2048)
-           ExpandBuff(true);
-        else
-           available = tokenBegin;
-     }
-
-     int i;
-     try {
-        if ((i = inputStream.read(buffer, maxNextCharInd,
-                                    available - maxNextCharInd)) == -1)
-        {
-           inputStream.close();
-           throw new java.io.IOException();
-        }
-        else
-           maxNextCharInd += i;
-        return;
-     }
-     catch(java.io.IOException e) {
-        --bufpos;
-        backup(0);
-        if (tokenBegin == -1)
-           tokenBegin = bufpos;
-        throw e;
-     }
-  }
-
-  public char BeginToken() throws java.io.IOException
-  {
-     tokenBegin = -1;
-     char c = readChar();
-     tokenBegin = bufpos;
-
-     return c;
-  }
-
-  protected void UpdateLineColumn(char c)
-  {
-     column++;
-
-     if (prevCharIsLF)
-     {
-        prevCharIsLF = false;
-        line += (column = 1);
-     }
-     else if (prevCharIsCR)
-     {
-        prevCharIsCR = false;
-        if (c == '\n')
-        {
-           prevCharIsLF = true;
-        }
-        else
-           line += (column = 1);
-     }
-
-     switch (c)
-     {
-        case '\r' :
-           prevCharIsCR = true;
-           break;
-        case '\n' :
-           prevCharIsLF = true;
-           break;
-        case '\t' :
-           column--;
-           column += (8 - (column & 07));
-           break;
-        default :
-           break;
-     }
-
-     bufline[bufpos] = line;
-     bufcolumn[bufpos] = column;
-  }
-
-  public char readChar() throws java.io.IOException
-  {
-     if (inBuf > 0)
-     {
-        --inBuf;
-
-        if (++bufpos == bufsize)
-           bufpos = 0;
-
-        return buffer[bufpos];
-     }
-
-     if (++bufpos >= maxNextCharInd)
-        FillBuff();
-
-     char c = buffer[bufpos];
-
-     UpdateLineColumn(c);
-     return (c);
-  }
-
-  /**
-   * @deprecated 
-   * @see #getEndColumn
-   */
-
-  public int getColumn() {
-     return bufcolumn[bufpos];
-  }
-
-  /**
-   * @deprecated 
-   * @see #getEndLine
-   */
-
-  public int getLine() {
-     return bufline[bufpos];
-  }
-
-  public int getEndColumn() {
-     return bufcolumn[bufpos];
-  }
-
-  public int getEndLine() {
-     return bufline[bufpos];
-  }
-
-  public int getBeginColumn() {
-     return bufcolumn[tokenBegin];
-  }
-
-  public int getBeginLine() {
-     return bufline[tokenBegin];
-  }
-
-  public void backup(int amount) {
-
-    inBuf += amount;
-    if ((bufpos -= amount) < 0)
-       bufpos += bufsize;
-  }
-
-  public SimpleCharStream(java.io.Reader dstream, int startline,
-  int startcolumn, int buffersize)
-  {
-    inputStream = dstream;
-    line = startline;
-    column = startcolumn - 1;
-
-    available = bufsize = buffersize;
-    buffer = new char[buffersize];
-    bufline = new int[buffersize];
-    bufcolumn = new int[buffersize];
-  }
-
-  public SimpleCharStream(java.io.Reader dstream, int startline,
-                                                           int startcolumn)
-  {
-     this(dstream, startline, startcolumn, 4096);
-  }
-
-  public SimpleCharStream(java.io.Reader dstream)
-  {
-     this(dstream, 1, 1, 4096);
-  }
-  public void ReInit(java.io.Reader dstream, int startline,
-  int startcolumn, int buffersize)
-  {
-    inputStream = dstream;
-    line = startline;
-    column = startcolumn - 1;
-
-    if (buffer == null || buffersize != buffer.length)
-    {
-      available = bufsize = buffersize;
-      buffer = new char[buffersize];
-      bufline = new int[buffersize];
-      bufcolumn = new int[buffersize];
-    }
-    prevCharIsLF = prevCharIsCR = false;
-    tokenBegin = inBuf = maxNextCharInd = 0;
-    bufpos = -1;
-  }
-
-  public void ReInit(java.io.Reader dstream, int startline,
-                                                           int startcolumn)
-  {
-     ReInit(dstream, startline, startcolumn, 4096);
-  }
-
-  public void ReInit(java.io.Reader dstream)
-  {
-     ReInit(dstream, 1, 1, 4096);
-  }
-  public SimpleCharStream(java.io.InputStream dstream, int startline,
-  int startcolumn, int buffersize)
-  {
-     this(new java.io.InputStreamReader(dstream), startline, startcolumn, 4096);
-  }
-
-  public SimpleCharStream(java.io.InputStream dstream, int startline,
-                                                           int startcolumn)
-  {
-     this(dstream, startline, startcolumn, 4096);
-  }
-
-  public SimpleCharStream(java.io.InputStream dstream)
-  {
-     this(dstream, 1, 1, 4096);
-  }
-
-  public void ReInit(java.io.InputStream dstream, int startline,
-                          int startcolumn, int buffersize)
-  {
-     ReInit(new java.io.InputStreamReader(dstream), startline, startcolumn, 4096);
-  }
-
-  public void ReInit(java.io.InputStream dstream)
-  {
-     ReInit(dstream, 1, 1, 4096);
-  }
-  public void ReInit(java.io.InputStream dstream, int startline,
-                                                           int startcolumn)
-  {
-     ReInit(dstream, startline, startcolumn, 4096);
-  }
-  public String GetImage()
-  {
-     if (bufpos >= tokenBegin)
-        return new String(buffer, tokenBegin, bufpos - tokenBegin + 1);
-     else
-        return new String(buffer, tokenBegin, bufsize - tokenBegin) +
-                              new String(buffer, 0, bufpos + 1);
-  }
-
-  public char[] GetSuffix(int len)
-  {
-     char[] ret = new char[len];
-
-     if ((bufpos + 1) >= len)
-        System.arraycopy(buffer, bufpos - len + 1, ret, 0, len);
-     else
-     {
-        System.arraycopy(buffer, bufsize - (len - bufpos - 1), ret, 0,
-                                                          len - bufpos - 1);
-        System.arraycopy(buffer, 0, ret, len - bufpos - 1, bufpos + 1);
-     }
-
-     return ret;
-  }
-
-  public void Done()
-  {
-     buffer = null;
-     bufline = null;
-     bufcolumn = null;
-  }
-
-  /**
-   * Method to adjust line and column numbers for the start of a token.
-   */
-  public void adjustBeginLineColumn(int newLine, int newCol)
-  {
-     int start = tokenBegin;
-     int len;
-
-     if (bufpos >= tokenBegin)
-     {
-        len = bufpos - tokenBegin + inBuf + 1;
-     }
-     else
-     {
-        len = bufsize - tokenBegin + bufpos + 1 + inBuf;
-     }
-
-     int i = 0, j = 0, k = 0;
-     int nextColDiff = 0, columnDiff = 0;
-
-     while (i < len &&
-            bufline[j = start % bufsize] == bufline[k = ++start % bufsize])
-     {
-        bufline[j] = newLine;
-        nextColDiff = columnDiff + bufcolumn[k] - bufcolumn[j];
-        bufcolumn[j] = newCol + columnDiff;
-        columnDiff = nextColDiff;
-        i++;
-     } 
-
-     if (i < len)
-     {
-        bufline[j] = newLine++;
-        bufcolumn[j] = newCol + columnDiff;
-
-        while (i++ < len)
-        {
-           if (bufline[j = start % bufsize] != bufline[++start % bufsize])
-              bufline[j] = newLine++;
-           else
-              bufline[j] = newLine;
-        }
-     }
-
-     line = bufline[j];
-     column = bufcolumn[j];
-  }
-
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/SimpleNode.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/SimpleNode.java
deleted file mode 100644
index 66c04f1..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/SimpleNode.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/* Generated By:JJTree: Do not edit this line. SimpleNode.java */
-
-package org.eclipse.jst.jsp.core.internal.java.jspel;
-
-public class SimpleNode implements Node {
-  protected Node parent;
-  protected Node[] children;
-  protected int id;
-  protected JSPELParser parser;
-  protected Token firstToken;
-  protected Token lastToken;
-
-  public SimpleNode(int i) {
-    id = i;
-  }
-
-  public SimpleNode(JSPELParser p, int i) {
-    this(i);
-    parser = p;
-  }
-
-  public void jjtOpen() {
-  }
-
-  public void jjtClose() {
-  }
-  
-  public void jjtSetParent(Node n) { parent = n; }
-  public Node jjtGetParent() { return parent; }
-
-  public void jjtAddChild(Node n, int i) {
-    if (children == null) {
-      children = new Node[i + 1];
-    } else if (i >= children.length) {
-      Node c[] = new Node[i + 1];
-      System.arraycopy(children, 0, c, 0, children.length);
-      children = c;
-    }
-    children[i] = n;
-  }
-
-  public Node jjtGetChild(int i) {
-    return children[i];
-  }
-
-  public int jjtGetNumChildren() {
-    return (children == null) ? 0 : children.length;
-  }
-
-  /** Accept the visitor. **/
-  public Object jjtAccept(JSPELParserVisitor visitor, Object data) {
-    return visitor.visit(this, data);
-  }
-
-  /** Accept the visitor. **/
-  public Object childrenAccept(JSPELParserVisitor visitor, Object data) {
-    if (children != null) {
-      for (int i = 0; i < children.length; ++i) {
-        children[i].jjtAccept(visitor, data);
-      }
-    }
-    return data;
-  }
-
-  /* You can override these two methods in subclasses of SimpleNode to
-     customize the way the node appears when the tree is dumped.  If
-     your output uses more than one line you should override
-     toString(String), otherwise overriding toString() is probably all
-     you need to do. */
-
-  public String toString() { return JSPELParserTreeConstants.jjtNodeName[id]; }
-  public String toString(String prefix) { return prefix + toString(); }
-
-  /* Override this method if you want to customize how the node dumps
-     out its children. */
-
-  public void dump(String prefix) {
-    System.out.println(toString(prefix));
-    if (children != null) {
-      for (int i = 0; i < children.length; ++i) {
-	SimpleNode n = (SimpleNode)children[i];
-	if (n != null) {
-	  n.dump(prefix + " ");
-	}
-      }
-    }
-  }
-
-  public Token getFirstToken() {
-    return firstToken;
-  }
-
-  public void setFirstToken(Token firstToken) {
-    this.firstToken = firstToken;
-  }
-
-  public Token getLastToken() {
-    return lastToken;
-  }
-
-  public void setLastToken(Token lastToken) {
-    this.lastToken = lastToken;
-  }
-}
-
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/Token.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/Token.java
deleted file mode 100644
index 89e6fb8..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/Token.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/* Generated By:JavaCC: Do not edit this line. Token.java Version 3.0 */
-package org.eclipse.jst.jsp.core.internal.java.jspel;
-
-/**
- * Describes the input token stream.
- */
-
-public class Token {
-
-  /**
-   * An integer that describes the kind of this token.  This numbering
-   * system is determined by JavaCCParser, and a table of these numbers is
-   * stored in the file ...Constants.java.
-   */
-  public int kind;
-
-  /**
-   * beginLine and beginColumn describe the position of the first character
-   * of this token; endLine and endColumn describe the position of the
-   * last character of this token.
-   */
-  public int beginLine, beginColumn, endLine, endColumn;
-
-  /**
-   * The string image of the token.
-   */
-  public String image;
-
-  /**
-   * A reference to the next regular (non-special) token from the input
-   * stream.  If this is the last token from the input stream, or if the
-   * token manager has not read tokens beyond this one, this field is
-   * set to null.  This is true only if this token is also a regular
-   * token.  Otherwise, see below for a description of the contents of
-   * this field.
-   */
-  public Token next;
-
-  /**
-   * This field is used to access special tokens that occur prior to this
-   * token, but after the immediately preceding regular (non-special) token.
-   * If there are no such special tokens, this field is set to null.
-   * When there are more than one such special token, this field refers
-   * to the last of these special tokens, which in turn refers to the next
-   * previous special token through its specialToken field, and so on
-   * until the first special token (whose specialToken field is null).
-   * The next fields of special tokens refer to other special tokens that
-   * immediately follow it (without an intervening regular token).  If there
-   * is no such token, this field is null.
-   */
-  public Token specialToken;
-
-  /**
-   * Returns the image.
-   */
-  public String toString()
-  {
-     return image;
-  }
-
-  /**
-   * Returns a new Token object, by default. However, if you want, you
-   * can create and return subclass objects based on the value of ofKind.
-   * Simply add the cases to the switch for all those special cases.
-   * For example, if you have a subclass of Token called IDToken that
-   * you want to create if ofKind is ID, simlpy add something like :
-   *
-   *    case MyParserConstants.ID : return new IDToken();
-   *
-   * to the following switch statement. Then you can cast matchedToken
-   * variable to the appropriate type and use it in your lexical actions.
-   */
-  public static final Token newToken(int ofKind)
-  {
-     switch(ofKind)
-     {
-       default : return new Token();
-     }
-  }
-
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/TokenMgrError.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/TokenMgrError.java
deleted file mode 100644
index aba64cc..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/TokenMgrError.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/* Generated By:JavaCC: Do not edit this line. TokenMgrError.java Version 3.0 */
-package org.eclipse.jst.jsp.core.internal.java.jspel;
-
-public class TokenMgrError extends Error
-{
-   /*
-    * Ordinals for various reasons why an Error of this type can be thrown.
-    */
-
-   /**
-	 * Default <code>serialVersionUID</code>
-	 */
-	private static final long serialVersionUID = 1L;
-
-/**
-    * Lexical error occured.
-    */
-   static final int LEXICAL_ERROR = 0;
-
-   /**
-    * An attempt wass made to create a second instance of a static token manager.
-    */
-   static final int STATIC_LEXER_ERROR = 1;
-
-   /**
-    * Tried to change to an invalid lexical state.
-    */
-   static final int INVALID_LEXICAL_STATE = 2;
-
-   /**
-    * Detected (and bailed out of) an infinite loop in the token manager.
-    */
-   static final int LOOP_DETECTED = 3;
-
-   /**
-    * Indicates the reason why the exception is thrown. It will have
-    * one of the above 4 values.
-    */
-   int errorCode;
-
-   /**
-    * Replaces unprintable characters by their espaced (or unicode escaped)
-    * equivalents in the given string
-    */
-   protected static final String addEscapes(String str) {
-      StringBuffer retval = new StringBuffer();
-      char ch;
-      for (int i = 0; i < str.length(); i++) {
-        switch (str.charAt(i))
-        {
-           case 0 :
-              continue;
-           case '\b':
-              retval.append("\\b");
-              continue;
-           case '\t':
-              retval.append("\\t");
-              continue;
-           case '\n':
-              retval.append("\\n");
-              continue;
-           case '\f':
-              retval.append("\\f");
-              continue;
-           case '\r':
-              retval.append("\\r");
-              continue;
-           case '\"':
-              retval.append("\\\"");
-              continue;
-           case '\'':
-              retval.append("\\\'");
-              continue;
-           case '\\':
-              retval.append("\\\\");
-              continue;
-           default:
-              if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) {
-                 String s = "0000" + Integer.toString(ch, 16);
-                 retval.append("\\u" + s.substring(s.length() - 4, s.length()));
-              } else {
-                 retval.append(ch);
-              }
-              continue;
-        }
-      }
-      return retval.toString();
-   }
-
-   /**
-    * Returns a detailed message for the Error when it is thrown by the
-    * token manager to indicate a lexical error.
-    * Parameters : 
-    *    EOFSeen     : indicates if EOF caused the lexicl error
-    *    curLexState : lexical state in which this error occured
-    *    errorLine   : line number when the error occured
-    *    errorColumn : column number when the error occured
-    *    errorAfter  : prefix that was seen before this error occured
-    *    curchar     : the offending character
-    * Note: You can customize the lexical error message by modifying this method.
-    */
-   protected static String LexicalError(boolean EOFSeen, int lexState, int errorLine, int errorColumn, String errorAfter, char curChar) {
-      return("Lexical error at line " +
-           errorLine + ", column " +
-           errorColumn + ".  Encountered: " +
-           (EOFSeen ? "<EOF> " : ("\"" + addEscapes(String.valueOf(curChar)) + "\"") + " (" + (int)curChar + "), ") +
-           "after : \"" + addEscapes(errorAfter) + "\"");
-   }
-
-   /**
-    * You can also modify the body of this method to customize your error messages.
-    * For example, cases like LOOP_DETECTED and INVALID_LEXICAL_STATE are not
-    * of end-users concern, so you can return something like : 
-    *
-    *     "Internal Error : Please file a bug report .... "
-    *
-    * from this method for such cases in the release version of your parser.
-    */
-   public String getMessage() {
-      return super.getMessage();
-   }
-
-   /*
-    * Constructors of various flavors follow.
-    */
-
-   public TokenMgrError() {
-   }
-
-   public TokenMgrError(String message, int reason) {
-      super(message);
-      errorCode = reason;
-   }
-
-   public TokenMgrError(boolean EOFSeen, int lexState, int errorLine, int errorColumn, String errorAfter, char curChar, int reason) {
-      this(LexicalError(EOFSeen, lexState, errorLine, errorColumn, errorAfter, curChar), reason);
-   }
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/fixparser.sed b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/fixparser.sed
deleted file mode 100644
index 1aa5e62..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/fixparser.sed
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/usr/bin/sed

-

-#

-# The SSE generally uses compiler setting to turn  most warnings into errors.  

-# This is a little problematic for JavaCC generated files.  We don't want 

-# to distribute a customized version of JavaCC nor is there any "template" 

-# mechanism.  So, this simple sed script goes through the generated token

-# manager and fixes a few things.  If JavaCC changes the generated code, 

-# it's likely that this script will no longer do the right thing.  Ditto with

-# any version of JavaCC besides 3.2. Also, there's no guarantee that this 

-# script will even work with an arbitrary JavaCC grammar.  It's only been tested

-# with the current JSP EL grammar.

-#

-# Author: Ted A. Carroll (tcarroll@bea.com)

-#

-

-s/static private final class LookaheadSuccess extends java.lang.Error { }/static private final class LookaheadSuccess extends java.lang.Error { \n    private static final long serialVersionUID = 1L; \n  }/g

-

diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/fixtm.sed b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/fixtm.sed
deleted file mode 100644
index 5c1dea4..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/fixtm.sed
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/usr/bin/sed

-

-#

-# The SSE generally uses compiler setting to turn  most warnings into errors.  

-# This is a little problematic for JavaCC generated files.  We don't want 

-# to distribute a customized version of JavaCC nor is there any "template" 

-# mechanism.  So, this simple sed script goes through the generated token

-# manager and fixes a few things.  If JavaCC changes the generated code, 

-# it's likely that this script will no longer do the right thing.  Ditto with

-# any version of JavaCC besides 3.2. Also, there's no guarantee that this 

-# script will even work with an arbitrary JavaCC grammar.  It's only been tested

-# with the current JSP EL grammar.

-#

-# Author: Ted A. Carroll (tcarroll@bea.com)

-#

-

-s/(int)(curChar >> 8)/curChar >> 8/g

-

-/^public Token getNextToken()/, /EOFLoop/{

-	/int kind;/ {d}

-	/Token specialToken = null;/{d}

-}

-

-/^private final int jjMoveNfa_0(int startState, int curPos)/, /for(;;)/{

-	s/int j, kind = 0x7fffffff;/int kind = 0x7fffffff;/g

-	/int\[\] nextStates;/{d}

-}

diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/go.sh b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/go.sh
deleted file mode 100644
index b3d5aaa..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/jspel/go.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/usr/bin/sh

-

-# Set JAVACC_HOME to the installation directory of javacc 3.2

-$JAVACC_HOME/bin/jjtree.bat JSPEL.jjt

-$JAVACC_HOME/bin/javacc.bat JSPEL.jj

-sed -f fixtm.sed -i.bak JSPELParserTokenManager.java

-diff -w JSPELParserTokenManager.java JSPELParserTokenManager.java.bak

-sed -f fixparser.sed -i.bak JSPELParser.java

-diff -w JSPELParser.java JSPELParser.java.bak

diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/IndexWorkspaceJob.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/IndexWorkspaceJob.java
deleted file mode 100644
index 7b9ac0d..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/IndexWorkspaceJob.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.java.search;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceProxy;
-import org.eclipse.core.resources.IResourceProxyVisitor;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jst.jsp.core.internal.JSPCoreMessages;
-import org.eclipse.jst.jsp.core.internal.provisional.contenttype.ContentTypeIdForJSP;
-
-/**
- * Re-indexes the entire workspace.
- * Ensures the JSP Index is in a stable state before performing a search.
- * (like after a crash or if previous indexing was canceled)
- * 
- * @author pavery
- */
-public class IndexWorkspaceJob extends Job {
-
-	// for debugging
-	static final boolean DEBUG;
-	static {
-		String value= Platform.getDebugOption("org.eclipse.jst.jsp.core/debug/jspindexmanager"); //$NON-NLS-1$
-		DEBUG= value != null && value.equalsIgnoreCase("true"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Visitor that retrieves jsp project paths for all jsp files in the workspace,
-	 * and adds the files to be indexed as they are encountered
-	 */
-	private class JSPFileVisitor implements IResourceProxyVisitor {
-	    private List files = new ArrayList(); 
-		
-		// monitor from the Job
-		IProgressMonitor fInnerMonitor = null;
-		public JSPFileVisitor(IProgressMonitor monitor) {
-			this.fInnerMonitor = monitor;
-		}
-		
-		public boolean visit(IResourceProxy proxy) throws CoreException {
-			
-			// check job canceled
-			if (this.fInnerMonitor != null && this.fInnerMonitor.isCanceled()) {
-				setCanceledState();
-				return false;
-			}
-			
-			// check search support canceled
-			if(JSPSearchSupport.getInstance().isCanceled()) {
-				setCanceledState();
-				return false;
-			}
-			
-			if (proxy.getType() == IResource.FILE) {
-				
-				// https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=3553
-				// check this before description
-				// check name before actually getting the file (less work)
-				if(getJspContentType().isAssociatedWith(proxy.getName())) {
-					IFile file = (IFile) proxy.requestResource();
-					if(file.exists()) {
-						
-						if(DEBUG)
-							System.out.println("(+) IndexWorkspaceJob adding file: " + file.getName()); //$NON-NLS-1$
-						// this call will check the ContentTypeDescription, so don't need to do it here.
-						//JSPSearchSupport.getInstance().addJspFile(file);
-						this.files.add(file);
-						this.fInnerMonitor.subTask(proxy.getName());
-						
-						// don't search deeper for files
-						return false;
-					}
-				}
-			}
-			return true;
-		}
-		
-		public final IFile[] getFiles() {
-		    return (IFile[])this.files.toArray(new IFile[this.files.size()]);
-		}
-	}
-	
-	private IContentType fContentTypeJSP = null;
-	
-	public IndexWorkspaceJob() {
-		// pa_TODO may want to say something like "Rebuilding JSP Index" to be more
-		// descriptive instead of "Updating JSP Index" since they are 2 different things
-		super(JSPCoreMessages.JSPIndexManager_0);
-		setPriority(Job.LONG);
-		setSystem(true);
-	}
-
-	IContentType getJspContentType() {
-		if(this.fContentTypeJSP == null)
-			this.fContentTypeJSP = Platform.getContentTypeManager().getContentType(ContentTypeIdForJSP.ContentTypeID_JSP);
-		return this.fContentTypeJSP;
-	}
-	
-	/**
-	 * @see org eclipse.core.internal.jobs.InternalJob#run(org.eclipse.core.runtime.IProgressMonitor) 
-	 * for similar method
-	 */
-	protected IStatus run(IProgressMonitor monitor) {
-		
-		IStatus status = Status.OK_STATUS;
-		
-		if(monitor.isCanceled()) {
-			setCanceledState();
-			return Status.CANCEL_STATUS;
-		}
-		
-		if(DEBUG)
-			System.out.println(" ^ IndexWorkspaceJob started: "); //$NON-NLS-1$
-		
-		long start = System.currentTimeMillis();
-		
-		try {
-		    JSPFileVisitor visitor = new JSPFileVisitor(monitor);
-		    // collect all jsp files
-			ResourcesPlugin.getWorkspace().getRoot().accept(visitor, IResource.DEPTH_INFINITE);
-			// request indexing
-			// this is pretty much like faking an entire workspace resource delta
-			JSPIndexManager.getInstance().indexFiles(visitor.getFiles());
-		}
-		catch (CoreException e) {
-			if(DEBUG)
-				e.printStackTrace();
-		}
-		finally {
-			if(monitor != null)
-				monitor.done();
-		}
-		long finish = System.currentTimeMillis();
-		if(DEBUG)
-			System.out.println(" ^ IndexWorkspaceJob finished\n   total time running: " + (finish - start)); //$NON-NLS-1$
-		
-		return status;
-	}
-	
-	void setCanceledState() {
-		JSPIndexManager.getInstance().setIndexState(JSPIndexManager.S_CANCELED);
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/JSPIndexManager.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/JSPIndexManager.java
deleted file mode 100644
index aefff40..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/JSPIndexManager.java
+++ /dev/null
@@ -1,606 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.java.search;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-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.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.core.runtime.jobs.IJobChangeEvent;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.core.runtime.jobs.JobChangeAdapter;
-import org.eclipse.jdt.internal.core.JavaModelManager;
-import org.eclipse.jdt.internal.core.index.Index;
-import org.eclipse.jdt.internal.core.search.indexing.IndexManager;
-import org.eclipse.jst.jsp.core.internal.JSPCoreMessages;
-import org.eclipse.jst.jsp.core.internal.JSPCorePlugin;
-import org.eclipse.jst.jsp.core.internal.Logger;
-import org.eclipse.jst.jsp.core.internal.provisional.contenttype.ContentTypeIdForJSP;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.Bundle;
-
-/**
- * Responsible for keeping the JSP index up to date.
- * 
- * @author pavery
- */
-public class JSPIndexManager implements IResourceChangeListener {
-
-	// for debugging
-	static final boolean DEBUG;
-	static {
-		String value = Platform.getDebugOption("org.eclipse.jst.jsp.core/debug/jspindexmanager"); //$NON-NLS-1$
-		DEBUG = value != null && value.equalsIgnoreCase("true"); //$NON-NLS-1$
-	}
-
-	private static final String PKEY_INDEX_STATE = "jspIndexState"; //$NON-NLS-1$
-
-	final IndexWorkspaceJob indexingJob = new IndexWorkspaceJob();
-
-
-
-	// set to S_UPDATING once a resource change comes in
-	// set to S_STABLE if:
-	// - we know we aren't interested in the resource change
-	// - or the ProcessFilesJob completes
-	// set to S_CANCELED if an indexing job is canceled
-	// set to S_REBUILDING if re-indexing the entire workspace
-
-	// the int '0' is reserved for the default value if a preference is not
-	// there
-	/** index is reliable to use */
-	public static final int S_STABLE = 1;
-	/** index is being updated (from a resource delta) */
-	public static final int S_UPDATING = 2;
-	/** entire index is being rebuilt */
-	public static final int S_REBUILDING = 3;
-	/**
-	 * indexing job was canceled in the middle of it, index needs to be
-	 * rebuilt
-	 */
-	public static final int S_CANCELED = 4;
-
-	/** symbolic name for OSGI framework */
-	private final String OSGI_FRAMEWORK_ID = "org.eclipse.osgi"; //$NON-NLS-1$
-
-	/**
-	 * Collects JSP files from a resource delta.
-	 */
-	private class JSPResourceVisitor implements IResourceDeltaVisitor {
-		// using hash map ensures only one of each file
-		// must be reset before every use
-		private HashMap jspFiles = null;
-
-		public JSPResourceVisitor() {
-			this.jspFiles = new HashMap();
-		}
-
-		public boolean visit(IResourceDelta delta) throws CoreException {
-
-			// in case JSP search was canceled (eg. when closing the editor)
-			if (JSPSearchSupport.getInstance().isCanceled() || frameworkIsShuttingDown()) {
-				setCanceledState();
-				return false;
-			}
-
-			try {
-				if (!isHiddenResource(delta.getFullPath())) {
-
-					int kind = delta.getKind();
-					boolean added = (kind & IResourceDelta.ADDED) == IResourceDelta.ADDED;
-					boolean isInterestingChange = false;
-					if ((kind & IResourceDelta.CHANGED) == IResourceDelta.CHANGED) {
-						int flags = delta.getFlags();
-						// ignore things like marker changes
-						isInterestingChange = (flags & IResourceDelta.CONTENT) == IResourceDelta.CONTENT || (flags & IResourceDelta.REPLACED) == IResourceDelta.REPLACED;
-					}
-					boolean removed = (kind & IResourceDelta.REMOVED) == IResourceDelta.REMOVED;
-					if (added || isInterestingChange) {
-
-						// https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=3553
-						// quick check if it's even JSP related to improve
-						// performance
-						// checking name from the delta before getting
-						// resource because it's lighter
-						int numSegments = delta.getFullPath().segmentCount();
-						String filename = delta.getFullPath().segment(numSegments - 1);
-						if (getJspContentType().isAssociatedWith(filename)) {
-							IResource r = delta.getResource();
-							if (r != null && r.exists() && r.getType() == IResource.FILE) {
-								this.jspFiles.put(r.getFullPath(), r);
-							}
-						}
-					}
-					else if (removed) {
-						// handle cleanup
-						if (delta.getResource() != null) {
-							IResource r = delta.getResource();
-							if (r.getType() == IResource.FOLDER && r.exists()) {
-								deleteIndex((IFile) r);
-							}
-						}
-					}
-				}
-			}
-			catch (Exception e) {
-				// need to set state here somehow, and reindex
-				// otherwise index will be unreliable
-				if (DEBUG)
-					Logger.logException("Delta analysis may not be complete", e); //$NON-NLS-1$
-			}
-			// if the delta has children, continue to add/remove files
-			return true;
-		}
-
-		// https://bugs.eclipse.org/bugs/show_bug.cgi?id=93463
-		private boolean isHiddenResource(IPath p) {
-			String[] segments = p.segments();
-			for (int i = 0; i < segments.length; i++) {
-				if (segments[i].startsWith(".")) //$NON-NLS-1$
-					return true;
-			}
-			return false;
-		}
-
-		private void deleteIndex(IFile folder) {
-			// cleanup index
-			IndexManager im = JavaModelManager.getJavaModelManager().getIndexManager();
-			IPath folderPath = folder.getFullPath();
-			IPath indexLocation = JSPSearchSupport.getInstance().computeIndexLocation(folderPath);
-			im.removeIndex(indexLocation);
-			// im.indexLocations.removeKey(folderPath);
-			// im.indexLocations.removeValue(indexLocation);
-			File f = indexLocation.toFile();
-			f.delete();
-		}
-
-		public IFile[] getFiles() {
-			return (IFile[]) this.jspFiles.values().toArray(new IFile[this.jspFiles.size()]);
-		}
-
-		public void reset() {
-			this.jspFiles.clear();
-		}
-	}
-
-	// end class JSPResourceVisitor
-
-	/**
-	 * schedules JSP files for indexing by Java core
-	 */
-	private class ProcessFilesJob extends Job {
-		List fileList = null;
-		private final int maximumToRemember = 50;
-
-		ProcessFilesJob(String taskName) {
-			super(taskName);
-			fileList = new ArrayList();
-		}
-
-		synchronized void process(IFile[] files) {
-			for (int i = 0; i < files.length; i++) {
-				fileList.add(files[i]);
-			}
-			if (DEBUG) {
-				System.out.println("JSPIndexManager queuing " + files.length + " files"); //$NON-NLS-2$ //$NON-NLS-1$
-			}
-			schedule(20);
-		}
-
-		synchronized IFile[] getFiles() {
-			IFile[] files = (IFile[]) fileList.toArray(new IFile[fileList.size()]);
-			if (fileList.size() > maximumToRemember) {
-				fileList = new ArrayList();
-			}
-			else {
-				fileList.clear();
-			}
-			return files;
-		}
-
-		protected IStatus run(IProgressMonitor monitor) {
-			// System.out.println("indexer monitor" + monitor);
-			if (isCanceled(monitor) || frameworkIsShuttingDown()) {
-				setCanceledState();
-				return Status.CANCEL_STATUS;
-			}
-
-			long start = System.currentTimeMillis();
-
-			try {
-				IFile[] filesToBeProcessed = getFiles();
-				if (DEBUG) {
-					System.out.println("JSPIndexManager indexing " + filesToBeProcessed.length + " files"); //$NON-NLS-2$ //$NON-NLS-1$
-				}
-				// API indicates that monitor is never null
-				monitor.beginTask("", filesToBeProcessed.length); //$NON-NLS-1$
-				JSPSearchSupport ss = JSPSearchSupport.getInstance();
-				String processingNFiles = ""; //$NON-NLS-1$
-
-
-				for (int i = 0; i < filesToBeProcessed.length; i++) {
-
-					if (isCanceled(monitor) || frameworkIsShuttingDown()) {
-						setCanceledState();
-						return Status.CANCEL_STATUS;
-					}
-					try {
-						ss.addJspFile(filesToBeProcessed[i]);
-						// JSP Indexer processing n files
-						processingNFiles = NLS.bind(JSPCoreMessages.JSPIndexManager_2, new String[]{Integer.toString((filesToBeProcessed.length - i))});
-						monitor.subTask(processingNFiles + " - " + filesToBeProcessed[i].getName()); //$NON-NLS-1$
-						monitor.worked(1);
-
-						if (DEBUG) {
-							System.out.println("JSPIndexManager Job added file: " + filesToBeProcessed[i].getName()); //$NON-NLS-1$
-						}
-					}
-					catch (Exception e) {
-						// RATLC00284776
-						// ISSUE: we probably shouldn't be catching EVERY
-						// exception, but
-						// the framework only allows to return IStatus in
-						// order to communicate
-						// that something went wrong, which means the loop
-						// won't complete, and we would hit the same problem
-						// the next time.
-						// 
-						// a possible solution is to keep track of the
-						// exceptions logged
-						// and only log a certain amt of the same one,
-						// otherwise skip it.
-						if (!frameworkIsShuttingDown()) {
-							String filename = filesToBeProcessed[i] != null ? filesToBeProcessed[i].getFullPath().toString() : ""; //$NON-NLS-1$
-							Logger.logException("JSPIndexer problem indexing:" + filename, e); //$NON-NLS-1$
-						}
-					}
-				} // end for
-			}
-			finally {
-				// just in case something didn't follow API (monitor is null)
-				if (monitor != null)
-					monitor.done();
-			}
-
-			long finish = System.currentTimeMillis();
-			long diff = finish - start;
-			if (DEBUG) {
-				fTotalTime += diff;
-				System.out.println("============================================================================"); //$NON-NLS-1$
-				System.out.println("this time: " + diff + " cumulative time for resource changed: " + fTotalTime); //$NON-NLS-1$ //$NON-NLS-2$
-				System.out.println("============================================================================"); //$NON-NLS-1$
-			}
-			return Status.OK_STATUS;
-		}
-
-		private boolean isCanceled(IProgressMonitor runMonitor) {
-
-			boolean canceled = false;
-			// check specific monitor passed into run method (the progress
-			// group in this case)
-			// check main search support canceled
-			if (runMonitor != null && runMonitor.isCanceled())
-				canceled = true;
-			else if (JSPSearchSupport.getInstance().isCanceled()) {
-				canceled = true;
-				if (runMonitor != null) {
-					runMonitor.setCanceled(true);
-				}
-			}
-			return canceled;
-		}
-	}
-
-	// end class ProcessFilesJob
-
-	private static JSPIndexManager fSingleton = null;
-	private JSPResourceVisitor fVisitor = null;
-	private IContentType fContentTypeJSP = null;
-
-	static long fTotalTime = 0;
-
-	// Job for processing resource delta
-	ProcessFilesJob processFilesJob = null;
-
-	private JSPIndexManager() {
-		processFilesJob = new ProcessFilesJob(JSPCoreMessages.JSPIndexManager_0);
-		// only show in verbose mode
-		processFilesJob.setSystem(true);
-		processFilesJob.setPriority(Job.LONG);
-		processFilesJob.addJobChangeListener(new JobChangeAdapter() {
-			public void done(IJobChangeEvent event) {
-				super.done(event);
-				setStableState();
-			}
-		});
-	}
-
-	public synchronized static JSPIndexManager getInstance() {
-
-		if (fSingleton == null)
-			fSingleton = new JSPIndexManager();
-		return fSingleton;
-	}
-
-	/**
-	 * @see org.eclipse.core.resources.IResourceChangeListener#resourceChanged(org.eclipse.core.resources.IResourceChangeEvent)
-	 */
-	public void resourceChanged(IResourceChangeEvent event) {
-
-		// ignore resource changes if already rebuilding
-		if (getIndexState() == S_REBUILDING)
-			return;
-		// previously canceled, needs entire index rebuild
-		if (getIndexState() == S_CANCELED) {
-			rebuildIndex();
-			return;
-		}
-
-		// set flag, so we know if a job is going to be started
-		// and the state will eventually be set back to S_STABLE
-		boolean beganProcess = false;
-		setUpdatingState();
-
-		IResourceDelta delta = event.getDelta();
-		if (delta != null) {
-			// only care about adds or changes right now...
-			int kind = delta.getKind();
-			boolean added = (kind & IResourceDelta.ADDED) == IResourceDelta.ADDED;
-			boolean changed = (kind & IResourceDelta.CHANGED) == IResourceDelta.CHANGED;
-			if (added || changed) {
-
-				// only analyze the full (starting at root) delta hierarchy
-				if (delta.getFullPath().toString().equals("/")) { //$NON-NLS-1$
-					try {
-						JSPResourceVisitor v = getVisitor();
-						// clear from last run
-						v.reset();
-						// count files, possibly do this in a job too...
-						// don't include PHANTOM resources
-						delta.accept(v, false);
-
-						// process files from this delta
-						IFile[] files = v.getFiles();
-						if (files.length > 0) {
-							// processFiles(files);
-							indexFiles(files);
-							beganProcess = true;
-						}
-					}
-					catch (CoreException e) {
-						// need to set state here somehow, and reindex
-						// otherwise index will be unreliable
-						if (DEBUG)
-							Logger.logException(e);
-					}
-					catch (Exception e) {
-						// need to set state here somehow, and reindex
-						// otherwise index will be unreliable
-						if (DEBUG)
-							Logger.logException(e);
-					}
-				}
-			}
-
-		}
-		// if we never kicked off process, job won't set back to stable
-		// so we set it here
-		if (!beganProcess) {
-			setStableState();
-		}
-	}
-
-	public synchronized void setIndexState(int state) {
-		if (DEBUG) {
-			System.out.println("JSPIndexManager setting index state to: " + state2String(state)); //$NON-NLS-1$
-		}
-		Plugin jspModelPlugin = JSPCorePlugin.getDefault();
-		jspModelPlugin.getPluginPreferences().setValue(PKEY_INDEX_STATE, state);
-		jspModelPlugin.savePluginPreferences();
-
-	}
-
-	private String state2String(int state) {
-		String s = "UNKNOWN"; //$NON-NLS-1$
-		switch (state) {
-			case (S_STABLE) :
-				s = "S_STABLE"; //$NON-NLS-1$
-				break;
-			case (S_UPDATING) :
-				s = "S_UPDATING"; //$NON-NLS-1$
-				break;
-			case (S_CANCELED) :
-				s = "S_CANCELED"; //$NON-NLS-1$
-				break;
-			case (S_REBUILDING) :
-				s = "S_REBUILDING"; //$NON-NLS-1$
-				break;
-		}
-		return s;
-	}
-
-	public int getIndexState() {
-		return JSPCorePlugin.getDefault().getPluginPreferences().getInt(PKEY_INDEX_STATE);
-	}
-
-	public void setUpdatingState() {
-		if (getIndexState() != S_CANCELED)
-			setIndexState(S_UPDATING);
-	}
-
-	public void setCanceledState() {
-		setIndexState(JSPIndexManager.S_CANCELED);
-	}
-
-	// ca
-	public void setStableState() {
-		if (getIndexState() != S_CANCELED)
-			setIndexState(S_STABLE);
-	}
-
-	public void setRebuildingState() {
-		setIndexState(S_REBUILDING);
-	}
-
-	public synchronized void rebuildIndexIfNeeded() {
-		if (getIndexState() != S_STABLE) {
-			rebuildIndex();
-		}
-	}
-
-	private void rebuildIndex() {
-
-		if (DEBUG)
-			System.out.println("*** JSP Index unstable, requesting re-indexing"); //$NON-NLS-1$
-
-		indexingJob.addJobChangeListener(new JobChangeAdapter() {
-			public void aboutToRun(IJobChangeEvent event) {
-				super.aboutToRun(event);
-				setRebuildingState();
-			}
-
-			public void done(IJobChangeEvent event) {
-				super.done(event);
-				setStableState();
-				indexingJob.removeJobChangeListener(this);
-			}
-		});
-		indexingJob.schedule();
-
-	}
-
-	/**
-	 * Creates and schedules a Job to process collected files. All JSP
-	 * indexing should be done through this method or processFiles(IFile file)
-	 * 
-	 * @param files
-	 */
-	public final void indexFiles(IFile[] files) {
-		// don't use this rule
-		// https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=4931
-		// processFiles.setRule(new IndexFileRule());
-		processFilesJob.process(files);
-	}
-
-
-	/**
-	 * Package protected for access by inner Job class in resourceChanged(...)
-	 * 
-	 * @return
-	 */
-	JSPResourceVisitor getVisitor() {
-
-		if (this.fVisitor == null) {
-			this.fVisitor = new JSPResourceVisitor();
-		}
-		return this.fVisitor;
-	}
-
-	// https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=5091
-	// makes sure IndexManager is aware of our indexes
-	public void saveIndexes() {
-		IndexManager indexManager = JavaModelManager.getJavaModelManager().getIndexManager();
-		IPath jspModelWorkingLocation = JSPSearchSupport.getInstance().getModelJspPluginWorkingLocation();
-
-		File folder = new File(jspModelWorkingLocation.toOSString());
-		String[] files = folder.list();
-		String locay = ""; //$NON-NLS-1$
-		Index index = null;
-		try {
-			for (int i = 0; i < files.length; i++) {
-				if (files[i].toLowerCase().endsWith(".index")) { //$NON-NLS-1$
-					locay = jspModelWorkingLocation.toString() + "/" + files[i]; //$NON-NLS-1$
-					index = new Index(locay, "Index for " + locay, true /*
-																		 * reuse
-																		 * index
-																		 * file
-																		 */); //$NON-NLS-1$
-					indexManager.saveIndex(index);
-				}
-			}
-		}
-		catch (Exception e) {
-			// we should be shutting down, want to shut down quietly
-			if (DEBUG)
-				e.printStackTrace();
-		}
-	}
-
-	IContentType getJspContentType() {
-		if (this.fContentTypeJSP == null)
-			this.fContentTypeJSP = Platform.getContentTypeManager().getContentType(ContentTypeIdForJSP.ContentTypeID_JSP);
-		return this.fContentTypeJSP;
-	}
-
-	/**
-	 * A check to see if the OSGI framework is shutting down.
-	 * 
-	 * @return true if the System Bundle is stopped (ie. the framework is
-	 *         shutting down)
-	 */
-	boolean frameworkIsShuttingDown() {
-		// in the Framework class there's a note:
-		// set the state of the System Bundle to STOPPING.
-		// this must be done first according to section 4.19.2 from the OSGi
-		// R3 spec.
-		boolean shuttingDown = Platform.getBundle(OSGI_FRAMEWORK_ID).getState() == Bundle.STOPPING;
-		if (DEBUG && shuttingDown) {
-			System.out.println("JSPIndexManager: system is shutting down!"); //$NON-NLS-1$
-		}
-		return shuttingDown;
-	}
-
-
-	public void shutdown() {
-		int maxwait = 5000;
-		if (processFilesJob != null) {
-			processFilesJob.cancel();
-		}
-		// attempt to make sure this indexing job is litterally
-		// done before continuing, since we are shutting down
-		waitTillNotRunning(maxwait, processFilesJob);
-		
-		if (indexingJob != null) {
-			indexingJob.cancel();
-		}
-		waitTillNotRunning(maxwait, processFilesJob);
-	}
-
-	private void waitTillNotRunning(int maxSeconds, Job job) {
-		int pauseTime = 10;
-		int maxtries = maxSeconds / pauseTime;
-		int count = 0;
-		while (count++ < maxtries && job.getState() == Job.RUNNING) {
-			try {
-				Thread.sleep(pauseTime);
-				//System.out.println("count: " + count + " max: " + maxtries);
-			}
-			catch (InterruptedException e) {
-				Logger.logException(e);
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/JSPPathIndexer.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/JSPPathIndexer.java
deleted file mode 100644
index 3919f96..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/JSPPathIndexer.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.java.search;
-
-import java.util.HashMap;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceProxy;
-import org.eclipse.core.resources.IResourceProxyVisitor;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.content.IContentDescription;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.jdt.core.search.IJavaSearchScope;
-import org.eclipse.jdt.core.search.SearchPattern;
-import org.eclipse.jst.jsp.core.internal.provisional.contenttype.ContentTypeIdForJSP;
-
-/**
- * pa_TODO Still need to take into consideration:
- * 	- focus in workspace
- *  - search pattern
- * 
- * @author pavery
- */
-public class JSPPathIndexer {
-
-	// for debugging
-	static final boolean DEBUG;
-	static {
-		String value= Platform.getDebugOption("org.eclipse.jst.jsp.core/debug/jspsearch"); //$NON-NLS-1$
-		DEBUG= value != null && value.equalsIgnoreCase("true"); //$NON-NLS-1$
-	}
-	
-	// visitor that retrieves jsp project paths for all jsp files in the workspace
-	class JSPFileVisitor implements IResourceProxyVisitor {
-		// hash map forces only one of each file
-		private HashMap fPaths = new HashMap();
-		IJavaSearchScope fScope = null;
-		SearchPattern fPattern = null;
-
-		public JSPFileVisitor(SearchPattern pattern, IJavaSearchScope scope) {
-			this.fPattern = pattern;
-			this.fScope = scope;
-		}
-
-		public boolean visit(IResourceProxy proxy) throws CoreException {
-			
-			if(JSPSearchSupport.getInstance().isCanceled())
-				return false;
-			
-			if (proxy.getType() == IResource.FILE) {
-
-				IContentType contentTypeJSP = Platform.getContentTypeManager().getContentType(ContentTypeIdForJSP.ContentTypeID_JSP);
-				// https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=3553
-				// check this before description
-				// check name before actually getting the file (less work)
-				if(contentTypeJSP.isAssociatedWith(proxy.getName())) {
-					
-					IFile file = (IFile)proxy.requestResource();
-					IContentDescription contentDescription = file.getContentDescription();
-					String ctId = null;
-					if (contentDescription != null) {
-						ctId = contentDescription.getContentType().getId();
-					}
-					if (ContentTypeIdForJSP.ContentTypeID_JSP.equals(ctId)) {
-						if (this.fScope.encloses(proxy.requestFullPath().toString())) {
-	
-							if (DEBUG)
-								System.out.println("adding selected index path:" + file.getParent().getFullPath()); //$NON-NLS-1$
-
-							fPaths.put(file.getParent().getFullPath(), JSPSearchSupport.getInstance().computeIndexLocation(file.getParent().getFullPath()));
-						}
-					}
-				}
-				// don't search deeper for files
-				return false;
-			}
-			return true;
-		}
-
-		public IPath[] getPaths() {
-			return (IPath[]) fPaths.values().toArray(new IPath[fPaths.size()]);
-		}
-	}
-
-	public IPath[] getVisibleJspPaths(SearchPattern pattern, IJavaSearchScope scope) {
-
-		JSPFileVisitor jspFileVisitor = new JSPFileVisitor(pattern, scope);
-		try {
-			ResourcesPlugin.getWorkspace().getRoot().accept(jspFileVisitor, 0);
-		}
-		catch (CoreException e) {
-			e.printStackTrace();
-		}
-		return jspFileVisitor.getPaths();
-	}
-}
-
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/JSPSearchDocument.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/JSPSearchDocument.java
deleted file mode 100644
index 1db9f99..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/JSPSearchDocument.java
+++ /dev/null
@@ -1,230 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.java.search;
-
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IFile;
-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.core.runtime.Path;
-import org.eclipse.jdt.core.search.SearchParticipant;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jst.jsp.core.internal.Logger;
-import org.eclipse.jst.jsp.core.internal.java.IJSPTranslation;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslation;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslationAdapter;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslationAdapterFactory;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslationExtension;
-import org.eclipse.wst.sse.core.internal.exceptions.UnsupportedCharsetExceptionWithDetail;
-import org.eclipse.wst.sse.core.internal.provisional.IModelManager;
-import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-import org.eclipse.wst.sse.core.internal.provisional.StructuredModelManager;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-
-
-/**
- * Created with a .jsp file, but should appear to be a .java file for indexing
- * and searching purposes. There are purposely few fields in this class, and
- * those fields are lightweight since it's possible for many JSP search
- * documents to exist in memory at one time (eg. after importing a project
- * with a large number of JSP files)
- * 
- * @author pavery
- */
-public class JSPSearchDocument {
-
-	private String UNKNOWN_PATH = "**path unknown**"; //$NON-NLS-1$
-	private String fJSPPathString = UNKNOWN_PATH;
-	private String fCUPath = UNKNOWN_PATH;
-	private SearchParticipant fParticipant = null;
-
-	/**
-	 * @param file
-	 * @param participant
-	 * @throws CoreException
-	 */
-	public JSPSearchDocument(String filePath, SearchParticipant participant) {
-
-		this.fJSPPathString = filePath;
-		this.fParticipant = participant;
-	}
-
-	public SearchParticipant getParticipant() {
-		return this.fParticipant;
-	}
-
-	/**
-	 * @see org.eclipse.jdt.core.search.SearchDocument#getCharContents()
-	 */
-	public char[] getCharContents() {
-		JSPTranslation trans = getJSPTranslation();
-		return trans != null ? trans.getJavaText().toCharArray() : new char[0];
-	}
-
-	public String getJavaText() {
-		return new String(getCharContents());
-	}
-
-	private IModelManager getModelManager() {
-		return StructuredModelManager.getModelManager();
-	}
-
-	/**
-	 * It's not recommended for clients to hold on to this JSPTranslation
-	 * since it's kind of large. If possible, hold on to the
-	 * JSPSearchDocument, which is more of a lightweight proxy.
-	 * 
-	 * @return the JSPTranslation for the jsp file, or null if it's an
-	 *         unsupported file.
-	 */
-	public final JSPTranslationExtension getJSPTranslation() {
-		JSPTranslationExtension translation = null;
-		IFile jspFile = getFile();
-		if (!JSPSearchSupport.isJsp(jspFile))
-			return translation;
-
-		IDOMModel xmlModel = null;
-		try {
-			// get existing model for read, then get document from it
-			IModelManager modelManager = getModelManager();
-			if (modelManager != null) {
-				xmlModel = (IDOMModel) modelManager.getModelForRead(jspFile);
-			}
-			// handle unsupported
-			if (xmlModel != null) {
-				setupAdapterFactory(xmlModel);
-				IDOMDocument doc = xmlModel.getDocument();
-				JSPTranslationAdapter adapter = (JSPTranslationAdapter) doc.getAdapterFor(IJSPTranslation.class);
-				translation = adapter.getJSPTranslation();
-			}
-		}
-		catch (IOException e) {
-			Logger.logException(e);
-		}
-		catch (CoreException e) {
-			Logger.logException(e);
-		}
-		catch (UnsupportedCharsetExceptionWithDetail e) {
-			// no need to log this. Just consider it an invalid file for our
-			// purposes.
-			// Logger.logException(e);
-		}
-		finally {
-			if (xmlModel != null)
-				xmlModel.releaseFromRead();
-		}
-		return translation;
-	}
-
-	/**
-	 * add the factory for JSPTranslationAdapter here
-	 * 
-	 * @param sm
-	 */
-	private void setupAdapterFactory(IStructuredModel sm) {
-		JSPTranslationAdapterFactory factory = new JSPTranslationAdapterFactory();
-		sm.getFactoryRegistry().addFactory(factory);
-	}
-
-	/**
-	 * the path to the Java compilation unit
-	 * 
-	 * @see org.eclipse.jdt.core.search.SearchDocument#getPath()
-	 */
-	public String getPath() {
-		JSPTranslation trans = getJSPTranslation();
-		// caching the path since it's expensive to get translation
-		if (this.fCUPath == null || this.fCUPath == UNKNOWN_PATH) {
-			if (trans != null)
-				this.fCUPath = trans.getJavaPath();
-		}
-		return fCUPath != null ? fCUPath : UNKNOWN_PATH;
-	}
-
-	public int getJspOffset(int javaOffset) {
-		// copied from JSPTranslation
-		int result = -1;
-		int offsetInRange = 0;
-		Position jspPos, javaPos = null;
-		JSPTranslation trans = getJSPTranslation();
-		if (trans != null) {
-			HashMap java2jspMap = trans.getJava2JspMap();
-
-			// iterate all mapped java ranges
-			Iterator it = java2jspMap.keySet().iterator();
-			while (it.hasNext()) {
-				javaPos = (Position) it.next();
-				// need to count the last position as included
-				if (!javaPos.includes(javaOffset) && !(javaPos.offset + javaPos.length == javaOffset))
-					continue;
-
-				offsetInRange = javaOffset - javaPos.offset;
-				jspPos = (Position) java2jspMap.get(javaPos);
-
-				if (jspPos != null)
-					result = jspPos.offset + offsetInRange;
-				else {
-					Logger.log(Logger.ERROR, "jspPosition was null!" + javaOffset); //$NON-NLS-1$
-				}
-				break;
-			}
-		}
-		return result;
-	}
-
-	public IFile getFile() {
-		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-		IPath jspPath = new Path(this.fJSPPathString);
-		IFile jspFile = root.getFile(jspPath);
-		if (!jspFile.exists()) {
-			// possibly outside workspace
-			jspFile = root.getFileForLocation(jspPath);
-		}
-		return jspFile;
-	}
-
-	public void release() {
-		// nothing to do now since JSPTranslation is created on the fly
-	}
-
-	/**
-	 * for debugging
-	 */
-	public String toString() {
-		return "[JSPSearchDocument:" + this.fJSPPathString + "]"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jdt.core.search.SearchDocument#getEncoding()
-	 */
-	public String getEncoding() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jdt.core.search.SearchDocument#getByteContents()
-	 */
-	public byte[] getByteContents() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/JSPSearchParticipant.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/JSPSearchParticipant.java
deleted file mode 100644
index 45e02e9..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/JSPSearchParticipant.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.java.search;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jdt.core.search.IJavaSearchScope;
-import org.eclipse.jdt.core.search.SearchDocument;
-import org.eclipse.jdt.core.search.SearchEngine;
-import org.eclipse.jdt.core.search.SearchParticipant;
-import org.eclipse.jdt.core.search.SearchPattern;
-import org.eclipse.jdt.core.search.SearchRequestor;
-
-/**
- * Integration of JSP w/ java search.
- * 
- * @author pavery
- */
-public class JSPSearchParticipant extends SearchParticipant {
-
-	// for debugging
-	private static final boolean DEBUG = calculateValue();
-
-	private static boolean calculateValue() {
-		String value = Platform.getDebugOption("org.eclipse.jst.jsp.core/debug/jspsearch"); //$NON-NLS-1$
-		boolean debug = value != null && value.equalsIgnoreCase("true"); //$NON-NLS-1$
-		return debug;
-	}
-
-	/**
-	 * Important to never return null here or else Java search participation
-	 * will break.
-	 */
-	public SearchDocument getDocument(String documentPath) {
-
-		SearchDocument sDoc = JSPSearchSupport.getInstance().getSearchDocument(documentPath);
-
-		if (sDoc == null) {
-			// return a dummy doc here so search participation doesn't break
-			return new NullSearchDocument(documentPath);
-		}
-		return sDoc;
-	}
-
-	public String getDescription() {
-		return "JSP"; //$NON-NLS-1$
-	}
-
-	public IPath[] selectIndexes(SearchPattern pattern, IJavaSearchScope scope) {
-		JSPPathIndexer indexer = new JSPPathIndexer();
-		return indexer.getVisibleJspPaths(pattern, scope);
-	}
-
-	public void indexDocument(SearchDocument document, IPath indexPath) {
-		if (!(document instanceof JavaSearchDocumentDelegate))
-			return;
-
-		// use Java search indexing
-		SearchEngine.getDefaultSearchParticipant().indexDocument(document, indexPath);
-	}
-
-	public void locateMatches(SearchDocument[] indexMatches, SearchPattern pattern, IJavaSearchScope scope, SearchRequestor requestor, IProgressMonitor monitor) throws CoreException {
-
-		if (monitor != null && monitor.isCanceled())
-			return;
-
-		// filter out null matches
-		List filtered = new ArrayList();
-		SearchDocument match = null;
-		for (int i = 0; i < indexMatches.length; i++) {
-			if (DEBUG)
-				System.out.println("found possible matching JavaSearchDocumentDelegate: " + indexMatches[i]); //$NON-NLS-1$
-			match = indexMatches[i];
-			if (match != null) {
-				// some matches may be null, or if the index is out of date,
-				// the file may not even exist
-				if (match instanceof JavaSearchDocumentDelegate && ((JavaSearchDocumentDelegate) match).getFile().exists())
-					filtered.add(match);
-			}
-		}
-
-		indexMatches = (SearchDocument[]) filtered.toArray(new SearchDocument[filtered.size()]);
-		SearchEngine.getDefaultSearchParticipant().locateMatches(indexMatches, pattern, scope, requestor, monitor);
-	}
-
-	/**
-	 * @see org.eclipse.jdt.core.search.SearchParticipant#beginSearching()
-	 */
-	public void beginSearching() {
-		// nothing to do
-	}
-
-	/**
-	 * @see org.eclipse.jdt.core.search.SearchParticipant#doneSearching()
-	 */
-	public void doneSearching() {
-		// nothing to do
-	}
-
-	/**
-	 * @see org.eclipse.jdt.core.search.SearchParticipant#getDocument(org.eclipse.core.resources.IFile)
-	 */
-	public SearchDocument getDocument(IFile file) {
-		// never gets called?
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/JSPSearchScope.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/JSPSearchScope.java
deleted file mode 100644
index 49cc26d..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/JSPSearchScope.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.java.search;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.core.resources.IResourceProxy;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.search.IJavaSearchScope;
-
-/**
- * Used to constrain JSP/java search to certain paths and elements.
- * @author pavery
- */
-public class JSPSearchScope implements IJavaSearchScope {
-
-	private boolean fEnclosesAll = false;
-	private List fResourcePaths = null;
-	private List fJavaElements = null;
-
-	public JSPSearchScope() {
-		// empty constructor just returns true for everything
-		// everything is in scope
-		this.fEnclosesAll = true;
-		init();
-	}
-
-	public JSPSearchScope(String[] resourceStringPath) {
-		init();
-		fResourcePaths.addAll(Arrays.asList(resourceStringPath));
-	}
-
-	public JSPSearchScope(IJavaElement[] javaElement) {
-		init();
-		fJavaElements.addAll(Arrays.asList(javaElement));
-	}
-
-	private void init() {
-		this.fResourcePaths = new ArrayList();
-		this.fJavaElements = new ArrayList();
-	}
-
-	public boolean encloses(String resourcePathString) {
-
-		if (this.fEnclosesAll)
-			return true;
-		else if (enclosesPath(resourcePathString))
-			return true;
-
-		return false;
-	}
-
-	public boolean encloses(IJavaElement element) {
-
-		// pa_TOD implement
-		if (this.fEnclosesAll)
-			return true;
-
-		return true;
-	}
-
-	public boolean encloses(IResourceProxy element) {
-
-		if (this.fEnclosesAll)
-			return true;
-		else if (enclosesPath(element.requestFullPath().toOSString()))
-			return true;
-
-		return true;
-	}
-
-	public void addPath(String path) {
-		this.fResourcePaths.add(path);
-	}
-
-	public void addElement(IJavaElement element) {
-		this.fJavaElements.add(element);
-	}
-
-	private boolean enclosesPath(String possible) {
-
-		String[] paths = (String[]) fResourcePaths.toArray(new String[fResourcePaths.size()]);
-		for (int i = 0; i < paths.length; i++) {
-			if (possible.equals(paths[i]))
-				return true;
-		}
-		return false;
-	}
-
-	public String getDescription() {
-
-		return "JSPSearchScope"; //$NON-NLS-1$
-	}
-
-	public IPath[] enclosingProjectsAndJars() {
-
-		// pa_TODO
-		return null;
-	}
-
-	public boolean includesBinaries() {
-		return false;
-	}
-
-	public boolean includesClasspaths() {
-		return false;
-	}
-
-	public void setIncludesBinaries(boolean includesBinaries) {
-		// do nothing
-	}
-
-	public void setIncludesClasspaths(boolean includesClasspaths) {
-		// do nothing
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/JSPSearchSupport.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/JSPSearchSupport.java
deleted file mode 100644
index 9a3c851..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/JSPSearchSupport.java
+++ /dev/null
@@ -1,567 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.java.search;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.zip.CRC32;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-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.QualifiedName;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.content.IContentDescription;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.search.IJavaSearchConstants;
-import org.eclipse.jdt.core.search.IJavaSearchScope;
-import org.eclipse.jdt.core.search.SearchDocument;
-import org.eclipse.jdt.core.search.SearchEngine;
-import org.eclipse.jdt.core.search.SearchPattern;
-import org.eclipse.jdt.core.search.SearchRequestor;
-import org.eclipse.jdt.internal.core.JavaModelManager;
-import org.eclipse.jst.jsp.core.internal.JSPCoreMessages;
-import org.eclipse.jst.jsp.core.internal.JSPCorePlugin;
-import org.eclipse.jst.jsp.core.internal.Logger;
-import org.eclipse.jst.jsp.core.internal.java.JSP2ServletNameUtil;
-import org.eclipse.jst.jsp.core.internal.provisional.contenttype.ContentTypeIdForJSP;
-
-/**
- * Central access to java indexing and search. All contact between JDT indexing
- * and Searching should be done through here.
- * 
- * Clients should access the methods of this class via the single instance via
- * <code>getInstance()</code>.
- * 
- * @author pavery
- */
-public class JSPSearchSupport {
-
-    // for debugging
-    static final boolean DEBUG;
-    static {
-        String value = Platform.getDebugOption("org.eclipse.jst.jsp.core/debug/jspsearch"); //$NON-NLS-1$
-        DEBUG = value != null && value.equalsIgnoreCase("true"); //$NON-NLS-1$
-    }
-
-    private static JSPSearchSupport singleton = null;
-
-    private JSPSearchParticipant fParticipant = null;
-
-    private IPath fJspPluginLocation = null;
-
-    // pa_TODO may be slow (esp for indexing entire workspace)
-    private final CRC32 fChecksumCalculator = new CRC32();
-
-    /** main cancel montior for all search support */
-    private final IProgressMonitor fMonitor = new NullProgressMonitor();
-
-    private JSPSearchSupport() {
-        // force use of single instance
-    }
-
-    /**
-     * This operation ensures that the live resource's search markers show up in
-     * the open editor. It also allows the ability to pass in a ProgressMonitor
-     */
-    private class SearchJob extends Job implements IJavaSearchConstants {
-
-        String fSearchText = ""; //$NON-NLS-1$
-
-        IJavaSearchScope fScope = null;
-
-        int fSearchFor = FIELD;
-
-        int fLimitTo = ALL_OCCURRENCES;
-
-        int fMatchMode = SearchPattern.R_PATTERN_MATCH;
-
-        boolean fIsCaseSensitive = false;
-
-        SearchRequestor fRequestor = null;
-
-        IJavaElement fElement = null;
-
-        // constructor w/ java element
-        public SearchJob(IJavaElement element, IJavaSearchScope scope, SearchRequestor requestor) {
-
-            super(JSPCoreMessages.JSP_Search + element.getElementName());
-            this.fElement = element;
-            this.fScope = scope;
-            this.fRequestor = requestor;
-        }
-
-        // constructor w/ search text
-        public SearchJob(String searchText, IJavaSearchScope scope, int searchFor, int limitTo, int matchMode, boolean isCaseSensitive, SearchRequestor requestor) {
-
-            super(JSPCoreMessages.JSP_Search + searchText);
-            this.fSearchText = searchText;
-            this.fScope = scope;
-            this.fSearchFor = searchFor;
-            this.fLimitTo = limitTo;
-            this.fMatchMode = matchMode;
-            this.fIsCaseSensitive = isCaseSensitive;
-            this.fRequestor = requestor;
-        }
-
-        public IStatus run(IProgressMonitor jobMonitor) {
-
-            if (jobMonitor != null && jobMonitor.isCanceled())
-                return Status.CANCEL_STATUS;
-            if (JSPSearchSupport.getInstance().isCanceled())
-                return Status.CANCEL_STATUS;
-
-            SearchPattern javaSearchPattern = null;
-            // if an element is available, use that to create search pattern
-            // (eg. LocalVariable)
-            // otherwise use the text and other paramters
-            if (this.fElement != null)
-                javaSearchPattern = SearchPattern.createPattern(this.fElement, this.fLimitTo);
-            else
-                javaSearchPattern = SearchPattern.createPattern(this.fSearchText, this.fSearchFor, this.fLimitTo, this.fMatchMode);
-
-            if (javaSearchPattern != null) {
-                JSPSearchParticipant[] participants = { getSearchParticipant() };
-                SearchEngine engine = new SearchEngine();
-                try {
-                    if (jobMonitor != null)
-                        jobMonitor.beginTask("", IProgressMonitor.UNKNOWN); //$NON-NLS-1$
-                    engine.search(javaSearchPattern, participants, this.fScope, this.fRequestor, jobMonitor);
-                } catch (CoreException e) {
-                    if (DEBUG)
-                        Logger.logException(e);
-                }
-                // non-CoreExceptions will permanently stall the Worker thread
-                catch (Exception e) {
-                    if (DEBUG)
-                        Logger.logException(e);
-                } finally {
-                    if (jobMonitor != null)
-                        jobMonitor.done();
-                }
-            }
-            return Status.OK_STATUS;
-        }
-    }
-
-    // end SearchJob
-    /**
-     * Runnable forces caller to wait until finished (as opposed to using a Job)
-     */
-    private class SearchRunnable implements IWorkspaceRunnable, IJavaSearchConstants {
-
-        String fSearchText = ""; //$NON-NLS-1$
-
-        IJavaSearchScope fScope = null;
-
-        int fSearchFor = FIELD;
-
-        int fLimitTo = ALL_OCCURRENCES;
-
-        int fMatchMode = SearchPattern.R_PATTERN_MATCH;
-
-        boolean fIsCaseSensitive = false;
-
-        SearchRequestor fRequestor = null;
-
-        IJavaElement fElement = null;
-
-        // constructor w/ java element
-        public SearchRunnable(IJavaElement element, IJavaSearchScope scope, SearchRequestor requestor) {
-
-            this.fElement = element;
-            this.fScope = scope;
-            this.fRequestor = requestor;
-        }
-
-        // constructor w/ search text
-        public SearchRunnable(String searchText, IJavaSearchScope scope, int searchFor, int limitTo, int matchMode, boolean isCaseSensitive, SearchRequestor requestor) {
-
-            this.fSearchText = searchText;
-            this.fScope = scope;
-            this.fSearchFor = searchFor;
-            this.fLimitTo = limitTo;
-            this.fMatchMode = matchMode;
-            this.fIsCaseSensitive = isCaseSensitive;
-            this.fRequestor = requestor;
-        }
-
-        public void run(IProgressMonitor monitor) throws CoreException {
-
-            if (monitor != null && monitor.isCanceled())
-                return;
-            if (JSPSearchSupport.getInstance().isCanceled())
-                return;
-
-            SearchPattern javaSearchPattern = null;
-            // if an element is available, use that to create search pattern
-            // (eg. LocalVariable)
-            // otherwise use the text and other paramters
-            if (this.fElement != null)
-                javaSearchPattern = SearchPattern.createPattern(this.fElement, fLimitTo);
-            else
-                javaSearchPattern = SearchPattern.createPattern(fSearchText, fSearchFor, fLimitTo, fMatchMode);
-
-            if (javaSearchPattern != null) {
-                JSPSearchParticipant[] participants = { getSearchParticipant() };
-                SearchEngine engine = new SearchEngine();
-                try {
-                    if (monitor != null)
-                        monitor.beginTask("", 0); //$NON-NLS-1$
-                    engine.search(javaSearchPattern, participants, fScope, fRequestor, monitor);
-                } catch (CoreException e) {
-                    Logger.logException(e);
-                    //throw e;
-                }
-                // non-CoreExceptions will permanently stall the Worker thread
-                catch (Exception e) {
-                    Logger.logException(e);
-                } finally {
-                    if (monitor != null)
-                        monitor.done();
-                }
-            }
-        }
-    }
-
-    // end SearchRunnable
-
-    /**
-     * Clients should access the methods of this class via the single instance
-     * via getInstance()
-     * 
-     * @return
-     */
-    public synchronized static JSPSearchSupport getInstance() {
-
-        if (singleton == null)
-            singleton = new JSPSearchSupport();
-        return singleton;
-    }
-
-    /**
-     * Utility method to check if a file is a jsp file (since this is done
-     * frequently)
-     */
-    public static boolean isJsp(IFile file) {
-
-        boolean isJsp = false;
-        InputStream is = null;
-        try {
-            if (file != null && file.exists()) {
-
-                IContentType contentTypeJSP = Platform.getContentTypeManager().getContentType(ContentTypeIdForJSP.ContentTypeID_JSP);
-                // check this before description, it's less expensive
-                if (contentTypeJSP.isAssociatedWith(file.getName())) {
-
-                    IContentDescription contentDescription = file.getContentDescription();
-                    // it can be null
-                    if (contentDescription == null) {
-                        is = file.getContents();
-                        contentDescription = Platform.getContentTypeManager().getDescriptionFor(is, file.getName(), new QualifiedName[] { IContentDescription.CHARSET });
-                    }
-                    if (contentDescription != null) {
-                        String fileCtId = contentDescription.getContentType().getId();
-                        isJsp = (fileCtId != null && ContentTypeIdForJSP.ContentTypeID_JSP.equals(fileCtId));
-                    }
-                }
-            }
-        } catch (IOException e) {
-            // ignore, assume it's invalid JSP
-        } catch (CoreException e) {
-            // ignore, assume it's invalid JSP
-        } finally {
-            // must close input stream in case others need it
-            if (is != null)
-                try {
-                    is.close();
-                } catch (Exception e) {
-                    // not sure how to recover at this point
-                }
-        }
-        return isJsp;
-    }
-
-    /**
-     * schedules a search document representing this JSP file for indexing (by
-     * the java indexer)
-     * 
-     * @param file
-     *            the JSP file
-     * @return true if indexing was successful, false otherwise
-     * @throws CoreException
-     */
-    public SearchDocument addJspFile(IFile file) {
-        if (JSPSearchSupport.getInstance().isCanceled()) {
-            return null;
-        }
-
-        if (DEBUG)
-            System.out.println("adding JSP file:" + file.getFullPath()); //$NON-NLS-1$
-
-        // create
-        SearchDocument delegate = createSearchDocument(file);
-        // null if not a jsp file
-        if (delegate != null) {
-            try {
-                getSearchParticipant().scheduleDocumentIndexing(delegate, computeIndexLocation(file.getParent().getFullPath()));
-            } catch (Exception e) {
-                // ensure that failure here doesn't keep other documents from
-                // being indexed
-                // if peformed in a batch call (like JSPIndexManager)
-                if (DEBUG)
-                    e.printStackTrace();
-            }
-        }
-
-        if (DEBUG)
-            System.out.println("scheduled" + delegate + "for indexing"); //$NON-NLS-1$ //$NON-NLS-2$
-
-        return delegate;
-    }
-    
-    /**
-     * Perform a java search w/ the given parameters. Runs in a background Job
-     * (results may still come in after this method call)
-     * 
-     * @param searchText
-     *            the string of text to search on
-     * @param searchFor
-     *            IJavaSearchConstants.TYPE, METHOD, FIELD, PACKAGE, etc...
-     * @param limitTo
-     *            IJavaSearchConstants.DECLARATIONS,
-     *            IJavaSearchConstants.REFERENCES,
-     *            IJavaSearchConstants.IMPLEMENTORS, or
-     *            IJavaSearchConstants.ALL_OCCURRENCES
-     * @param matchMode
-     *            allow * wildcards or not
-     * @param isCaseSensitive
-     * @param requestor
-     *            passed in to accept search matches (and do "something" with
-     *            them)
-     */
-    public void search(String searchText, IJavaSearchScope scope, int searchFor, int limitTo, int matchMode, boolean isCaseSensitive, SearchRequestor requestor) {
-
-        JSPIndexManager.getInstance().rebuildIndexIfNeeded();
-
-        SearchJob job = new SearchJob(searchText, scope, searchFor, limitTo, matchMode, isCaseSensitive, requestor);
-        setCanceled(false);
-        job.setUser(true);
-        // https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=5032
-        // pops up user operation blocked dialog if you perform a long search,
-        // then open a file because it locks the workspace
-        //job.setRule(ResourcesPlugin.getWorkspace().getRoot());
-        job.schedule();
-    }
-
-    /**
-     * Search for an IJavaElement, constrained by the given parameters. Runs in
-     * a background Job (results may still come in after this method call)
-     * 
-     * @param element
-     * @param scope
-     * @param requestor
-     */
-    public void search(IJavaElement element, IJavaSearchScope scope, SearchRequestor requestor) {
-
-        JSPIndexManager.getInstance().rebuildIndexIfNeeded();
-
-        SearchJob job = new SearchJob(element, scope, requestor);
-        setCanceled(false);
-        job.setUser(true);
-        // https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=5032
-        //job.setRule(ResourcesPlugin.getWorkspace().getRoot());
-        job.schedule();
-    }
-
-    /**
-     * Search for an IJavaElement, constrained by the given parameters. Runs in
-     * an IWorkspace runnable (results will be reported by the end of this
-     * method)
-     * 
-     * @param element
-     * @param scope
-     * @param requestor
-     */
-    public void searchRunnable(IJavaElement element, IJavaSearchScope scope, SearchRequestor requestor) {
-
-        JSPIndexManager.getInstance().rebuildIndexIfNeeded();
-
-        SearchRunnable searchRunnable = new SearchRunnable(element, scope, requestor);
-        try {
-            setCanceled(false);
-            ResourcesPlugin.getWorkspace().run(searchRunnable, JSPSearchSupport.getInstance().getProgressMonitor());
-        } catch (CoreException e) {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * @param jspFile
-     * @return SearchDocument if the file is not null, exists, and is a JSP
-     *         file, otherwise null.
-     */
-    private SearchDocument createSearchDocument(IFile jspFile) {
-
-        JavaSearchDocumentDelegate delegate = null;
-        if (jspFile != null && jspFile.exists() && isJsp(jspFile)) {
-
-            delegate = new JavaSearchDocumentDelegate(new JSPSearchDocument(jspFile.getFullPath().toString(), getSearchParticipant()));
-        }
-        return delegate;
-
-    }
-
-    /**
-     * Centralized place to access JSPSearchDocuments (used by
-     * JSPSearchParticipant and JSPSearchRequestor)
-     * 
-     * @param searchDocPath
-     * @param doc
-     * @return the JSPSearchDocument or null if one is not found
-     */
-    public SearchDocument getSearchDocument(String searchDocPath) {
-         
-        SearchDocument delegate = null;
-        IFile f = fileForCUPath(searchDocPath);
-        if (f != null) {
-            delegate = createSearchDocument(f);
-        } else {
-            // handle failure case... (file deleted maybe?)
-        }
-        return delegate;
-    }
-
-    /**
-     * Unmangles the searchDocPath and returns the corresponding JSP file.
-     * 
-     * @param searchDocPath
-     */
-    private IFile fileForCUPath(String searchDocPath) {
-    
-        String[] split = searchDocPath.split("/"); //$NON-NLS-1$
-        String classname = split[split.length - 1];
-
-        // ignore anything but .java matches (like .class binary matches)
-        if(!searchDocPath.endsWith(".java")) { //$NON-NLS-1$
-            return null;
-        }
-
-        String filePath = JSP2ServletNameUtil.unmangle(classname);
-       
-        // try absolute path
-        IFile f = ResourcesPlugin.getWorkspace().getRoot().getFileForLocation(new Path(filePath));
-        // workspace relative then
-        if(f == null) {
-            // https://bugs.eclipse.org/bugs/show_bug.cgi?id=86009
-            // must have a project name as well
-            // which would mean >= 2 path segments
-            IPath path = new Path(filePath);
-            if(path.segmentCount() >= 2) {
-                f = ResourcesPlugin.getWorkspace().getRoot().getFile(path);
-            }
-        }
-        return f;
-    }
-
-    JSPSearchParticipant getSearchParticipant() {
-
-        if (this.fParticipant == null)
-            this.fParticipant = new JSPSearchParticipant();
-        return this.fParticipant;
-    }
-
-    // This is called from JSPPathIndexer
-    // pa_TODO
-    //how can we make sure participant indexLocations are updated at startup?
-    public final IPath computeIndexLocation(IPath containerPath) {
-
-        String indexLocation = null;
-        // we don't want to inadvertently use a JDT Index
-        // we want to be sure to use the Index from the JSP location
-        //Object obj = indexLocations.get(containerPath);
-        //if (obj != null) {
-        //    indexLocation = (String) obj;
-        //} else {
-            // create index entry
-            String pathString = containerPath.toOSString();
-            this.fChecksumCalculator.reset();
-            this.fChecksumCalculator.update(pathString.getBytes());
-            String fileName = Long.toString(this.fChecksumCalculator.getValue()) + ".index"; //$NON-NLS-1$
-            // this is the only difference from
-            // IndexManager#computeIndexLocation(...)
-            indexLocation = getModelJspPluginWorkingLocation().append(fileName).toOSString();
-
-            // pa_TODO need to add to java path too, so JDT search support knows
-            // there should be a non internal way to do this.
-            // https://bugs.eclipse.org/bugs/show_bug.cgi?id=77564
-            JavaModelManager.getJavaModelManager().getIndexManager().indexLocations.put(containerPath, indexLocation);
-        //}
-        return new Path(indexLocation);
-    }
-
-    // copied from JDT IndexManager
-    public IPath getModelJspPluginWorkingLocation() {
-
-        if (this.fJspPluginLocation != null)
-            return this.fJspPluginLocation;
-
-        IPath stateLocation = JSPCorePlugin.getDefault().getStateLocation();
-
-        // pa_TODO workaround for
-        // https://bugs.eclipse.org/bugs/show_bug.cgi?id=62267
-        // copied from IndexManager
-        String device = stateLocation.getDevice();
-        if (device != null && device.charAt(0) == '/')
-            stateLocation = stateLocation.setDevice(device.substring(1));
-
-        return this.fJspPluginLocation = stateLocation;
-    }
-
-    /**
-     * JSP Indexing and Search jobs check this
-     * 
-     * @return
-     */
-    public synchronized final void setCanceled(boolean cancel) {
-    	//System.out.println("search support monitor" + fMonitor);
-        fMonitor.setCanceled(cancel);
-    }
-
-    /**
-     * JSP Indexing and Search jobs check this
-     * 
-     * @return
-     */
-    public synchronized final boolean isCanceled() {
-
-        return fMonitor.isCanceled();
-    }
-
-    /**
-     * JSP Indexing and Search jobs check this
-     * 
-     * @return
-     */
-    public final IProgressMonitor getProgressMonitor() {
-
-        return this.fMonitor;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/JavaSearchDocumentDelegate.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/JavaSearchDocumentDelegate.java
deleted file mode 100644
index 83f13d1..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/JavaSearchDocumentDelegate.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.java.search;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jdt.core.search.SearchDocument;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslationExtension;
-
-
-/**
- * Wrapper method to set getPath() path to be the path of the compilation unit 
- * for the jsp file. (since it's a final method, it needs to be set via constructor)
- * 
- * @author pavery
- */
-public class JavaSearchDocumentDelegate extends SearchDocument {
-	
-	private JSPSearchDocument fJSPSearchDoc = null;
-	
-	public JavaSearchDocumentDelegate(JSPSearchDocument jspSearchDoc) {
-		
-		super(jspSearchDoc.getPath(), jspSearchDoc.getParticipant());
-		this.fJSPSearchDoc = jspSearchDoc;
-	}
-
-	public byte[] getByteContents() {
-		
-		return this.fJSPSearchDoc.getByteContents();
-	}
-
-	public char[] getCharContents() {
-		
-		return this.fJSPSearchDoc.getCharContents();
-	}
-	
-	public String getJavaText() {
-		return this.fJSPSearchDoc.getJavaText();
-	}
-
-	public String getEncoding() {
-		
-		return this.fJSPSearchDoc.getEncoding();
-	}
-	
-	public IFile getFile() {
-		
-		return this.fJSPSearchDoc.getFile();
-	}
-	
-	public JSPTranslationExtension getJspTranslation() {
-		
-		return this.fJSPSearchDoc.getJSPTranslation();
-	}
-	
-	public int getJspOffset(int javaOffset) {
-		
-		return this.fJSPSearchDoc.getJspOffset(javaOffset);
-	}
-	
-	public void release() {
-		this.fJSPSearchDoc.release();
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/NullSearchDocument.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/NullSearchDocument.java
deleted file mode 100644
index ad99a10..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/NullSearchDocument.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.java.search;
-
-import org.eclipse.jdt.core.search.SearchDocument;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslator;
-
-
-
-/**
- * An empty servlet, safe for Java search participation
- * 
- * @author pavery
- */
-public class NullSearchDocument extends SearchDocument {
-	
-	StringBuffer fEmptyServletBuffer = null;
-	
-	public NullSearchDocument(String documentPath) {
-		super(documentPath, new JSPSearchParticipant()); //$NON-NLS-1$
-		this.fEmptyServletBuffer = new JSPTranslator().getEmptyTranslation();
-	}
-	
-	public byte[] getByteContents() {
-		return this.fEmptyServletBuffer.toString().getBytes();
-	}
-	
-	public char[] getCharContents() {
-		return this.fEmptyServletBuffer.toString().toCharArray();
-	}
-	
-	public String getEncoding() {
-		return null;
-	}
-
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/modelhandler/EmbeddedTypeStateData.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/modelhandler/EmbeddedTypeStateData.java
deleted file mode 100644
index 87d76a4..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/modelhandler/EmbeddedTypeStateData.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.modelhandler;
-
-
-
-import org.eclipse.wst.sse.core.internal.ltk.modelhandler.EmbeddedTypeHandler;
-
-/**
- * This class is only for remembering old and new embedded handlers, 
- * in the event a re-init is needed.
- */
-public class EmbeddedTypeStateData {
-
-
-	EmbeddedTypeHandler oldHandler;
-	EmbeddedTypeHandler newHandler;
-
-	public EmbeddedTypeStateData(EmbeddedTypeHandler oldHandler, EmbeddedTypeHandler newHandler) {
-		this.oldHandler = oldHandler;
-		this.newHandler = newHandler;
-	}
-
-	public EmbeddedTypeHandler getNewHandler() {
-		return newHandler;
-	}
-
-	public EmbeddedTypeHandler getOldHandler() {
-		return oldHandler;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/modelhandler/JSPModelLoader.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/modelhandler/JSPModelLoader.java
deleted file mode 100644
index 0fb3e85..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/modelhandler/JSPModelLoader.java
+++ /dev/null
@@ -1,593 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.modelhandler;
-
-import java.io.BufferedInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.jst.jsp.core.internal.document.PageDirectiveAdapter;
-import org.eclipse.jst.jsp.core.internal.document.PageDirectiveAdapterFactory;
-import org.eclipse.jst.jsp.core.internal.document.PageDirectiveWatcherFactory;
-import org.eclipse.jst.jsp.core.internal.domdocument.DOMModelForJSP;
-import org.eclipse.jst.jsp.core.internal.encoding.IJSPHeadContentDetector;
-import org.eclipse.jst.jsp.core.internal.encoding.JSPDocumentHeadContentDetector;
-import org.eclipse.jst.jsp.core.internal.encoding.JSPDocumentLoader;
-import org.eclipse.jst.jsp.core.internal.modelquery.ModelQueryAdapterFactoryForJSP;
-import org.eclipse.jst.jsp.core.internal.parser.JSPReParser;
-import org.eclipse.jst.jsp.core.internal.parser.JSPSourceParser;
-import org.eclipse.jst.jsp.core.internal.text.StructuredTextPartitionerForJSP;
-import org.eclipse.wst.html.core.internal.provisional.contenttype.ContentTypeIdForHTML;
-import org.eclipse.wst.html.core.internal.text.StructuredTextPartitionerForHTML;
-import org.eclipse.wst.sse.core.internal.PropagatingAdapter;
-import org.eclipse.wst.sse.core.internal.document.IDocumentLoader;
-import org.eclipse.wst.sse.core.internal.document.StructuredDocumentFactory;
-import org.eclipse.wst.sse.core.internal.ltk.modelhandler.EmbeddedTypeHandler;
-import org.eclipse.wst.sse.core.internal.ltk.parser.JSPCapableParser;
-import org.eclipse.wst.sse.core.internal.ltk.parser.RegionParser;
-import org.eclipse.wst.sse.core.internal.model.AbstractModelLoader;
-import org.eclipse.wst.sse.core.internal.modelhandler.EmbeddedTypeRegistry;
-import org.eclipse.wst.sse.core.internal.modelhandler.EmbeddedTypeRegistryImpl;
-import org.eclipse.wst.sse.core.internal.provisional.IModelLoader;
-import org.eclipse.wst.sse.core.internal.provisional.INodeAdapterFactory;
-import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
-import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.internal.text.BasicStructuredDocument;
-import org.eclipse.wst.sse.core.internal.util.Assert;
-import org.eclipse.wst.sse.core.internal.util.Debug;
-import org.eclipse.wst.xml.core.internal.DebugAdapterFactory;
-import org.eclipse.wst.xml.core.internal.document.DOMModelImpl;
-import org.eclipse.wst.xml.core.internal.propagate.PropagatingAdapterFactoryImpl;
-import org.eclipse.wst.xml.core.internal.provisional.contenttype.ContentTypeIdForXML;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.eclipse.wst.xml.core.internal.ssemodelquery.ModelQueryAdapter;
-import org.eclipse.wst.xml.core.internal.text.rules.StructuredTextPartitionerForXML;
-import org.w3c.dom.Document;
-
-public class JSPModelLoader extends AbstractModelLoader {
-	protected final int MAX_BUFFERED_SIZE_FOR_RESET_MARK = 200000;
-
-	/**
-	 * DMW - Note: I think the embeddedTypeRegistry in IModelManager can be
-	 * removed
-	 */
-	private EmbeddedTypeRegistry embeddedContentTypeRegistry;
-	private final static String DEFAULT_MIME_TYPE = "text/html"; //$NON-NLS-1$
-	private final static String DEFAULT_LANGUAGE = "java"; //$NON-NLS-1$
-
-	public JSPModelLoader() {
-		super();
-	}
-
-	/**
-	 * Gets the embeddedContentTypeRegistry.
-	 * 
-	 * @return Returns a EmbeddedContentTypeRegistry
-	 */
-	private EmbeddedTypeRegistry getEmbeddedContentTypeRegistry() {
-		if (embeddedContentTypeRegistry == null) {
-			embeddedContentTypeRegistry = EmbeddedTypeRegistryImpl.getInstance();
-		}
-		return embeddedContentTypeRegistry;
-	}
-
-	public IStructuredModel newModel() {
-		DOMModelForJSP model = new DOMModelForJSP();
-		return model;
-	}
-
-	/**
-	 * For JSP files, text/html is the default content type. This may want
-	 * this different for types like jsv (jsp for voice xml) For now, hard
-	 * code to new instance. In future, should get instance from registry.
-	 * 
-	 * Specification cites HTML as the default contentType.
-	 */
-	private EmbeddedTypeHandler getJSPDefaultEmbeddedType() {
-		EmbeddedTypeRegistry reg = getEmbeddedContentTypeRegistry();
-		return reg.getTypeFor(getDefaultMimeType());
-	}
-
-	/**
-	 * Method getDefaultMimeType.
-	 * 
-	 * @return String
-	 */
-	private String getDefaultMimeType() {
-		return DEFAULT_MIME_TYPE;
-	}
-
-	/**
-	 * This method should retrieve the model from the file system (or what
-	 * ever the loader is prepared to do). If the resource can not be found
-	 * (and therefore a model can not be created), then it should return null.
-	 */
-	// public void load(Reader reader, IStructuredModel model, EncodingRule
-	// encodingRule) throws java.io.IOException {
-	// initializeEmbeddedTypeFromStream(reader, model);
-	// setLanguageInPageDirective(model);
-	// super.load(reader, model, encodingRule);
-	// }
-	/**
-	 * This method must return a new instance of IStructuredDocument, that has
-	 * been initialized with appropriate parser. For many loaders, the
-	 * (default) parser used is known for any input. For others, the correct
-	 * parser (and its initialization) is normall dependent on the content of
-	 * the file. This no-argument method should assume "empty input" and would
-	 * therefore return the default parser for the default contentType.
-	 * 
-	 * If the parser is to handle tag libraries, it must have a TaglibSupport
-	 * object with a valid URIResolver and this IStructuredDocument attached
-	 * to it before the contents are set on the IStructuredDocument.
-	 */
-	public IStructuredDocument newStructuredDocument() {
-		IStructuredDocument structuredDocument = StructuredDocumentFactory.getNewStructuredDocumentInstance(getParser());
-		((BasicStructuredDocument) structuredDocument).setReParser(new JSPReParser());
-		// structuredDocument.setDocumentPartitioner(new
-		// JSPJavaDocumentPartioner());
-		// even though this is an "empty model" ... we want it to have at
-		// least the
-		// default embeddeded content type handler
-		EmbeddedTypeHandler embeddedType = getJSPDefaultEmbeddedType();
-		embeddedType.initializeParser((JSPCapableParser) structuredDocument.getParser());
-		return structuredDocument;
-	}
-
-	public RegionParser getParser() {
-		// remember, the Loader
-		// will need to finish initialization of parser
-		// based on "embedded content"
-		return new JSPSourceParser();
-	}
-
-	protected void preLoadAdapt(IStructuredModel structuredModel) {
-		super.preLoadAdapt(structuredModel);
-		IDOMModel domModel = (IDOMModel) structuredModel;
-		//
-		// document must have already been set for this to
-		// work.
-		Document document = domModel.getDocument();
-		Assert.isNotNull(document);
-		// if there is a model in the adapter, this will adapt it to
-		// first node. After that the PropagatingAdater spreads over the
-		// children being
-		// created. Each time that happends, a side effect is to
-		// also "spread" sprecific registered adapters,
-		// they two can propigate is needed.
-		// This 'get' causes first to be be attached.
-		PropagatingAdapter propagatingAdapter = (PropagatingAdapter) ((INodeNotifier) document).getAdapterFor(PropagatingAdapter.class);
-		// may make this easier to use in futue
-		propagatingAdapter.addAdaptOnCreateFactory(new PageDirectiveWatcherFactory());
-		if (Debug.debugNotificationAndEvents) {
-			propagatingAdapter.addAdaptOnCreateFactory(new DebugAdapterFactory());
-		}
-		// For JSPs, the ModelQueryAdapter must be "attached" to the document
-		// before content is set in the model, so taglib initization can
-		// take place.
-		((INodeNotifier) document).getAdapterFor(ModelQueryAdapter.class);
-		//
-
-	}
-
-	/**
-	 * This method must return those factories which must be attached to the
-	 * structuredModel before content is applied.
-	 */
-	public List getAdapterFactories() {
-		List result = new ArrayList();
-		INodeAdapterFactory factory = null;
-		//
-		factory = new ModelQueryAdapterFactoryForJSP();
-		result.add(factory);
-		factory = new PropagatingAdapterFactoryImpl();
-		result.add(factory);
-		factory = new PageDirectiveAdapterFactory();
-		result.add(factory);
-
-
-
-		return result;
-	}
-
-
-	public IJSPHeadContentDetector getHeadParser() {
-		return new JSPDocumentHeadContentDetector();
-	}
-
-	/**
-	 * This init method is for the case where we are getting the embedded type
-	 * from the input stream specifically.
-	 */
-	// private void initializeEmbeddedTypeFromStream(Reader reader,
-	// IStructuredModel model) throws IOException {
-	// IFile file = ResourceUtil.getFileFor(model);
-	// JSPDocumentLoader jspDocumentLoader =(JSPDocumentLoader)
-	// getDocumentLoader();
-	// EmbeddedTypeHandler inputEmbeddedContentType =
-	// jspDocumentLoader.getEmbeddedType(file);
-	// EmbeddedTypeHandler existingEmbeddedType = getEmbeddedType(model);
-	// // we don't expect the existing type to be null, but if it is, then
-	// // this is a simply init case, not re-init
-	// if (existingEmbeddedType == null) {
-	// initializeEmbeddedType(model, inputEmbeddedContentType);
-	// }
-	// else {
-	// if (existingEmbeddedType != inputEmbeddedContentType) {
-	// // only need to reinitialize if truely different
-	// reInitializeEmbeddedType(model, existingEmbeddedType,
-	// inputEmbeddedContentType);
-	// }
-	// }
-	// }
-	/**
-	 * This init method is for the case where we are creating an empty model,
-	 * which we always do.
-	 */
-	private void initializeEmbeddedTypeFromDefaultPre(IStructuredModel model) {
-		EmbeddedTypeHandler embeddedContentType = getJSPDefaultEmbeddedType();
-		initializeEmbeddedTypePre(model, embeddedContentType);
-	}
-	private void initializeEmbeddedTypeFromDefaultPost(IStructuredModel model) {
-		EmbeddedTypeHandler embeddedContentType = getJSPDefaultEmbeddedType();
-		initializeEmbeddedTypePost(model, embeddedContentType);
-	}
-	/**
-	 * This is "initialize" since is always assumes it hasn't been initalized
-	 * yet.
-	 */
-	private void initializeEmbeddedTypePre(IStructuredModel model, EmbeddedTypeHandler embeddedContentType) {
-		// check program logic
-		Assert.isNotNull(embeddedContentType, "Program error: invalid call during model initialization"); //$NON-NLS-1$
-		// once we know the embedded content type, we need to set it in the
-		// PageDirectiveAdapter ... the order of initialization is
-		// critical here, the doc must have been created, but its contents not
-		// set yet,
-		// and all factories must have been set up also.
-		IDOMModel domModel = (IDOMModel) model;
-		IDOMDocument document = domModel.getDocument();
-		PageDirectiveAdapter pageDirectiveAdapter = (PageDirectiveAdapter) document.getAdapterFor(PageDirectiveAdapter.class);
-		pageDirectiveAdapter.setEmbeddedType(embeddedContentType);
-		embeddedContentType.initializeFactoryRegistry(model.getFactoryRegistry());
-		
-		
-//		IStructuredDocument structuredDocument = model.getStructuredDocument();
-//		embeddedContentType.initializeParser((JSPCapableParser) structuredDocument.getParser());
-		// adding language here, in this convienent central
-		// location, but some obvious renaming or refactoring
-		// wouldn't hurt, in future.
-		// I needed to add this language setting for JSP Fragment support
-		// Note: I don't think this attempted init counts for much.
-		// I think its always executed when model is very first
-		// being initialized, and doesn't even have content
-		// or an ID yet. I thought I'd leave, since it wouldn't
-		// hurt, in case its called in other circumstances.
-		// String language = getLanguage(model);
-		// pageDirectiveAdapter.setLanguage(language);
-	}
-	private void initializeEmbeddedTypePost(IStructuredModel model, EmbeddedTypeHandler embeddedContentType) {
-		// check program logic
-		Assert.isNotNull(embeddedContentType, "Program error: invalid call during model initialization"); //$NON-NLS-1$
-		// once we know the embedded content type, we need to set it in the
-		// PageDirectiveAdapter ... the order of initialization is
-		// critical here, the doc must have been created, but its contents not
-		// set yet,
-		// and all factories must have been set up also.
-//		IDOMModel domModel = (IDOMModel) model;
-//		IDOMDocument document = domModel.getDocument();
-//		PageDirectiveAdapter pageDirectiveAdapter = (PageDirectiveAdapter) document.getAdapterFor(PageDirectiveAdapter.class);
-//		pageDirectiveAdapter.setEmbeddedType(embeddedContentType);
-//		embeddedContentType.initializeFactoryRegistry(model.getFactoryRegistry());
-		
-		
-		IStructuredDocument structuredDocument = model.getStructuredDocument();
-		embeddedContentType.initializeParser((JSPCapableParser) structuredDocument.getParser());
-		// adding language here, in this convienent central
-		// location, but some obvious renaming or refactoring
-		// wouldn't hurt, in future.
-		// I needed to add this language setting for JSP Fragment support
-		// Note: I don't think this attempted init counts for much.
-		// I think its always executed when model is very first
-		// being initialized, and doesn't even have content
-		// or an ID yet. I thought I'd leave, since it wouldn't
-		// hurt, in case its called in other circumstances.
-		// String language = getLanguage(model);
-		// pageDirectiveAdapter.setLanguage(language);
-	}
-
-	/**
-	 * Method getLanguage.
-	 * 
-	 * @param model
-	 * @return String
-	 */
-	private String getLanguage(IStructuredModel model) {
-		String result = null;
-		// first check the model (document itself) to see if contains
-		result = getLanguageFromStructuredDocument(model.getStructuredDocument());
-		// Note: if model contains an unsupported
-		// language, we'll even return it,
-		// since who knows what future holds.
-
-		// always return something
-		if (result == null) {
-			result = DEFAULT_LANGUAGE;
-		}
-		return result;
-	}
-
-	/**
-	 * Method getLanguageFromStructuredDocument.
-	 * 
-	 * @param structuredDocument
-	 * @return String
-	 */
-	private String getLanguageFromStructuredDocument(IStructuredDocument structuredDocument) {
-		if (structuredDocument == null)
-			return null;
-		String result = null;
-		// bascially same algorithm as get encoding or
-		// get content type from structuredDocument.
-		IJSPHeadContentDetector localHeadParser = getHeadParser();
-		// we can be assured that its already been
-		// parsed. If not call parseHeaderForPageDirective()
-		// before calling getLanguage;
-		localHeadParser.set(structuredDocument);
-		try {
-			result = localHeadParser.getLanguage();
-		} catch (IOException e) {
-			// impossible
-			// TODO need to reconsider design to avoid
-			throw new Error(e);
-		}
-		return result;
-	}
-
-	/**
-	 * This is "reinitialize" since there should always be at least the
-	 * default one assigned, before we start checking the stream
-	 */
-	private void reInitializeEmbeddedType(IStructuredModel model, EmbeddedTypeHandler oldEmbeddedContentType, EmbeddedTypeHandler newEmbeddedContentType) {
-		// check program logic
-		Assert.isNotNull(oldEmbeddedContentType, "Program error: invalid call during model initialization"); //$NON-NLS-1$
-		// once we know the embedded content type, we need to set it in the
-		// PageDirectiveAdapter ... the order of initialization is
-		// critical here, the doc must have been created, but its contents not
-		// set yet,
-		// and all factories must have been set up also.
-		IDOMModel domModel = (IDOMModel) model;
-		IStructuredDocument structuredDocument = model.getStructuredDocument();
-		IDOMDocument document = domModel.getDocument();
-		PageDirectiveAdapter pageDirectiveAdapter = (PageDirectiveAdapter) document.getExistingAdapter(PageDirectiveAdapter.class);
-		// ==> // PropagatingAdapter propagatingAdapter = (PropagatingAdapter)
-		// ((INodeNotifier)
-		// document).getExistingAdapter(PropagatingAdapter.class);
-		// ==> // ModelQueryAdapter modelQueryAdapter = (ModelQueryAdapter)
-		// ((INodeNotifier)
-		// document).getExistingAdapter(ModelQueryAdapter.class);
-		oldEmbeddedContentType.uninitializeFactoryRegistry(model.getFactoryRegistry());
-		oldEmbeddedContentType.uninitializeParser((JSPCapableParser) structuredDocument.getParser());
-		// since 'document' is not recreated in this
-		// reinit path, we need to remove all adapters,
-		// except for the propagated adapters (including page
-		// directive adapter, and model query adapter).
-		// to accomplish this, we'll just remove all, then
-		// add back with a call to pre-load adapt.
-		// let clients decide to unload adapters from document
-		// Collection oldAdapters = document.getAdapters();
-		// Iterator oldAdaptersIterator = oldAdapters.iterator();
-		// while (oldAdaptersIterator.hasNext()) {
-		// INodeAdapter oldAdapter = (INodeAdapter)
-		// oldAdaptersIterator.next();
-		// if (oldAdapter != pageDirectiveAdapter && oldAdapter !=
-		// propagatingAdapter && oldAdapter != modelQueryAdapter) {
-		// // DO NOT remove directly!
-		// // can change contents while in notifity loop!
-		// //oldAdaptersIterator.remove();
-		// document.removeAdapter(oldAdapter);
-		// }
-		// }
-		// DMW: I believe something like the following is needed,
-		// since releases cached adapters
-		// if (document instanceof DocumentImpl) {
-		// ((DocumentImpl) document).releaseDocumentType();
-		// ((DocumentImpl) document).releaseStyleSheets();
-		// }
-		// remember, embedded type factories are automatically cleared when
-		// embededType changed
-		pageDirectiveAdapter.setEmbeddedType(newEmbeddedContentType);
-		// // but still need to clear the page directive watchers, and let
-		// them be rediscovered (with new, accurate node as target)
-		// pageDirectiveAdapter.clearPageWatchers();
-		if (newEmbeddedContentType != null) {
-		
-			// need to null out or else ModelParserAdapter
-			// won't get reinitialized
-			((DOMModelImpl)model).setModelParser(null);
-			
-			newEmbeddedContentType.initializeFactoryRegistry(model.getFactoryRegistry());
-			newEmbeddedContentType.initializeParser((JSPCapableParser) structuredDocument.getParser());
-
-			// partitioner setup is the responsibility of this loader
-			IDocumentPartitioner documentPartitioner = structuredDocument.getDocumentPartitioner();
-			// ISSUE: this logic is flawed, not sure of original intent, but
-			// added null/type checks for safety.
-			if (documentPartitioner != null && documentPartitioner instanceof StructuredTextPartitionerForJSP) {
-				if (newEmbeddedContentType.getFamilyId().equals(ContentTypeIdForXML.ContentTypeID_XML)) {
-					((StructuredTextPartitionerForJSP) documentPartitioner).setEmbeddedPartitioner(new StructuredTextPartitionerForXML());
-				} else if (newEmbeddedContentType.getFamilyId().equals(ContentTypeIdForHTML.ContentTypeID_HTML)) {
-					((StructuredTextPartitionerForJSP) documentPartitioner).setEmbeddedPartitioner(new StructuredTextPartitionerForHTML());
-				}
-			}
-		}
-		// adding language here, in this convienent central
-		// location, but some obvious renaming or refactoring
-		// wouldn't hurt, in future.
-		// I needed to add this language setting for JSP Fragment support
-		// Note: this is the one that counts, since at this point,
-		// the model has an ID, so we can look up IFile, etc.
-		String language = getLanguage(model);
-		if (language != null && language.length() > 0) {
-			pageDirectiveAdapter.setLanguage(language);
-		}
-	}
-
-	/**
-	 * This is "reinitialize" since there should always be at least the
-	 * default one assigned, before we start checking the stream
-	 */
-	private void initCloneOfEmbeddedType(IStructuredModel model, EmbeddedTypeHandler oldEmbeddedContentType, EmbeddedTypeHandler newEmbeddedContentType) {
-		// check program logic
-		Assert.isNotNull(oldEmbeddedContentType, "Program error: invalid call during model initialization"); //$NON-NLS-1$
-		// once we know the embedded content type, we need to set it in the
-		// PageDirectiveAdapter ... the order of initialization is
-		// critical here, the doc must have been created, but its contents not
-		// set yet,
-		// and all factories must have been set up also.
-		IDOMModel domModel = (IDOMModel) model;
-		IStructuredDocument structuredDocument = model.getStructuredDocument();
-		IDOMDocument document = domModel.getDocument();
-		PageDirectiveAdapter pageDirectiveAdapter = (PageDirectiveAdapter) document.getAdapterFor(PageDirectiveAdapter.class);
-		// ==> // PropagatingAdapter propagatingAdapter = (PropagatingAdapter)
-		// ((INodeNotifier) document).getAdapterFor(PropagatingAdapter.class);
-		// ==> // ModelQueryAdapter modelQueryAdapter = (ModelQueryAdapter)
-		// ((INodeNotifier) document).getAdapterFor(ModelQueryAdapter.class);
-		// because, even in the clone case, the model has been paritally
-		// intialized with
-		// the old embedded type (during createModel), we need to unitialize
-		// parts of it, based on the old (or default) ones
-		oldEmbeddedContentType.uninitializeFactoryRegistry(model.getFactoryRegistry());
-		oldEmbeddedContentType.uninitializeParser((JSPCapableParser) structuredDocument.getParser());
-		// remember, embedded type factories are automatically cleared when
-		// embededType changed
-		pageDirectiveAdapter.setEmbeddedType(newEmbeddedContentType);
-		if (newEmbeddedContentType != null) {
-			newEmbeddedContentType.initializeFactoryRegistry(model.getFactoryRegistry());
-			newEmbeddedContentType.initializeParser((JSPCapableParser) structuredDocument.getParser());
-		}
-		// adding language here, in this convienent central
-		// location, but some obvious renaming or refactoring
-		// wouldn't hurt, in future.
-		// I needed to add this language setting for JSP Fragment support
-		// Note: this is the one that counts, since at this point,
-		// the model has an ID, so we can look up IFile, etc.
-		String language = getLanguage(model);
-		if (language != null && language.length() > 0) {
-			pageDirectiveAdapter.setLanguage(language);
-		}
-	}
-
-	private EmbeddedTypeHandler getEmbeddedType(IStructuredModel model) {
-		Document doc = ((IDOMModel) model).getDocument();
-		PageDirectiveAdapter pageDirectiveAdapter = (PageDirectiveAdapter) ((INodeNotifier) doc).getAdapterFor(PageDirectiveAdapter.class);
-		EmbeddedTypeHandler embeddedHandler = pageDirectiveAdapter.getEmbeddedType();
-		return embeddedHandler;
-	}
-
-	/**
-	 * Method initEmbeddedType.
-	 */
-	protected void initEmbeddedTypePre(IStructuredModel model) {
-		initializeEmbeddedTypeFromDefaultPre(model);
-	}
-	protected void initEmbeddedTypePost(IStructuredModel model) {
-		initializeEmbeddedTypeFromDefaultPost(model);
-	}
-	/**
-	 * Method initEmbeddedType.
-	 */
-	protected void initEmbeddedType(IStructuredModel oldModel, IStructuredModel newModel) {
-		EmbeddedTypeHandler existingEmbeddedType = getEmbeddedType(oldModel);
-		EmbeddedTypeHandler newEmbeddedContentType = existingEmbeddedType.newInstance();
-		if (existingEmbeddedType == null) {
-			initEmbeddedTypePre(newModel);
-			initEmbeddedTypePost(newModel);
-		} else {
-			// initEmbeddedType(newModel);
-			initCloneOfEmbeddedType(newModel, existingEmbeddedType, newEmbeddedContentType);
-		}
-		setLanguageInPageDirective(newModel);
-	}
-
-	protected void setLanguageInPageDirective(IStructuredModel newModel) {
-		if (newModel instanceof IDOMModel) {
-			IDOMDocument document = ((IDOMModel) newModel).getDocument();
-			PageDirectiveAdapter pageDirectiveAdapter = (PageDirectiveAdapter) document.getAdapterFor(PageDirectiveAdapter.class);
-			String language = getLanguage(newModel);
-			pageDirectiveAdapter.setLanguage(language);
-		}
-	}
-
-	public IStructuredModel reinitialize(IStructuredModel model) {
-		EmbeddedTypeHandler oldHandler = null;
-		EmbeddedTypeHandler newHandler = null;
-		Object reinitStateData = model.getReinitializeStateData();
-		if (reinitStateData instanceof EmbeddedTypeStateData) {
-			EmbeddedTypeStateData oldStateData = (EmbeddedTypeStateData) reinitStateData;
-			oldHandler = oldStateData.getOldHandler();
-			newHandler = oldStateData.getNewHandler();
-			// note. We should already have the new handler in the model's
-			// (documents) adapters,
-			// so need need to use the old one to undo the old state data
-			reInitializeEmbeddedType(model, oldHandler, newHandler);
-		} else {
-			// for language ... we someday MIGHT have to do something
-			// here, but for now, we don't have any model-side language
-			// sensitive adapters.
-		}
-		return super.reinitialize(model);
-	}
-
-	public IModelLoader newInstance() {
-		return new JSPModelLoader();
-	}
-
-	public IDocumentLoader getDocumentLoader() {
-		if (documentLoaderInstance == null) {
-			documentLoaderInstance = new JSPDocumentLoader();
-		}
-		return documentLoaderInstance;
-	}
-
-	/**
-	 * Ensures that an InputStream has mark/reset support.
-	 */
-	public static InputStream getMarkSupportedStream(InputStream original) {
-		if (original == null)
-			return null;
-		if (original.markSupported())
-			return original;
-		return new BufferedInputStream(original);
-	}
-
-	protected byte[] getBytes(InputStream inputStream, int max) throws IOException {
-		byte[] smallBuffer = new byte[max];
-		byte[] returnBuffer = null;
-		int nRead = inputStream.read(smallBuffer, 0, max);
-		if (nRead < max) {
-			// empty file will return -1;
-			if (nRead < 0)
-				nRead = 0;
-			byte[] smallerBuffer = new byte[nRead];
-			System.arraycopy(smallBuffer, 0, smallerBuffer, 0, nRead);
-			returnBuffer = smallerBuffer;
-		} else {
-			returnBuffer = smallBuffer;
-		}
-		return returnBuffer;
-	}
-
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/modelhandler/ModelHandlerForJSP.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/modelhandler/ModelHandlerForJSP.java
deleted file mode 100644
index 0ad55b1..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/modelhandler/ModelHandlerForJSP.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.modelhandler;
-
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.jst.jsp.core.internal.JSPCorePlugin;
-import org.eclipse.jst.jsp.core.internal.encoding.JSPDocumentHeadContentDetector;
-import org.eclipse.jst.jsp.core.internal.encoding.JSPDocumentLoader;
-import org.eclipse.jst.jsp.core.internal.parser.JSPSourceParser;
-import org.eclipse.jst.jsp.core.internal.regions.DOMJSPRegionContexts;
-import org.eclipse.wst.sse.core.internal.document.IDocumentCharsetDetector;
-import org.eclipse.wst.sse.core.internal.document.IDocumentLoader;
-import org.eclipse.wst.sse.core.internal.ltk.modelhandler.AbstractModelHandler;
-import org.eclipse.wst.sse.core.internal.ltk.parser.BlockMarker;
-import org.eclipse.wst.sse.core.internal.provisional.IModelLoader;
-
-public class ModelHandlerForJSP extends AbstractModelHandler {
-
-	/**
-	 * Needs to match what's in plugin registry. In fact, can be overwritten
-	 * at run time with what's in registry! (so should never be 'final')
-	 */
-	static String AssociatedContentTypeID = "org.eclipse.jst.jsp.core.jspsource"; //$NON-NLS-1$
-	/**
-	 * Needs to match what's in plugin registry. In fact, can be overwritten
-	 * at run time with what's in registry! (so should never be 'final')
-	 */
-	private static String ModelHandlerID = "org.eclipse.jst.jsp.core.modelhandler"; //$NON-NLS-1$
-
-
-	public ModelHandlerForJSP() {
-		super();
-		setId(ModelHandlerID);
-		setAssociatedContentTypeId(AssociatedContentTypeID);
-	}
-
-	protected void addJSPTagName(JSPSourceParser parser, String tagname) {
-		BlockMarker bm = new BlockMarker(tagname, null, DOMJSPRegionContexts.JSP_CONTENT, true);
-		parser.addBlockMarker(bm);
-	}
-
-	public IModelLoader getModelLoader() {
-		return new JSPModelLoader();
-	}
-
-	public Preferences getPreferences() {
-		return JSPCorePlugin.getDefault().getPluginPreferences();
-	}
-
-	public IDocumentCharsetDetector getEncodingDetector() {
-		return new JSPDocumentHeadContentDetector();
-	}
-
-	public IDocumentLoader getDocumentLoader() {
-		return new JSPDocumentLoader();
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/modelquery/JSPModelQueryAdapterImpl.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/modelquery/JSPModelQueryAdapterImpl.java
deleted file mode 100644
index b3e02bf..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/modelquery/JSPModelQueryAdapterImpl.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.modelquery;
-
-
-
-import org.eclipse.wst.common.uriresolver.internal.provisional.URIResolver;
-import org.eclipse.wst.xml.core.internal.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.xml.core.internal.contentmodel.util.CMDocumentCache;
-import org.eclipse.wst.xml.core.internal.ssemodelquery.ModelQueryAdapterImpl;
-
-
-public class JSPModelQueryAdapterImpl extends ModelQueryAdapterImpl {
-	public JSPModelQueryAdapterImpl(CMDocumentCache cmDocumentCache, ModelQuery modelQuery, URIResolver idResolver) {
-		super(cmDocumentCache, modelQuery, idResolver);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/modelquery/JSPModelQueryAssociationProvider.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/modelquery/JSPModelQueryAssociationProvider.java
deleted file mode 100644
index b7b1273..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/modelquery/JSPModelQueryAssociationProvider.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.modelquery;
-
-import org.eclipse.wst.xml.core.internal.contentmodel.modelqueryimpl.SimpleAssociationProvider;
-
-/**
- */
-public class JSPModelQueryAssociationProvider extends SimpleAssociationProvider {
-
-	/**
-	 * @param modelQueryCMProvider
-	 *            org.eclipse.wst.xml.core.internal.contentmodel.modelquery.ModelQueryCMProvider
-	 */
-	public JSPModelQueryAssociationProvider() {
-		super(new JSPModelQueryCMProvider());
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/modelquery/JSPModelQueryCMProvider.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/modelquery/JSPModelQueryCMProvider.java
deleted file mode 100644
index 8f83675..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/modelquery/JSPModelQueryCMProvider.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.modelquery;
-
-
-
-import java.util.List;
-
-import org.eclipse.jst.jsp.core.internal.contentmodel.JSPCMDocumentFactory;
-import org.eclipse.jst.jsp.core.internal.contentmodel.TaglibController;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMDocument;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.xml.core.internal.contentmodel.modelquery.ModelQueryCMProvider;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-import org.w3c.dom.Node;
-
-/**
- * CMDocument provider for HTML and JSP documents.
- */
-public class JSPModelQueryCMProvider implements ModelQueryCMProvider {
-
-	protected JSPModelQueryCMProvider() {
-		super();
-	}
-
-	/**
-	 * Returns the CMDocument that corresponds to the DOM Node. or null if no
-	 * CMDocument is appropriate for the DOM Node.
-	 */
-	public CMDocument getCorrespondingCMDocument(Node node) {
-		CMDocument jcmdoc = JSPCMDocumentFactory.getCMDocument();
-
-		CMDocument result = null;
-		try {
-			if (node.getNodeType() == Node.ELEMENT_NODE) {
-				String elementName = node.getNodeName();
-
-				// test to see if this node belongs to JSP's CMDocument (case
-				// sensitive)
-				CMElementDeclaration dec = (CMElementDeclaration) jcmdoc.getElements().getNamedItem(elementName);
-				if (dec != null) {
-					result = jcmdoc;
-				}
-			}
-
-			String prefix = node.getPrefix();
-
-			if (result == null && prefix != null && prefix.length() > 0 && node instanceof IDOMNode) {
-				// check position dependent
-				IDOMNode xmlNode = (IDOMNode) node;
-				TLDCMDocumentManager tldmgr = TaglibController.getTLDCMDocumentManager(xmlNode.getStructuredDocument());
-				if (tldmgr != null) {
-					List documents = tldmgr.getCMDocumentTrackers(node.getPrefix(), xmlNode.getStartOffset());
-					// there shouldn't be more than one cmdocument returned
-					if (documents != null && documents.size() > 0)
-						result = (CMDocument) documents.get(0);
-				}
-			}
-		}
-		catch (Exception e) {
-			e.printStackTrace();
-		}
-		return result;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/modelquery/JSPModelQueryImpl.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/modelquery/JSPModelQueryImpl.java
deleted file mode 100644
index d3f29d7..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/modelquery/JSPModelQueryImpl.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.modelquery;
-
-
-import java.util.HashMap;
-import java.util.List;
-
-import org.eclipse.jst.jsp.core.internal.document.PageDirectiveAdapter;
-import org.eclipse.wst.common.uriresolver.internal.provisional.URIResolver;
-import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
-import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMDocument;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMNode;
-import org.eclipse.wst.xml.core.internal.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.xml.core.internal.contentmodel.modelqueryimpl.ModelQueryImpl;
-import org.eclipse.wst.xml.core.internal.ssemodelquery.ModelQueryAdapter;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-public class JSPModelQueryImpl extends ModelQueryImpl {
-
-	protected IStructuredModel jspModel = null;
-	private HashMap embeddedModelQueries = new HashMap();
-	public JSPModelQueryImpl(IStructuredModel model, URIResolver resolver) {
-		super(new JSPModelQueryAssociationProvider());
-		jspModel = model;
-	}
-
-	/*
-	 * @see ModelQuery#getCMElementDeclaration(Element)
-	 */
-	public CMElementDeclaration getCMElementDeclaration(Element element) {
-		CMElementDeclaration result = super.getCMElementDeclaration(element);
-		if (result == null) {
-			ModelQuery query = getEmbeddedModelQuery(element);
-			if (query != null) {
-				result = query.getCMElementDeclaration(element);
-			}
-		}
-		return result;
-	}
-
-	/*
-	 * @see ModelQuery#getCorrespondingCMDocument(Node)
-	 */
-	public CMDocument getCorrespondingCMDocument(Node node) {
-		CMDocument doc = super.getCorrespondingCMDocument(node);
-		if (doc == null) {
-			ModelQuery query = getEmbeddedModelQuery(node);
-			if (query != null) {
-				doc = query.getCorrespondingCMDocument(node);
-			}
-		}
-		return doc;
-	}
-
-	/*
-	 * @see ModelQuery#getCMNode(Node)
-	 */
-	public CMNode getCMNode(Node node) {
-		CMNode result = super.getCMNode(node);
-		if (result == null) {
-			ModelQuery query = getEmbeddedModelQuery(node);
-			if (query != null) {
-				result = query.getCMNode(node);
-			}
-		}
-		return result;
-	}
-
-	public List getAvailableContent(Element element, CMElementDeclaration ed, int includeOptions) {
-		ModelQuery emq = getEmbeddedModelQuery(element);
-		if (emq != null)
-			return emq.getAvailableContent(element, ed, includeOptions);
-		else
-			return super.getAvailableContent(element, ed, includeOptions);
-	}
-
-	protected ModelQuery getEmbeddedModelQuery(Node node) {
-	    ModelQuery emq = null;
-		   
-			if (node instanceof INodeNotifier) {
-				Node ownerNode = node.getOwnerDocument();
-				if (ownerNode == null) {
-					// then must be the document itself
-					ownerNode = node;
-				}
-				PageDirectiveAdapter typeadapter = (PageDirectiveAdapter) ((INodeNotifier) ownerNode).getAdapterFor(PageDirectiveAdapter.class);
-				if (typeadapter != null) {
-				    
-				    String contentType = typeadapter.getContentType();
-				    Object o = embeddedModelQueries.get(contentType);
-				    if(o == null) {
-						ModelQueryAdapter embeddedAdapter = (ModelQueryAdapter) typeadapter.adapt((INodeNotifier) node, ModelQueryAdapter.class);
-						if (embeddedAdapter != null) {
-						    // we will cache one model query per content type
-						    emq = embeddedAdapter.getModelQuery();
-						    embeddedModelQueries.put(contentType, emq);
-						}
-				    }
-					else {
-					    emq = (ModelQuery)o;
-					}
-				}
-			}
-			return emq;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.xml.core.internal.contentmodel.modelquery.ModelQuery#getCMAttributeDeclaration(org.w3c.dom.Attr)
-	 */
-	public CMAttributeDeclaration getCMAttributeDeclaration(Attr attr) {
-		CMAttributeDeclaration result = super.getCMAttributeDeclaration(attr);
-		if (result == null) {
-			ModelQuery query = getEmbeddedModelQuery(attr);
-			if (query != null) {
-				result = query.getCMAttributeDeclaration(attr);
-			}
-		}
-		return result;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/modelquery/ModelQueryAdapterFactoryForJSP.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/modelquery/ModelQueryAdapterFactoryForJSP.java
deleted file mode 100644
index d290f51..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/modelquery/ModelQueryAdapterFactoryForJSP.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.modelquery;
-
-import java.io.File;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.wst.common.uriresolver.internal.provisional.URIResolver;
-import org.eclipse.wst.sse.core.internal.provisional.AbstractAdapterFactory;
-import org.eclipse.wst.sse.core.internal.provisional.IModelStateListener;
-import org.eclipse.wst.sse.core.internal.provisional.INodeAdapter;
-import org.eclipse.wst.sse.core.internal.provisional.INodeAdapterFactory;
-import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
-import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-import org.eclipse.wst.sse.core.internal.util.Debug;
-import org.eclipse.wst.xml.core.internal.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.xml.core.internal.contentmodel.util.CMDocumentCache;
-import org.eclipse.wst.xml.core.internal.modelquery.XMLCatalogIdResolver;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-import org.eclipse.wst.xml.core.internal.ssemodelquery.ModelQueryAdapter;
-
-public class ModelQueryAdapterFactoryForJSP extends AbstractAdapterFactory implements IModelStateListener {
-
-	protected JSPModelQueryAdapterImpl modelQueryAdapterImpl;
-
-	protected IStructuredModel stateNotifier = null;
-
-	public ModelQueryAdapterFactoryForJSP() {
-		this(ModelQueryAdapter.class, true);
-	}
-
-	/**
-	 * ModelQueryAdapterFactoryForJSP constructor comment.
-	 * 
-	 * @param adapterKey
-	 *            java.lang.Object
-	 * @param registerAdapters
-	 *            boolean
-	 */
-	public ModelQueryAdapterFactoryForJSP(Object key, boolean registerAdapters) {
-		super(key, registerAdapters);
-	}
-
-	public INodeAdapterFactory copy() {
-		return new ModelQueryAdapterFactoryForJSP(this.adapterKey, this.shouldRegisterAdapter);
-	}
-
-	/**
-	 * createAdapter method comment.
-	 */
-	protected INodeAdapter createAdapter(INodeNotifier target) {
-
-		if (Debug.displayInfo)
-			System.out.println("-----------------------ModelQueryAdapterFactoryForJSP.createAdapter" + target); //$NON-NLS-1$
-		if (modelQueryAdapterImpl == null) {
-			if (target instanceof IDOMNode) {
-				IDOMNode xmlNode = (IDOMNode) target;
-				IStructuredModel model = stateNotifier = xmlNode.getModel();
-				String baseLocation = model.getBaseLocation();
-				// continue only if the location is known
-				if (baseLocation != null) {
-					stateNotifier.addModelStateListener(this);
-					CMDocumentCache cmDocumentCache = new CMDocumentCache();
-					File file = new Path(model.getBaseLocation()).toFile();
-					if (file.exists()) {
-						baseLocation = file.getAbsolutePath();
-					}
-					else {
-						IPath basePath = new Path(model.getBaseLocation());
-						IPath derivedPath = null;
-						if (basePath.segmentCount() > 1)
-							derivedPath = ResourcesPlugin.getWorkspace().getRoot().getFile(basePath).getLocation();
-						else
-							derivedPath = ResourcesPlugin.getWorkspace().getRoot().getLocation().append(basePath);
-						if (derivedPath != null) {
-							baseLocation = derivedPath.toString();
-						}
-					}
-					URIResolver resolver = new XMLCatalogIdResolver(baseLocation, model.getResolver());
-
-					ModelQuery modelQuery = new JSPModelQueryImpl(model, resolver);
-					modelQuery.setEditMode(ModelQuery.EDIT_MODE_UNCONSTRAINED);
-					modelQueryAdapterImpl = new JSPModelQueryAdapterImpl(cmDocumentCache, modelQuery, resolver);
-				}
-			}
-		}
-		return modelQueryAdapterImpl;
-	}
-
-	/**
-	 * @see IModelStateListener#modelAboutToBeChanged(IStructuredModel)
-	 */
-	public void modelAboutToBeChanged(IStructuredModel model) {
-	}
-
-	/**
-	 * @see IModelStateListener#modelChanged(IStructuredModel)
-	 */
-	public void modelChanged(IStructuredModel model) {
-	}
-
-	/**
-	 * @see IModelStateListener#modelDirtyStateChanged(IStructuredModel,
-	 *      boolean)
-	 */
-	public void modelDirtyStateChanged(IStructuredModel model, boolean isDirty) {
-	}
-
-	/**
-	 * @see IModelStateListener#modelResourceDeleted(IStructuredModel)
-	 */
-	public void modelResourceDeleted(IStructuredModel model) {
-	}
-
-	/**
-	 * @see IModelStateListener#modelResourceMoved(IStructuredModel,
-	 *      IStructuredModel)
-	 */
-	public void modelResourceMoved(IStructuredModel oldModel, IStructuredModel newModel) {
-		// if oldModel != newModel, bad things might happen with the adapter
-		stateNotifier.removeModelStateListener(this);
-		stateNotifier = newModel;
-		updateResolver(stateNotifier);
-		stateNotifier.addModelStateListener(this);
-	}
-
-
-	public void release() {
-		super.release();
-		if (stateNotifier != null) {
-			stateNotifier.removeModelStateListener(this);
-		}
-		stateNotifier = null;
-		if (modelQueryAdapterImpl != null) {
-			modelQueryAdapterImpl.release();
-		}
-	}
-
-	protected void updateResolver(IStructuredModel model) {
-		String baseLocation = model.getBaseLocation();
-		IFile baseFile = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(model.getBaseLocation()));
-		if (baseFile != null) {
-			baseLocation = baseFile.getLocation().toString();
-		}
-		modelQueryAdapterImpl.setIdResolver(new XMLCatalogIdResolver(baseLocation, model.getResolver()));
-	}
-
-	public void modelAboutToBeReinitialized(IStructuredModel structuredModel) {
-		// TODO Auto-generated method stub
-		
-	}
-
-	public void modelReinitialized(IStructuredModel structuredModel) {
-		updateResolver(structuredModel);
-		
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/parser/JSPDirectiveStructuredDocumentRegion.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/parser/JSPDirectiveStructuredDocumentRegion.java
deleted file mode 100644
index 522c493..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/parser/JSPDirectiveStructuredDocumentRegion.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.parser;
-
-import org.eclipse.wst.sse.core.internal.provisional.events.StructuredDocumentEvent;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
-import org.eclipse.wst.xml.core.internal.text.XMLStructuredDocumentRegion;
-
-public class JSPDirectiveStructuredDocumentRegion extends XMLStructuredDocumentRegion {
-	/**
-	 * JSPDirectiveStructuredDocumentRegion constructor comment.
-	 */
-	public JSPDirectiveStructuredDocumentRegion() {
-		super();
-	}
-
-	protected StructuredDocumentEvent reparse(Object requester, String changes, int requestStart, int lengthToReplace) {
-		return null;
-	}
-
-	// This is a language specific method (e.g. HTML, Java, Prolog, etc.) so
-	// could/should be made configurable.
-	public StructuredDocumentEvent updateModel(Object requester, String changes, int requestStart, int lengthToReplace, IStructuredDocumentRegion flatnode) {
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/parser/JSPReParser.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/parser/JSPReParser.java
deleted file mode 100644
index effcef2..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/parser/JSPReParser.java
+++ /dev/null
@@ -1,384 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.parser;
-
-
-import java.util.Iterator;
-
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.JSP11TLDNames;
-import org.eclipse.jst.jsp.core.internal.provisional.JSP12Namespace;
-import org.eclipse.jst.jsp.core.internal.regions.DOMJSPRegionContexts;
-import org.eclipse.wst.sse.core.internal.ltk.parser.RegionParser;
-import org.eclipse.wst.sse.core.internal.ltk.parser.StructuredDocumentRegionParser;
-import org.eclipse.wst.sse.core.internal.provisional.events.StructuredDocumentEvent;
-import org.eclipse.wst.sse.core.internal.provisional.exceptions.SourceEditingRuntimeException;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegionList;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredTextReParser;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegionContainer;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegionList;
-import org.eclipse.wst.sse.core.internal.text.CoreNodeList;
-import org.eclipse.wst.sse.core.internal.util.Debug;
-import org.eclipse.wst.xml.core.internal.parser.XMLStructuredDocumentReParser;
-import org.eclipse.wst.xml.core.internal.regions.DOMRegionContext;
-
-public class JSPReParser extends XMLStructuredDocumentReParser {
-
-	/**
-	 * Allow a reparser to check for extra syntactic cases that require
-	 * parsing beyond the flatNode boundary.
-	 * 
-	 * This implementation adds JSP language markers (comments are handled
-	 * elsewhere).
-	 */
-	protected StructuredDocumentEvent checkForCrossStructuredDocumentRegionSyntax() {
-		StructuredDocumentEvent result = super.checkForCrossStructuredDocumentRegionSyntax();
-		// None of the superclass' cases were valid, so check for JSP cases
-		if (result == null) {
-			result = checkForJSP();
-		}
-		return result;
-	}
-
-	/**
-	 * A change to a JSP tag can result in all being reparsed.
-	 */
-	private StructuredDocumentEvent checkForJSP() {
-		StructuredDocumentEvent result = null;
-		result = checkForCriticalKey("<%"); //$NON-NLS-1$
-		if (result == null)
-			result = checkForCriticalKey("<%="); //$NON-NLS-1$
-		if (result == null)
-			result = checkForCriticalKey("<%!"); //$NON-NLS-1$
-		if (result == null)
-			result = checkForCriticalKey("%>"); //$NON-NLS-1$
-
-		return result;
-	}
-
-	/**
-	 * If a comment start or end tag is being added or deleted, we'll rescan
-	 * the whole document. The reason is that content that is revealed or
-	 * commented out can effect the interpretation of the rest of the
-	 * document. Note: for now this is very XML/JSP specific, can
-	 * refactor/improve later.
-	 */
-	protected StructuredDocumentEvent checkForComments() {
-
-		StructuredDocumentEvent result = super.checkForComments();
-
-		if (result == null)
-			result = checkForCriticalKey("<%--"); //$NON-NLS-1$
-		if (result == null)
-			result = checkForCriticalKey("--%>"); //$NON-NLS-1$
-		// we'll also check for these degenerate cases
-		if (result == null)
-			result = checkForCriticalKey("<%---%>"); //$NON-NLS-1$
-
-		return result;
-	}
-
-	/**
-	 * The core reparsing method ... after the dirty start and dirty end have
-	 * been calculated elsewhere. - this method overrides, does not extend
-	 * super's method. changes/fixes to super may have to be made here as
-	 * well.
-	 */
-	protected StructuredDocumentEvent reparse(IStructuredDocumentRegion dirtyStart, IStructuredDocumentRegion dirtyEnd) {
-		StructuredDocumentEvent result = null;
-		int rescanStart = -1;
-		int rescanEnd = -1;
-		boolean firstTime = false;
-		boolean detectedBreakingChange = false;
-
-		//
-		// "save" the oldNodes (that may be replaced) in a list
-		CoreNodeList oldNodes = formOldNodes(dirtyStart, dirtyEnd);
-
-		if (containsBreakingChange(oldNodes) || isBreakingWithNestedTag(dirtyStart, dirtyEnd)) {
-			if (Debug.debugTaglibs)
-				System.out.println("reparse: is taglib or include"); //$NON-NLS-1$
-			detectedBreakingChange = true;
-			rescanStart = 0;
-			rescanEnd = fStructuredDocument.getLength() + fLengthDifference;
-			oldNodes = formOldNodes(fStructuredDocument.getFirstStructuredDocumentRegion(), fStructuredDocument.getLastStructuredDocumentRegion());
-			clearTaglibInfo();
-		}
-		else if (dirtyStart == null || dirtyEnd == null) {
-			// dirtyStart or dirty end are null, then that means we didn't
-			// have a
-			// cached node, which means we have an empty document, so we
-			// just need to rescan the changes
-			rescanStart = 0;
-			rescanEnd = fChanges.length();
-			firstTime = true;
-		}
-		else {
-			// set the start of the text to rescan
-			rescanStart = dirtyStart.getStart();
-			//
-			// set the end of the text to rescan
-			// notice we use the same rationale as for the rescanStart,
-			// with the added caveat that length has to be added to it,
-			// to compensate for the new text which has been added or deleted.
-			// If changes has zero length, then "length" will be negative,
-			// since
-			// we are deleting text. Otherwise, use the difference between
-			// what's selected to be replaced and the length of the new text.
-			rescanEnd = dirtyEnd.getEnd() + fLengthDifference;
-		}
-
-		// now that we have the old stuff "saved" away, update the document
-		// with the changes.
-		fStructuredDocument.updateDocumentData(fStart, fLengthToReplace, fChanges);
-		// ------------------ now the real work
-		result = core_reparse(rescanStart, rescanEnd, oldNodes, firstTime);
-		//
-
-		// if we did not detect a breaking type of change at the beginning,
-		// but
-		// do now, then reparse all! If we did detect them, then we may or may
-		// not detect again, but presumably we've already set up to re-parsed
-		// everthing, so no need to do again.
-		if ((!detectedBreakingChange) && (containsBreakingChange(oldNodes))) {
-			clearTaglibInfo();
-			// reparse all
-			oldNodes = formOldNodes(fStructuredDocument.getFirstStructuredDocumentRegion(), fStructuredDocument.getLastStructuredDocumentRegion());
-			result = core_reparse(0, fStructuredDocument.getLength(), oldNodes, firstTime);
-		}
-
-		// event is returned to the caller, incase there is
-		// some optimization they can do
-		return result;
-	}
-
-	/**
-	 * Verifies that the regions given, representing the contents of a
-	 * IStructuredDocumentRegion, contain regions that could alter the
-	 * behavior of the parser or the parsing of areas outside of the regions
-	 * given.
-	 */
-	private boolean isBreakingChange(IStructuredDocumentRegion node, ITextRegionList regions) {
-		return isTaglibOrInclude(node, regions) || isJspRoot(regions);
-	}
-
-	/**
-	 * Verifies that the regions given, representing the regions touched by a
-	 * text change have: 1) ...an insertion at the textEndOffset of an
-	 * XML_TAG_OPEN that's in it's own IStructuredDocumentRegion and preceded
-	 * by an unended IStructuredDocumentRegion 2) ...a deletion happening in
-	 * an XML_EMPTY_TAG_CLOSE that ends a ITextRegionContainer 3) ...an
-	 * insertion happening with a ' <' character somewhere in an XML attribute
-	 * name or value 4) ...a deletion of a normal XML_TAG_CLOSE since
-	 * subsequent tags become attribute values
-	 */
-
-	private boolean isBreakingWithNestedTag(boolean changesIncludeA_lt, boolean delsIncludeA_gt, IStructuredDocumentRegion parent, ITextRegion region) {
-		boolean result = false;
-
-		IStructuredDocumentRegion previous = parent.getPrevious();
-		// case 1 test
-		if (parent.getRegions().size() == 1 && region.getType() == DOMRegionContext.XML_TAG_OPEN && (previous == null || (!previous.isEnded() || previous.getType() == DOMRegionContext.XML_CONTENT))) {
-			result = true;
-		}
-		//case 2 test
-		if (region instanceof ITextRegionContainer) {
-			ITextRegionContainer container = (ITextRegionContainer) region;
-			ITextRegion internal = container.getRegions().get(container.getRegions().size() - 1);
-			if (internal.getType() == DOMRegionContext.WHITE_SPACE && container.getRegions().size() >= 2)
-				internal = container.getRegions().get(container.getRegions().size() - 2);
-			if (internal.getType() == DOMRegionContext.XML_EMPTY_TAG_CLOSE) {
-				result = true;
-			}
-		}
-		//case 3 test
-		if (changesIncludeA_lt && (region.getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_NAME || region.getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_VALUE)) {
-			result = true;
-		}
-		//case 4 test
-		if (delsIncludeA_gt && region.getType() == DOMRegionContext.XML_TAG_CLOSE) {
-			result = true;
-		}
-		return result;
-	}
-
-	/**
-	 * Verifies that the regions given, representing the contents of a
-	 * IStructuredDocumentRegion, includes a jsp:root tag
-	 */
-	private boolean isJspRoot(ITextRegionList regions) {
-		return regions.size() > 1 && regions.get(0).getType() == DOMRegionContext.XML_TAG_OPEN && regions.get(1).getType() == DOMJSPRegionContexts.JSP_ROOT_TAG_NAME;
-	}
-
-	/**
-	 * Verifies that the regions given, representing the contents of a
-	 * IStructuredDocumentRegion, includes a valid taglib directive or include
-	 * directive
-	 */
-	private boolean isTaglibOrInclude(IStructuredDocumentRegion node, ITextRegionList regions) {
-		boolean sizeAndTypesMatch = (regions.size() > 1) && (regions.get(1).getType() == DOMJSPRegionContexts.JSP_DIRECTIVE_NAME)
-					&& (regions.get(0).getType() == DOMJSPRegionContexts.JSP_DIRECTIVE_OPEN || regions.get(0).getType() == DOMRegionContext.XML_TAG_OPEN);
-		if (!sizeAndTypesMatch)
-			return false;
-		ITextRegion region = regions.get(1);
-		String directiveName = node.getText(region);
-		return sizeAndTypesMatch
-					&& (directiveName.equals(JSP11TLDNames.TAGLIB) || directiveName.equals(JSP11TLDNames.INCLUDE) || directiveName.equals(JSP12Namespace.ElementName.DIRECTIVE_TAGLIB) || directiveName
-								.equals(JSP12Namespace.ElementName.DIRECTIVE_INCLUDE));
-	}
-
-	private void clearTaglibInfo() {
-		if (Debug.debugTaglibs)
-			System.out.println("clearing taglib info"); //$NON-NLS-1$
-		RegionParser parser = fStructuredDocument.getParser();
-		if (parser instanceof StructuredDocumentRegionParser)
-			((StructuredDocumentRegionParser) parser).resetHandlers();
-	}
-
-	private boolean containsBreakingChange(IStructuredDocumentRegionList list) {
-		boolean contains = false;
-		for (int i = 0; i < list.getLength(); i++) {
-			IStructuredDocumentRegion node = list.item(i);
-			if (isBreakingChange(node, node.getRegions())) {
-				contains = true;
-				break;
-			}
-		}
-		return contains;
-	}
-
-	protected IStructuredDocumentRegion findDirtyEnd(int end) {
-
-		IStructuredDocumentRegion result = super.findDirtyEnd(end);
-
-		// if not well formed, get one past, if its not null
-
-		// now, if any of to-be-scanned flatnodes are the start of a jsp
-		// region, we'll
-		// reparse all the way to the end, to be sure we detect embedded
-		// regions (or not-embedded regions) correctly.
-		// notice we don't need to do if we're only processing one node.
-		// notice too we have a strong assumption here that dirtyStart has
-		// already been found!
-		//
-		// note that dirtyEnd is not checked in the do-block below, so we'll
-		// check it first.
-		if (isJSPEmbeddedStartOrEnd(result)) {
-			result = fStructuredDocument.getLastStructuredDocumentRegion();
-		}
-		else {
-			// when end node and start node are the same, we only need the
-			// above
-			// check, otherwise, there's a few cases that we'll search the
-			// rest of the
-			// flatnodes needlessly.
-			if (result != dirtyStart) {
-				IStructuredDocumentRegion searchNode = dirtyStart;
-				do {
-					if (isJSPEmbeddedStartOrEnd(searchNode)) {
-						result = fStructuredDocument.getLastStructuredDocumentRegion();
-						break;
-					}
-					else {
-						searchNode = searchNode.getNext();
-					}
-					// if we get to the current dirty end, or end of
-					// flatnodes, without finding JSP region then we
-					// don't need to check further
-				}
-				while ((searchNode != result) && (searchNode != null));
-			}
-		}
-		// result should never be null, but cachedNode needs to be protected
-		// from being changed to null
-		if (result != null)
-			fStructuredDocument.setCachedDocumentRegion(result);
-		dirtyEnd = result;
-		return dirtyEnd;
-	}
-
-	private boolean isBreakingWithNestedTag(IStructuredDocumentRegion start, IStructuredDocumentRegion end) {
-		boolean result = false;
-		boolean changesIncludeA_lt = fChanges != null && fChanges.indexOf('<') >= 0;
-		boolean delsIncludeA_gt = fDeletedText != null && fDeletedText.indexOf('>') >= 0;
-
-		//List regions = new ArrayList();
-		IStructuredDocumentRegion node = start;
-		int endReplace = fStart + fLengthToReplace;
-		while (end != null && node != end.getNext()) {
-			Iterator i = node.getRegions().iterator();
-			while (i.hasNext()) {
-				ITextRegion region = (ITextRegion) i.next();
-				if (intersects(node, region, fStart, endReplace)) {
-
-					result = isBreakingWithNestedTag(changesIncludeA_lt, delsIncludeA_gt, node, region);
-
-					if (result)
-						break;
-				}
-			}
-			node = node.getNext();
-			if (result)
-				break;
-		}
-		return result;
-	}
-
-	private boolean intersects(IStructuredDocumentRegion node, ITextRegion region, int low, int high) {
-		int start = node.getStartOffset(region);
-		int end = node.getEndOffset(region);
-		return (end >= low && start <= high) || (start <= low && end >= low) || (start <= high && end >= high);
-	}
-
-	/**
-	 * Returns true if potentially could be a jsp embedded region. Things like
-	 * JSP Declaration can't be embedded.
-	 */
-	private boolean isJSPEmbeddedStartOrEnd(IStructuredDocumentRegion flatNode) {
-		boolean result = false;
-		String type = flatNode.getType();
-		result = ((type == DOMJSPRegionContexts.JSP_SCRIPTLET_OPEN) || (type == DOMJSPRegionContexts.JSP_EXPRESSION_OPEN) || (type == DOMJSPRegionContexts.JSP_DECLARATION_OPEN));
-		return result;
-	}
-
-	/**
-	 * extends super class behavior
-	 */
-	protected boolean isPartOfBlockRegion(IStructuredDocumentRegion flatNode) {
-		boolean result = false;
-		String type = flatNode.getType();
-		result = ((type == DOMJSPRegionContexts.JSP_CLOSE) || (type == DOMJSPRegionContexts.JSP_CONTENT) || super.isPartOfBlockRegion(flatNode));
-		return result;
-	}
-
-	public IStructuredTextReParser newInstance() {
-		return new JSPReParser();
-	}
-
-	public StructuredDocumentEvent quickCheck() {
-		if (containsBreakingChange(new CoreNodeList(dirtyStart, dirtyEnd)))
-			return null;
-		return super.quickCheck();
-	}
-
-	public Object clone() {
-		try {
-			return super.clone();
-		}
-		catch (CloneNotSupportedException e) {
-			// could only happen if some changes
-			// superclass someday
-			throw new SourceEditingRuntimeException(e);
-		}
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/parser/JSPSourceParser.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/parser/JSPSourceParser.java
deleted file mode 100644
index a4e6433..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/parser/JSPSourceParser.java
+++ /dev/null
@@ -1,428 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.parser;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.JSP12TLDNames;
-import org.eclipse.jst.jsp.core.internal.parser.internal.JSPTokenizer;
-import org.eclipse.jst.jsp.core.internal.provisional.JSP12Namespace;
-import org.eclipse.jst.jsp.core.internal.regions.DOMJSPRegionContexts;
-import org.eclipse.wst.sse.core.internal.ltk.parser.BlockTokenizer;
-import org.eclipse.wst.sse.core.internal.ltk.parser.JSPCapableParser;
-import org.eclipse.wst.sse.core.internal.ltk.parser.RegionParser;
-import org.eclipse.wst.sse.core.internal.ltk.parser.StructuredDocumentRegionHandler;
-import org.eclipse.wst.sse.core.internal.ltk.parser.StructuredDocumentRegionHandlerExtension;
-import org.eclipse.wst.sse.core.internal.ltk.parser.StructuredDocumentRegionParser;
-import org.eclipse.wst.sse.core.internal.ltk.parser.TagMarker;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegionContainer;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegionList;
-import org.eclipse.wst.sse.core.internal.text.IRegionComparible;
-import org.eclipse.wst.sse.core.internal.util.Debug;
-import org.eclipse.wst.sse.core.internal.util.StringUtils;
-import org.eclipse.wst.xml.core.internal.parser.XMLSourceParser;
-import org.eclipse.wst.xml.core.internal.regions.DOMRegionContext;
-
-/**
- * Takes input from the JSPTokenizer and creates a tag list
- */
-
-public class JSPSourceParser extends XMLSourceParser implements JSPCapableParser {
-	protected class NestablePrefixHandler implements StructuredDocumentRegionHandler, StructuredDocumentRegionHandlerExtension {
-
-		private static final String XMLNS = "xmlns:"; //$NON-NLS-1$
-
-		/**
-		 * Enables a TLD owning the given prefix loaded from the given URI at
-		 * the anchorFlatNode. The list of additionalCMDocuments will claim to
-		 * not know any of its tags at positions earlier than that
-		 * IStructuredDocumentRegion's position.
-		 * 
-		 * For taglib directives, the taglib is the anchor while taglibs
-		 * registered through include directives use the primary include
-		 * directive as their anchor.
-		 */
-		protected void enableForTaglib(String prefix, IStructuredDocumentRegion anchorFlatNode) {
-			if (prefix == null)
-				return;
-			List tagmarkers = ((JSPTokenizer) getTokenizer()).getNestablePrefixes();
-			for (int i = 0; i < tagmarkers.size(); i++) {
-				if (((TagMarker) tagmarkers.get(i)).getTagName().equals(prefix))
-					return;
-			}
-			((JSPTokenizer) getTokenizer()).getNestablePrefixes().add(new TagMarker(prefix, anchorFlatNode));
-		}
-
-		public void nodeParsed(IStructuredDocumentRegion aCoreFlatNode) {
-			// could test > 1, but since we only care if there are 8 (<%@,
-			// taglib, uri, =, where, prefix, =, what) [or 4 for includes]
-			if (aCoreFlatNode.getNumberOfRegions() > 4 && aCoreFlatNode.getRegions().get(1).getType() == DOMJSPRegionContexts.JSP_DIRECTIVE_NAME) {
-				ITextRegion name = aCoreFlatNode.getRegions().get(1);
-				try {
-					int offset = aCoreFlatNode.getStartOffset(name);
-					int length = name.getTextLength();
-					boolean taglibdetected = false;
-					boolean taglibdirectivedetected = false;
-					if (fCharSequenceSource instanceof IRegionComparible) {
-						taglibdetected = ((IRegionComparible) fCharSequenceSource).regionMatches(offset, length, JSP12TLDNames.TAGLIB);
-						taglibdirectivedetected = ((IRegionComparible) fCharSequenceSource).regionMatches(offset, length, JSP12Namespace.ElementName.DIRECTIVE_TAGLIB);
-					}
-					else {
-						// old fashioned way
-						String directiveName = getText(offset, length);
-						taglibdetected = directiveName.equals(JSP12TLDNames.TAGLIB);
-						taglibdirectivedetected = directiveName.equals(JSP12Namespace.ElementName.DIRECTIVE_TAGLIB);
-					}
-					boolean processDirectiveName = taglibdetected || taglibdirectivedetected;
-					if (processDirectiveName) {
-						processTaglib(aCoreFlatNode);
-					}
-				}
-				catch (StringIndexOutOfBoundsException sioobExc) {
-					//do nothing
-				}
-			}
-			// could test > 1, but since we only care if there are 5 (<,
-			// jsp:root, xmlns:prefix, =, where)
-			else if (aCoreFlatNode.getNumberOfRegions() > 4 && (aCoreFlatNode.getRegions().get(1)).getType() == DOMJSPRegionContexts.JSP_ROOT_TAG_NAME) {
-				processJSPRoot(aCoreFlatNode);
-			}
-		}
-
-		protected void processJSPRoot(IStructuredDocumentRegion taglibFlatNode) {
-			ITextRegionList regions = taglibFlatNode.getRegions();
-			String prefix = null;
-			boolean taglib = false;
-			try {
-				for (int i = 0; i < regions.size(); i++) {
-					ITextRegion region = regions.get(i);
-					if (region.getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_NAME) {
-						int offset = taglibFlatNode.getStartOffset(region);
-						int length = region.getTextLength();
-
-						String name = getText(offset, length);
-						if (name.startsWith(XMLNS) && name.length() > XMLNS.length()) { //$NON-NLS-1$
-							prefix = name.substring(6);
-							taglib = true;
-						}
-						else {
-							prefix = null;
-							taglib = false;
-						}
-					}
-					else if (taglib && region.getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_VALUE) {
-						prefix = StringUtils.strip(prefix);
-						if (prefix != null && prefix.length() > 0) {
-							enableForTaglib(prefix, taglibFlatNode);
-							prefix = null;
-						}
-					}
-				}
-			}
-			catch (StringIndexOutOfBoundsException sioobExc) {
-				// nothing to be done
-				prefix = null;
-			}
-		}
-
-		/**
-		 * Pulls the prefix from the given taglib directive
-		 * IStructuredDocumentRegion and makes sure the prefix is nestable.
-		 */
-		protected void processTaglib(IStructuredDocumentRegion taglibFlatNode) {
-			ITextRegionList regions = taglibFlatNode.getRegions();
-			String prefix = null;
-			boolean prefixname = false;
-			try {
-				for (int i = 0; i < regions.size(); i++) {
-					ITextRegion region = regions.get(i);
-					if (region.getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_NAME) {
-						if (fCharSequenceSource != null && fCharSequenceSource instanceof IRegionComparible) {
-							int offset = taglibFlatNode.getStartOffset(region);
-							int length = region.getTextLength();
-							prefixname = ((IRegionComparible) fCharSequenceSource).regionMatches(offset, length, JSP12TLDNames.PREFIX);
-						}
-						else {
-							// old fashioned way
-							prefixname = (getText(taglibFlatNode.getStartOffset(region), region.getTextLength()).equals(JSP12TLDNames.PREFIX));
-						}
-					}
-					else if (prefixname && region.getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_VALUE) {
-						prefix = getText(taglibFlatNode.getStartOffset(region), region.getTextLength());
-					}
-				}
-			}
-			catch (StringIndexOutOfBoundsException sioobExc) {
-				// nothing to be done
-				prefix = null;
-			}
-			prefix = StringUtils.strip(prefix);
-			if (prefix != null && prefix.length() > 0) {
-				enableForTaglib(prefix, taglibFlatNode);
-			}
-		}
-
-		public void resetNodes() {
-			Iterator tagmarkers = ((JSPTokenizer) getTokenizer()).getNestablePrefixes().iterator();
-			while (tagmarkers.hasNext()) {
-				if (!((TagMarker) tagmarkers.next()).isGlobal())
-					tagmarkers.remove();
-			}
-		}
-
-		public void setStructuredDocument(IStructuredDocument newDocument) {
-			resetNodes();
-			getStructuredDocumentRegionHandlers().remove(this);
-			if (newDocument != null && newDocument.getParser() instanceof StructuredDocumentRegionParser) {
-				((StructuredDocumentRegionParser) newDocument.getParser()).addStructuredDocumentRegionHandler(this);
-			}
-		}
-	}
-
-	/**
-	 * JSPSourceParser constructor comment.
-	 */
-	public JSPSourceParser() {
-		super();
-	}
-
-	public void addNestablePrefix(TagMarker marker) {
-		((JSPTokenizer) getTokenizer()).addNestablePrefix(marker);
-	}
-
-	public List getNestablePrefixes() {
-		return ((JSPTokenizer) getTokenizer()).getNestablePrefixes();
-	}
-
-	protected BlockTokenizer getTokenizer() {
-		if (fTokenizer == null) {
-			fTokenizer = new JSPTokenizer();
-			getStructuredDocumentRegionHandlers().add(new NestablePrefixHandler());
-		}
-		return fTokenizer;
-	}
-
-
-	public RegionParser newInstance() {
-		JSPSourceParser newInstance = new JSPSourceParser();
-		newInstance.setTokenizer(getTokenizer().newInstance());
-		return newInstance;
-	}
-
-	protected IStructuredDocumentRegion parseNodes() {
-		// regions are initially reported as complete offsets within the
-		// scanned input
-		// they are adjusted here to be indexes from the currentNode's start
-		// offset
-		IStructuredDocumentRegion headNode = null;
-		IStructuredDocumentRegion lastNode = null;
-		ITextRegion region = null;
-		// DMW: 2/12/03. Made current node local variable, since
-		// we changed class to not require state
-		IStructuredDocumentRegion currentNode = null;
-		String type = null;
-
-		while ((region = getNextRegion()) != null) {
-			type = region.getType();
-			// these types (might) demand a IStructuredDocumentRegion for each
-			// of them
-			if (type == DOMRegionContext.BLOCK_TEXT) {
-				if (currentNode != null && currentNode.getLastRegion().getType() == DOMRegionContext.BLOCK_TEXT) {
-					// multiple block texts indicated embedded containers; no
-					// new IStructuredDocumentRegion
-					currentNode.addRegion(region);
-					currentNode.setLength(region.getStart() + region.getLength() - currentNode.getStart());
-					region.adjustStart(-currentNode.getStart());
-					// DW, 4/16/2003 token regions no longer have parents
-					//region.setParent(currentNode);
-					if (region instanceof ITextRegionContainer) {
-						((ITextRegionContainer) region).setParent(currentNode);
-					}
-				}
-				else {
-					// not continuing a IStructuredDocumentRegion
-					if (currentNode != null) {
-						// ensure that any existing node is at least
-						// terminated
-						if (!currentNode.isEnded()) {
-							currentNode.setLength(region.getStart() - currentNode.getStart());
-							// fCurrentNode.setTextLength(region.getStart() -
-							// fCurrentNode.getStart());
-						}
-						lastNode = currentNode;
-					}
-					fireNodeParsed(currentNode);
-					currentNode = createStructuredDocumentRegion(type);
-					if (lastNode != null) {
-						lastNode.setNext(currentNode);
-					}
-					currentNode.setPrevious(lastNode);
-					currentNode.setStart(region.getStart());
-					currentNode.setLength(region.getStart() + region.getLength() - currentNode.getStart());
-					currentNode.setEnded(true);
-					region.adjustStart(-currentNode.getStart());
-					currentNode.addRegion(region);
-					// DW, 4/16/2003 token regions no longer have parents
-					//region.setParent(currentNode);
-					if (region instanceof ITextRegionContainer) {
-						((ITextRegionContainer) region).setParent(currentNode);
-					}
-
-				}
-			}
-			// the following contexts OPEN new StructuredDocumentRegions
-			else if ((currentNode != null && currentNode.isEnded()) || (type == DOMRegionContext.XML_CONTENT) || (type == DOMRegionContext.XML_CHAR_REFERENCE) || (type == DOMRegionContext.XML_ENTITY_REFERENCE)
-						|| (type == DOMRegionContext.XML_PI_OPEN) || (type == DOMRegionContext.XML_TAG_OPEN) || (type == DOMRegionContext.XML_END_TAG_OPEN) || (type == DOMRegionContext.XML_COMMENT_OPEN) || (type == DOMRegionContext.XML_CDATA_OPEN)
-						|| (type == DOMRegionContext.XML_DECLARATION_OPEN) || (type == DOMJSPRegionContexts.JSP_COMMENT_OPEN) || (type == DOMJSPRegionContexts.JSP_DECLARATION_OPEN) || (type == DOMJSPRegionContexts.JSP_DIRECTIVE_OPEN)
-						|| (type == DOMJSPRegionContexts.JSP_EXPRESSION_OPEN) || (type == DOMJSPRegionContexts.JSP_SCRIPTLET_OPEN) || (type == DOMJSPRegionContexts.JSP_CLOSE) || type == DOMJSPRegionContexts.JSP_EL_OPEN) {
-				if (currentNode != null) {
-					// ensure that any existing node is at least terminated
-					if (!currentNode.isEnded()) {
-						currentNode.setLength(region.getStart() - currentNode.getStart());
-						// fCurrentNode.setTextLength(region.getStart() -
-						// fCurrentNode.getStart());
-					}
-					lastNode = currentNode;
-				}
-				fireNodeParsed(currentNode);
-				currentNode = createStructuredDocumentRegion(type);
-				if (lastNode != null) {
-					lastNode.setNext(currentNode);
-				}
-				currentNode.setPrevious(lastNode);
-				currentNode.setStart(region.getStart());
-				currentNode.addRegion(region);
-				currentNode.setLength(region.getStart() + region.getLength() - currentNode.getStart());
-				region.adjustStart(-currentNode.getStart());
-				// DW, 4/16/2003 token regions no longer have parents
-				//region.setParent(currentNode);
-				if (region instanceof ITextRegionContainer) {
-					((ITextRegionContainer) region).setParent(currentNode);
-				}
-
-			}
-			// the following contexts NEITHER open nor close
-			// StructuredDocumentRegions; just add to them
-			else if ((type == DOMRegionContext.XML_TAG_NAME) || (type == DOMRegionContext.XML_TAG_ATTRIBUTE_NAME) || (type == DOMRegionContext.XML_TAG_ATTRIBUTE_EQUALS) || (type == DOMRegionContext.XML_TAG_ATTRIBUTE_VALUE)
-						|| (type == DOMRegionContext.XML_COMMENT_TEXT) || (type == DOMRegionContext.XML_PI_CONTENT) || (type == DOMRegionContext.XML_DOCTYPE_INTERNAL_SUBSET) || (type == DOMJSPRegionContexts.JSP_COMMENT_TEXT)
-						|| (type == DOMJSPRegionContexts.JSP_ROOT_TAG_NAME) || (type == DOMJSPRegionContexts.JSP_DIRECTIVE_NAME) || type == DOMJSPRegionContexts.JSP_EL_CONTENT) {
-				currentNode.addRegion(region);
-				currentNode.setLength(region.getStart() + region.getLength() - currentNode.getStart());
-				region.adjustStart(-currentNode.getStart());
-				// DW, 4/16/2003 token regions no longer have parents
-				//region.setParent(currentNode);
-				if (region instanceof ITextRegionContainer) {
-					((ITextRegionContainer) region).setParent(currentNode);
-				}
-			}
-			// the following contexts close off StructuredDocumentRegions
-			// cleanly
-			else if ((type == DOMRegionContext.XML_PI_CLOSE) || (type == DOMRegionContext.XML_TAG_CLOSE) || (type == DOMRegionContext.XML_EMPTY_TAG_CLOSE) || (type == DOMRegionContext.XML_COMMENT_CLOSE) || (type == DOMRegionContext.XML_CDATA_CLOSE)
-						|| (type == DOMJSPRegionContexts.JSP_CLOSE) || (type == DOMJSPRegionContexts.JSP_COMMENT_CLOSE) || (type == DOMJSPRegionContexts.JSP_DIRECTIVE_CLOSE) || (type == DOMRegionContext.XML_DECLARATION_CLOSE)
-						|| type == DOMJSPRegionContexts.JSP_EL_CLOSE) {
-				currentNode.setEnded(true);
-				currentNode.setLength(region.getStart() + region.getLength() - currentNode.getStart());
-				currentNode.addRegion(region);
-				region.adjustStart(-currentNode.getStart());
-				// DW, 4/16/2003 token regions no longer have parents
-				//region.setParent(currentNode);
-				if (region instanceof ITextRegionContainer) {
-					((ITextRegionContainer) region).setParent(currentNode);
-				}
-			}
-			// this is extremely rare, but valid
-			else if (type == DOMRegionContext.WHITE_SPACE) {
-				ITextRegion lastRegion = currentNode.getLastRegion();
-				// pack the embedded container with this region
-				if (lastRegion instanceof ITextRegionContainer) {
-					ITextRegionContainer container = (ITextRegionContainer) lastRegion;
-					container.getRegions().add(region);
-					// DW, 4/16/2003 container regions have parent. Probably a
-					// better place to set,
-					// but for now, will (re)set each time through
-					container.setParent(currentNode);
-					// DW, 4/16/2003 token regions no longer have parents
-					//region.setParent(container);
-					region.adjustStart(container.getLength() - region.getStart());
-				}
-				currentNode.getLastRegion().adjustLength(region.getLength());
-				currentNode.adjustLength(region.getLength());
-			}
-			else if (type == DOMRegionContext.UNDEFINED && currentNode != null) {
-				// skip on a very-first region situation as the default
-				// behavior is good enough
-				// combine with previous if also undefined
-				if (currentNode.getLastRegion() != null && currentNode.getLastRegion().getType() == DOMRegionContext.UNDEFINED) {
-					currentNode.getLastRegion().adjustLength(region.getLength());
-					currentNode.adjustLength(region.getLength());
-				}
-				// previous wasn't undefined
-				else {
-					currentNode.addRegion(region);
-					currentNode.setLength(region.getStart() + region.getLength() - currentNode.getStart());
-					region.adjustStart(-currentNode.getStart());
-				}
-				if (region instanceof ITextRegionContainer) {
-					((ITextRegionContainer) region).setParent(currentNode);
-				}
-			}
-			else {
-				// if an unknown type is the first region in the document,
-				// ensure that a node exists
-				if (currentNode == null) {
-					currentNode = createStructuredDocumentRegion(type);
-					currentNode.setStart(region.getStart());
-				}
-				currentNode.addRegion(region);
-				currentNode.setLength(region.getStart() + region.getLength() - currentNode.getStart());
-				region.adjustStart(-currentNode.getStart());
-				// DW, 4/16/2003 token regions no longer have parents
-				//region.setParent(currentNode);
-				if (region instanceof ITextRegionContainer) {
-					((ITextRegionContainer) region).setParent(currentNode);
-				}
-
-				if (Debug.debugTokenizer)
-					System.out.println(getClass().getName() + " found region of not specifically handled type " + region.getType() + " @ " + region.getStart() + "[" + region.getLength() + "]");//$NON-NLS-4$//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
-
-			}
-
-			// these regions also get their own node, so close them cleanly
-			// NOTE: these regions have new StructuredDocumentRegions created
-			// for them above; it may
-			// be more readable if that is handled here as well, but the
-			// current layout
-			// ensures that they open StructuredDocumentRegions the same way
-			if ((type == DOMRegionContext.XML_CONTENT) || (type == DOMRegionContext.XML_CHAR_REFERENCE) || (type == DOMRegionContext.XML_ENTITY_REFERENCE) || (type == DOMJSPRegionContexts.JSP_DECLARATION_OPEN)
-						|| (type == DOMJSPRegionContexts.JSP_EXPRESSION_OPEN) || (type == DOMJSPRegionContexts.JSP_SCRIPTLET_OPEN) || (type == DOMJSPRegionContexts.JSP_CONTENT) || (type == DOMJSPRegionContexts.JSP_CLOSE)) {
-				currentNode.setEnded(true);
-			}
-			if (headNode == null && currentNode != null) {
-				headNode = currentNode;
-			}
-		}
-		if (currentNode != null) {
-			fireNodeParsed(currentNode);
-			currentNode.setPrevious(lastNode);
-		}
-		primReset();
-		return headNode;
-	}
-
-	public void removeNestablePrefix(String tagName) {
-		((JSPTokenizer) getTokenizer()).removeNestablePrefix(tagName);
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/parser/internal/JSPParserRegionFactory.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/parser/internal/JSPParserRegionFactory.java
deleted file mode 100644
index 17ee237..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/parser/internal/JSPParserRegionFactory.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.parser.internal;
-
-import org.eclipse.jst.jsp.core.internal.regions.DOMJSPRegionContexts;
-import org.eclipse.wst.sse.core.internal.parser.ForeignRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion;
-import org.eclipse.wst.xml.core.internal.parser.regions.XMLParserRegionFactory;
-
-/**
- * 
- * This region factory is very specific to the parser output, and the specific
- * implementation classes for various regions.
- */
-public class JSPParserRegionFactory extends XMLParserRegionFactory {
-	public JSPParserRegionFactory() {
-		super();
-	}
-
-	public ITextRegion createToken(String context, int start, int textLength, int length, String lang, String surroundingTag) {
-		ITextRegion newRegion = null;
-		if (context == DOMJSPRegionContexts.JSP_CONTENT) {
-			newRegion = new ForeignRegion(context, start, textLength, length);
-		}
-		else
-			newRegion = super.createToken(context, start, textLength, length, lang, surroundingTag);
-		return newRegion;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/parser/internal/JSPStructuredRegionFactory.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/parser/internal/JSPStructuredRegionFactory.java
deleted file mode 100644
index 16be426..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/parser/internal/JSPStructuredRegionFactory.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.parser.internal;
-
-import org.eclipse.jst.jsp.core.internal.parser.JSPDirectiveStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
-import org.eclipse.wst.xml.core.internal.parser.XMLStructuredRegionFactory;
-
-/**
- * A simple class to generate instances of StructuredRegions. 
- */
-public class JSPStructuredRegionFactory extends XMLStructuredRegionFactory {
-
-	public static IStructuredDocumentRegion createRegion(int type) {
-		IStructuredDocumentRegion instance = null;
-		switch (type) {
-			case JSP_DIRECTIVE :
-				instance = new JSPDirectiveStructuredDocumentRegion();
-				break;
-			default :
-				instance = XMLStructuredRegionFactory.createRegion(type);
-		}
-		return instance;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/parser/internal/JSPTokenizer.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/parser/internal/JSPTokenizer.java
deleted file mode 100644
index d3b5101..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/parser/internal/JSPTokenizer.java
+++ /dev/null
@@ -1,3598 +0,0 @@
-/* The following code was generated by JFlex 1.2.2 on 1/27/05 4:49 PM */
-
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*nlsXXX*/
-package org.eclipse.jst.jsp.core.internal.parser.internal;
-
-import java.io.CharArrayReader;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jst.jsp.core.internal.Logger;
-import org.eclipse.jst.jsp.core.internal.regions.DOMJSPRegionContexts;
-import org.eclipse.wst.sse.core.internal.ltk.parser.BlockMarker;
-import org.eclipse.wst.sse.core.internal.ltk.parser.BlockTokenizer;
-import org.eclipse.wst.sse.core.internal.ltk.parser.TagMarker;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegionList;
-import org.eclipse.wst.sse.core.internal.util.Debug;
-import org.eclipse.wst.sse.core.internal.util.StringUtils;
-import org.eclipse.wst.xml.core.internal.parser.ContextRegionContainer;
-import org.eclipse.wst.xml.core.internal.parser.IntStack;
-
-
-/**
- * This class is a scanner generated by 
- * <a href="http://www.informatik.tu-muenchen.de/~kleing/jflex/">JFlex</a> 1.2.2
- * on 1/27/05 4:49 PM from the specification file
- * <tt>file:/D:/eclipse.wtp/workspace/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/JSPTokenizer.jflex</tt>
- */
-public class JSPTokenizer implements BlockTokenizer, DOMJSPRegionContexts {
-
-  /** this character denotes the end of file */
-  final public static int YYEOF = -1;
-
-  /** lexical states */
-  final public static int ST_JSP_VBL_DQUOTES = 52;
-  final public static int ST_JSP_VBL_SQUOTES = 51;
-  final public static int ST_JSP_VBL_SQUOTES_END = 53;
-  final public static int ST_XML_COMMENT_END = 4;
-  final public static int ST_JSP_DIRECTIVE_ATTRIBUTE_VALUE = 21;
-  final public static int ST_JSP_EL_SQUOTES_END = 46;
-  final public static int ST_JSP_EL_DQUOTES = 45;
-  final public static int ST_JSP_EL = 43;
-  final public static int ST_BLOCK_TAG_SCAN = 36;
-  final public static int ST_JSP_EL_SQUOTES = 44;
-  final public static int ST_DHTML_ATTRIBUTE_VALUE = 14;
-  final public static int ST_XML_PI_ATTRIBUTE_NAME = 8;
-  final public static int ST_DHTML_TAG_CLOSE = 15;
-  final public static int ST_XML_ATTRIBUTE_VALUE_DQUOTED = 41;
-  final public static int ST_DHTML_EQUALS = 13;
-  final public static int ST_XML_PI_ATTRIBUTE_VALUE = 10;
-  final public static int ST_XML_ATTRIBUTE_VALUE = 25;
-  final public static int ST_JSP_VBL = 50;
-  final public static int ST_JSP_SQUOTED_VBL = 56;
-  final public static int ST_XML_ATTRIBUTE_VALUE_SQUOTED = 40;
-  final public static int ST_XML_ATTRIBUTE_NAME = 23;
-  final public static int ST_XML_EQUALS = 24;
-  final public static int YYINITIAL = 0;
-  final public static int ST_JSP_DIRECTIVE_ATTRIBUTE_NAME = 19;
-  final public static int ST_JSP_CONTENT = 16;
-  final public static int ST_XML_DOCTYPE_ID_SYSTEM = 31;
-  final public static int ST_XML_ELEMENT_DECLARATION = 32;
-  final public static int ST_XML_DECLARATION_CLOSE = 27;
-  final public static int ST_JSP_DIRECTIVE_EQUALS = 20;
-  final public static int ST_JSP_VBL_DQUOTES_END = 54;
-  final public static int ST_JSP_DQUOTED_EL = 48;
-  final public static int ST_XML_DOCTYPE_DECLARATION = 28;
-  final public static int ST_CDATA_END = 2;
-  final public static int ST_PI_WS = 6;
-  final public static int ST_CDATA_TEXT = 1;
-  final public static int ST_JSP_DIRECTIVE_NAME_WHITESPACE = 18;
-  final public static int ST_XML_ELEMENT_DECLARATION_CONTENT = 33;
-  final public static int ST_XML_ATTLIST_DECLARATION = 34;
-  final public static int ST_JSP_EL_DQUOTES_END = 47;
-  final public static int ST_JSP_SQUOTED_EL = 49;
-  final public static int ST_JSP_COMMENT_END = 39;
-  final public static int ST_XML_PI_EQUALS = 9;
-  final public static int ST_XML_ATTLIST_DECLARATION_CONTENT = 35;
-  final public static int ST_XML_DOCTYPE_ID_PUBLIC = 30;
-  final public static int ST_JSP_DQUOTED_VBL = 55;
-  final public static int ST_DHTML_ATTRIBUTE_NAME = 12;
-  final public static int ST_ABORT_EMBEDDED = 42;
-  final public static int ST_XML_DOCTYPE_EXTERNAL_ID = 29;
-  final public static int ST_JSP_COMMENT = 38;
-  final public static int ST_PI_CONTENT = 7;
-  final public static int ST_BLOCK_TAG_INTERNAL_SCAN = 37;
-  final public static int ST_PI = 5;
-  final public static int ST_XML_DECLARATION = 26;
-  final public static int ST_JSP_DIRECTIVE_NAME = 17;
-  final public static int ST_XML_TAG_NAME = 22;
-  final public static int ST_XML_PI_TAG_CLOSE = 11;
-  final public static int ST_XML_COMMENT = 3;
-
-  /** 
-   * Translates characters to character classes
-   */
-  final private static String yycmap_packed = 
-    "\11\0\1\5\1\26\2\0\1\17\22\0\1\17\1\25\1\12\1\63"+
-    "\1\15\1\22\1\13\1\14\1\24\1\24\1\24\1\24\1\24\1\7"+
-    "\1\6\1\3\12\20\1\11\1\70\1\1\1\50\1\2\1\4\1\21"+
-    "\1\37\1\71\1\35\1\36\1\54\1\66\1\60\1\60\1\61\1\60"+
-    "\1\60\1\32\1\31\1\62\1\51\1\53\1\60\1\65\1\64\1\40"+
-    "\1\67\2\60\1\27\1\52\1\60\1\34\1\102\1\23\1\0\1\10"+
-    "\1\0\1\56\1\101\1\72\1\57\1\42\1\66\1\73\1\60\1\45"+
-    "\1\76\1\60\1\33\1\31\1\47\1\46\1\77\1\60\1\43\1\44"+
-    "\1\55\1\100\1\41\1\60\1\30\1\52\1\60\1\16\1\0\1\103"+
-    "\71\0\1\75\10\0\27\74\1\0\37\74\1\0\72\74\2\0\13\74"+
-    "\2\0\10\74\1\0\65\74\1\0\104\74\11\0\44\74\3\0\2\74"+
-    "\4\0\36\74\70\0\131\74\22\0\7\74\16\0\2\75\56\0\106\75"+
-    "\32\0\2\75\44\0\1\74\1\75\3\74\1\0\1\74\1\0\24\74"+
-    "\1\0\54\74\1\0\7\74\3\0\1\74\1\0\1\74\1\0\1\74"+
-    "\1\0\1\74\1\0\22\74\15\0\14\74\1\0\102\74\1\0\14\74"+
-    "\1\0\44\74\1\0\4\75\11\0\65\74\2\0\2\74\2\0\2\74"+
-    "\3\0\34\74\2\0\10\74\2\0\2\74\67\0\46\74\2\0\1\74"+
-    "\7\0\46\74\12\0\21\75\1\0\27\75\1\0\3\75\1\0\1\75"+
-    "\1\0\2\75\1\0\1\75\13\0\33\74\5\0\3\74\56\0\32\74"+
-    "\5\0\1\75\12\74\10\75\15\0\12\75\6\0\1\75\107\74\2\0"+
-    "\5\74\1\0\17\74\1\0\4\74\1\0\1\74\17\75\2\74\2\75"+
-    "\1\0\4\75\2\0\12\75\u0207\0\3\75\1\0\65\74\2\0\1\75"+
-    "\1\74\20\75\3\0\4\75\3\0\12\74\2\75\2\0\12\75\21\0"+
-    "\3\75\1\0\10\74\2\0\2\74\2\0\26\74\1\0\7\74\1\0"+
-    "\1\74\3\0\4\74\2\0\1\75\1\0\7\75\2\0\2\75\2\0"+
-    "\3\75\11\0\1\75\4\0\2\74\1\0\3\74\2\75\2\0\12\75"+
-    "\2\74\20\0\1\75\2\0\6\74\4\0\2\74\2\0\26\74\1\0"+
-    "\7\74\1\0\2\74\1\0\2\74\1\0\2\74\2\0\1\75\1\0"+
-    "\5\75\4\0\2\75\2\0\3\75\13\0\4\74\1\0\1\74\7\0"+
-    "\12\75\2\75\3\74\14\0\3\75\1\0\7\74\1\0\1\74\1\0"+
-    "\3\74\1\0\26\74\1\0\7\74\1\0\2\74\1\0\5\74\2\0"+
-    "\1\75\1\74\10\75\1\0\3\75\1\0\3\75\22\0\1\74\5\0"+
-    "\12\75\21\0\3\75\1\0\10\74\2\0\2\74\2\0\26\74\1\0"+
-    "\7\74\1\0\2\74\2\0\4\74\2\0\1\75\1\74\6\75\3\0"+
-    "\2\75\2\0\3\75\10\0\2\75\4\0\2\74\1\0\3\74\4\0"+
-    "\12\75\22\0\2\75\1\0\6\74\3\0\3\74\1\0\4\74\3\0"+
-    "\2\74\1\0\1\74\1\0\2\74\3\0\2\74\3\0\3\74\3\0"+
-    "\10\74\1\0\3\74\4\0\5\75\3\0\3\75\1\0\4\75\11\0"+
-    "\1\75\17\0\11\75\21\0\3\75\1\0\10\74\1\0\3\74\1\0"+
-    "\27\74\1\0\12\74\1\0\5\74\4\0\7\75\1\0\3\75\1\0"+
-    "\4\75\7\0\2\75\11\0\2\74\4\0\12\75\22\0\2\75\1\0"+
-    "\10\74\1\0\3\74\1\0\27\74\1\0\12\74\1\0\5\74\4\0"+
-    "\7\75\1\0\3\75\1\0\4\75\7\0\2\75\7\0\1\74\1\0"+
-    "\2\74\4\0\12\75\22\0\2\75\1\0\10\74\1\0\3\74\1\0"+
-    "\27\74\1\0\20\74\4\0\6\75\2\0\3\75\1\0\4\75\11\0"+
-    "\1\75\10\0\2\74\4\0\12\75\221\0\56\74\1\0\1\74\1\75"+
-    "\2\74\7\75\5\0\6\74\1\75\10\75\1\0\12\75\47\0\2\74"+
-    "\1\0\1\74\2\0\2\74\1\0\1\74\2\0\1\74\6\0\4\74"+
-    "\1\0\7\74\1\0\3\74\1\0\1\74\1\0\1\74\2\0\2\74"+
-    "\1\0\2\74\1\0\1\74\1\75\2\74\6\75\1\0\2\75\1\74"+
-    "\2\0\5\74\1\0\1\75\1\0\6\75\2\0\12\75\76\0\2\75"+
-    "\6\0\12\75\13\0\1\75\1\0\1\75\1\0\1\75\4\0\2\75"+
-    "\10\74\1\0\41\74\7\0\24\75\1\0\6\75\4\0\6\75\1\0"+
-    "\1\75\1\0\25\75\3\0\7\75\1\0\1\75\346\0\46\74\12\0"+
-    "\47\74\11\0\1\74\1\0\2\74\1\0\3\74\1\0\1\74\1\0"+
-    "\2\74\1\0\5\74\51\0\1\74\1\0\1\74\1\0\1\74\13\0"+
-    "\1\74\1\0\1\74\1\0\1\74\3\0\2\74\3\0\1\74\5\0"+
-    "\3\74\1\0\1\74\1\0\1\74\1\0\1\74\1\0\1\74\3\0"+
-    "\2\74\3\0\2\74\1\0\1\74\50\0\1\74\11\0\1\74\2\0"+
-    "\1\74\2\0\2\74\7\0\2\74\1\0\1\74\1\0\7\74\50\0"+
-    "\1\74\4\0\1\74\10\0\1\74\u0c06\0\234\74\4\0\132\74\6\0"+
-    "\26\74\2\0\6\74\2\0\46\74\2\0\6\74\2\0\10\74\1\0"+
-    "\1\74\1\0\1\74\1\0\1\74\1\0\37\74\2\0\65\74\1\0"+
-    "\7\74\1\0\1\74\3\0\3\74\1\0\7\74\3\0\4\74\2\0"+
-    "\6\74\4\0\15\74\5\0\3\74\1\0\7\74\323\0\15\75\4\0"+
-    "\1\75\104\0\1\74\3\0\2\74\2\0\1\74\121\0\3\74\u0e82\0"+
-    "\1\75\1\0\1\74\31\0\11\74\6\75\1\0\5\75\13\0\124\74"+
-    "\4\0\2\75\2\0\2\75\2\0\132\74\1\0\3\75\6\0\50\74"+
-    "\u1cd3\0\u51a6\74\u0c5a\0\u2ba4\74\134\0\u0800\0\u1ffe\0\2\0";
-
-  /** 
-   * Translates characters to character classes
-   */
-  final private static char [] yycmap = yy_unpack_cmap(yycmap_packed);
-
-  /** 
-   * Translates a state to a row index in the transition table
-   */
-  final private static int yy_rowMap [] = { 
-        0,    68,   136,   204,   272,   340,   408,   476,   544,   612, 
-      680,   748,   816,   884,   952,  1020,  1088,  1156,  1224,  1292, 
-     1360,  1428,  1496,  1564,  1632,  1700,  1768,  1836,  1904,  1972, 
-     2040,  2108,  2176,  2244,  2312,  2380,  2448,  2516,  2584,  2652, 
-     2720,  2788,  2856,  2924,  2992,  3060,  3128,  3196,  3264,  3332, 
-     3400,  3468,  3536,  3604,  3672,  3740,  3808,  3876,  3944,  4012, 
-     4080,  4148,  4216,  4284,  4352,  4284,  4352,  4420,  4284,  4284, 
-     4352,  4488,  4556,  4624,  4692,  4760,  4828,  4896,  4284,  4352, 
-     4964,  5032,  5100,  4284,  5168,  5168,  5236,  5304,  5372,  4964, 
-     4284,  5440,  5508,  4284,  5576,  5644,  5712,  5780,  4284,  4352, 
-     5848,  5916,  5984,  6052,  6120,  6188,  4284,  6256,  6256,  6324, 
-     6392,  6460,  6528,  6596,  4284,  6664,  6732,  6800,  6868,  6936, 
-     7004,  4284,  7072,  7140,  7208,  7276,  7344,  7412,  7480,  7548, 
-     4284,  7616,  7684,  7752,  7820,  7888,  7956,  8024,  8092,  8092, 
-     8160,  8228,  8296,  8364,  8364,  8432,  8500,  8568,  8636,  8636, 
-     8704,  8772,  8840,  8908,  4284,  8976,  8976,  9044,  9112,  9180, 
-     9248,  4284,  4284,  4352,  9316,  4284,  4352,  9384,  9452,  9520, 
-     9588,  4284,  9656,  9724,  9792,  9860,  4284,  9928,  9996, 10064, 
-    10132,  4284,  4284, 10200,  4284, 10268, 10336, 10268, 10404, 10472, 
-    10404,  4284,  4284, 10540, 10608, 10676,  4284, 10744, 10812, 10880, 
-    10948, 11016,  4284,  4284, 11084,  4284, 11152, 11220, 11152, 11288, 
-    11356, 11288,  4284,  4284, 11424, 11492, 11560,  4284, 11628, 11696, 
-    11764,  4284,  4284, 11832, 11900, 11968, 12036, 12104,  4284, 12172, 
-    12240, 12308, 12376, 12444, 12512, 12580, 12648, 12716,  4284, 12784, 
-    12852,  4284,  4284,  5168,  5304,  4284, 12920,  5372, 12988,  5440, 
-     5576,  5644, 13056,  5712,  4284, 13124, 13192,  5780, 13260,  4284, 
-    11900,  4284,  6256,  6324,  4284, 13328,  6392, 13396,  4284, 13464, 
-    13532,  7072, 13600,  7276,  4284, 13668,  7344, 13736, 13804, 13872, 
-    13940, 14008, 14076,  7820,  4284, 14144, 14212,  8092,  8160,  4284, 
-    14280, 14348, 14416, 14484, 14552,  8296,  8092,  8364,  8432,  4284, 
-     8500,  8568,  8364,  8636,  8704,  4284, 14620, 14688, 14756, 14824, 
-    14892, 14960, 15028,  8976,  9044,  4284, 15096, 15164, 15232, 15300, 
-    15368, 15436, 15504, 15572, 15640, 15708,  4284,  4284,  4284, 15776, 
-     4284,  4284, 15844, 15912, 15980, 16048, 10268,  4284, 16116, 16184, 
-    10404,  4284, 16252, 16320, 16388, 16456, 16524, 16592, 16660, 16728, 
-    16796, 10948, 11152,  4284, 16864, 16932, 11288,  4284, 17000, 17068, 
-    17136, 17204, 17272, 17340, 17408, 17476, 17544,  4284,  4284,  4284, 
-    17612, 17680, 17748, 17816, 17884,  4284, 17952, 18020,  4284,  4284, 
-     4284,  4284,  4284,  4692, 18088, 18156, 18224, 18292, 18360, 18428, 
-    18360, 18496, 18564, 18496, 18632, 18700, 18768, 18836, 18904, 18972, 
-    19040, 19040, 19108, 19176, 19176,  8840,  8840, 19244, 19312, 19380, 
-    19380,  9180,  9180, 19448, 19516, 19584, 15980, 10064, 10064, 19652, 
-    10268, 10268, 19720, 10404, 10404, 19788, 10540, 10540, 16524, 19856, 
-    10744, 10744, 16728, 19924, 10948, 10948, 11152, 11152, 19992, 11288, 
-    11288, 20060, 11424, 11424, 17272, 20128, 11628, 11628, 17476, 20196, 
-     4284,  4284, 20264, 20332,  4284, 20400, 20468, 20536,  7072,  4284, 
-     4284, 20604, 20672, 20740, 20808, 20876, 14484, 14824, 20944, 15300, 
-    21012,  4284,  4284, 21080, 21148, 21216,  4284, 21284, 21352, 21420, 
-    21488,  4284, 21556, 21624, 21692, 21760, 21828, 21896, 21964, 22032, 
-    22100, 22168, 22236, 22304, 22372, 22440, 22508, 22576, 22644, 22712, 
-    22780, 22848, 22916,  4692, 22984, 23052, 23120, 23188, 23256,  4284, 
-     4284, 23324, 23392, 23460, 23528, 16524, 16728, 23596, 23664, 17272, 
-    17476, 23732, 23800, 23868,  4284,  4284,  4284, 23936, 24004, 24072, 
-    24140, 24208, 24276, 24344,  6800, 24412, 24480, 24548, 24616, 24684, 
-    24752, 24820,  4284, 24888,  8840,  9180, 10268, 10404, 11152, 11288, 
-    24956, 25024, 25092, 25160, 25228, 25296, 25364, 25432, 25500, 25568, 
-    25636, 25704, 25772, 25840, 25908, 25976, 26044, 26112, 26180, 26248, 
-    26316, 26384, 26452, 26520, 26588, 26656, 26724, 26792, 26860, 26928, 
-    26996, 27064, 27132, 27200, 27268, 27336, 27404, 27472, 27540, 27608, 
-     4284, 27676, 27744, 27812, 27880,  6800, 27948, 28016, 28084, 28152, 
-    28220, 28288, 28356, 28424, 28492, 28560, 28628, 28696, 28764, 28832
-  };
-
-  /** 
-   * The packed transition table of the DFA
-   */
-  final private static String yy_packed = 
-    "\1\72\1\73\11\72\1\74\1\72\1\75\4\72\1\76"+
-    "\40\72\1\77\20\72\1\100\1\101\102\100\1\102\1\103"+
-    "\21\102\1\104\2\102\1\105\55\102\1\106\1\107\102\106"+
-    "\1\102\1\103\5\102\1\110\16\102\1\105\56\102\1\103"+
-    "\2\102\1\111\1\112\2\102\2\113\5\102\1\112\6\102"+
-    "\1\112\2\114\3\113\1\102\10\113\1\115\2\113\1\102"+
-    "\10\113\1\115\1\113\1\102\4\113\1\102\4\113\1\102"+
-    "\4\113\3\102\1\103\2\102\1\111\1\116\11\102\1\116"+
-    "\6\102\1\116\55\102\1\117\1\120\2\117\1\121\21\117"+
-    "\1\105\55\117\1\102\1\103\2\102\1\122\1\112\2\102"+
-    "\2\123\5\102\1\112\6\102\1\112\5\123\1\102\13\123"+
-    "\1\102\12\123\1\102\4\123\1\102\4\123\1\102\4\123"+
-    "\3\102\1\103\2\102\1\122\1\112\2\102\2\123\5\102"+
-    "\1\112\6\102\1\112\5\123\1\102\13\123\1\124\12\123"+
-    "\1\102\4\123\1\102\4\123\1\102\4\123\2\102\1\125"+
-    "\1\103\1\102\1\126\1\127\1\112\4\125\1\130\1\125"+
-    "\1\131\2\125\1\112\6\125\1\112\55\125\1\102\1\103"+
-    "\2\102\1\132\21\102\1\105\56\102\1\103\1\133\1\134"+
-    "\1\102\1\112\2\102\2\135\5\102\1\112\6\102\1\112"+
-    "\5\135\1\102\13\135\1\102\12\135\1\102\4\135\1\102"+
-    "\4\135\1\102\4\135\3\102\1\103\1\133\1\134\1\102"+
-    "\1\112\2\102\2\135\5\102\1\112\6\102\1\112\5\135"+
-    "\1\102\13\135\1\136\12\135\1\102\4\135\1\102\4\135"+
-    "\1\102\4\135\2\102\1\137\1\103\1\133\1\140\1\137"+
-    "\1\112\4\137\1\141\1\137\1\142\2\137\1\112\6\137"+
-    "\1\112\55\137\1\102\1\103\3\102\1\112\11\102\1\112"+
-    "\6\102\1\112\55\102\1\143\1\144\20\143\1\145\3\143"+
-    "\1\105\55\143\1\102\1\146\3\102\1\112\2\102\2\147"+
-    "\5\102\1\112\2\102\1\150\3\102\1\112\5\147\1\102"+
-    "\13\147\1\102\12\147\1\102\4\147\1\102\4\147\1\102"+
-    "\4\147\3\102\1\146\3\102\1\151\11\102\1\151\2\102"+
-    "\1\150\3\102\1\151\56\102\1\146\3\102\1\112\2\102"+
-    "\2\152\5\102\1\112\2\102\1\150\3\102\1\112\5\152"+
-    "\1\102\13\152\1\102\12\152\1\102\4\152\1\102\4\152"+
-    "\1\102\4\152\3\102\1\146\3\102\1\112\2\102\2\152"+
-    "\5\102\1\112\2\102\1\150\3\102\1\112\5\152\1\102"+
-    "\13\152\1\153\12\152\1\102\4\152\1\102\4\152\1\102"+
-    "\4\152\2\102\1\154\1\146\1\102\1\155\1\154\1\112"+
-    "\4\154\1\156\1\154\1\157\2\154\1\112\2\154\1\160"+
-    "\3\154\1\112\55\154\1\161\1\162\1\163\1\164\4\161"+
-    "\2\165\15\161\5\166\1\161\13\166\1\161\12\166\1\161"+
-    "\4\166\1\161\4\166\1\161\1\167\3\166\2\161\1\102"+
-    "\1\170\1\163\1\164\1\102\1\112\2\102\2\171\5\102"+
-    "\1\112\6\102\1\112\5\171\1\102\13\171\1\102\12\171"+
-    "\1\102\4\171\1\102\4\171\1\102\4\171\3\102\1\170"+
-    "\1\163\1\164\1\102\1\112\2\102\2\171\5\102\1\112"+
-    "\6\102\1\112\5\171\1\102\13\171\1\172\12\171\1\102"+
-    "\4\171\1\102\4\171\1\102\4\171\2\102\1\173\1\174"+
-    "\1\163\1\175\1\173\1\112\4\173\1\176\1\173\1\177"+
-    "\1\200\1\173\1\112\6\173\1\112\34\173\1\201\20\173"+
-    "\1\102\1\202\1\203\2\102\1\112\11\102\1\112\6\102"+
-    "\1\112\7\102\1\204\1\205\2\102\1\206\11\102\1\206"+
-    "\1\102\1\205\1\204\25\102\1\103\1\203\2\102\1\112"+
-    "\11\102\1\112\6\102\1\112\5\102\1\207\50\102\1\103"+
-    "\1\203\2\102\1\112\2\102\2\210\5\102\1\112\6\102"+
-    "\1\112\5\210\1\207\13\210\1\102\12\210\1\102\4\210"+
-    "\1\102\4\210\1\102\4\210\3\102\1\103\1\203\2\102"+
-    "\1\112\11\102\1\112\6\102\1\112\5\102\1\207\7\102"+
-    "\1\211\6\102\1\212\10\102\1\211\12\102\1\212\4\102"+
-    "\1\213\1\103\1\203\1\214\1\213\1\112\4\213\1\215"+
-    "\1\213\1\216\2\213\1\112\6\213\1\112\5\213\1\217"+
-    "\47\213\1\220\1\103\1\203\1\221\1\220\1\112\4\220"+
-    "\1\222\1\220\1\223\2\220\1\112\6\220\1\112\5\220"+
-    "\1\224\47\220\1\225\1\103\1\203\1\226\1\225\1\112"+
-    "\4\225\1\227\1\225\1\230\2\225\1\112\6\225\1\112"+
-    "\55\225\1\231\1\232\1\233\101\231\1\234\1\103\1\203"+
-    "\1\235\1\234\1\112\4\234\1\236\1\234\1\237\2\234"+
-    "\1\112\6\234\1\112\55\234\1\240\1\241\1\242\101\240"+
-    "\1\243\1\244\102\243\1\102\1\245\24\102\1\105\55\102"+
-    "\1\246\1\247\102\246\1\102\1\103\5\102\1\250\16\102"+
-    "\1\105\55\102\1\251\1\252\3\251\1\253\6\251\1\254"+
-    "\1\255\1\251\1\253\6\251\1\253\34\251\1\256\20\251"+
-    "\1\257\1\252\3\257\1\260\4\257\1\261\2\257\1\262"+
-    "\1\257\1\260\6\257\1\260\34\257\1\263\20\257\1\102"+
-    "\1\103\24\102\1\105\55\102\1\264\1\265\10\264\1\266"+
-    "\1\264\1\267\1\270\65\264\1\271\1\272\1\273\12\272"+
-    "\1\102\11\272\1\274\55\272\1\275\1\276\10\275\1\102"+
-    "\13\275\1\277\55\275\1\102\1\103\12\102\1\300\11\102"+
-    "\1\105\56\102\1\103\10\102\1\301\13\102\1\105\55\102"+
-    "\1\302\1\303\10\302\1\261\67\302\1\304\1\305\1\306"+
-    "\1\307\12\306\1\254\65\306\1\310\1\305\1\311\1\312"+
-    "\10\311\1\313\1\311\1\314\46\311\1\315\17\311\1\316"+
-    "\1\317\1\320\12\317\1\102\11\317\1\321\55\317\1\322"+
-    "\1\323\10\322\1\102\13\322\1\324\55\322\1\102\1\103"+
-    "\12\102\1\325\11\102\1\105\56\102\1\103\10\102\1\326"+
-    "\13\102\1\105\55\102\1\327\1\330\10\327\1\261\67\327"+
-    "\1\331\1\332\1\333\1\334\12\333\1\254\65\333\1\335"+
-    "\1\332\1\72\1\0\11\72\1\0\1\72\1\0\4\72"+
-    "\1\0\40\72\1\0\20\72\3\0\1\336\1\337\15\0"+
-    "\1\340\2\0\1\341\63\0\1\342\2\0\2\343\5\0"+
-    "\1\342\6\0\1\342\5\343\1\0\13\343\1\0\12\343"+
-    "\1\344\4\343\1\0\4\343\1\0\4\343\2\0\1\345"+
-    "\1\0\11\345\1\0\1\345\1\346\1\347\3\345\1\0"+
-    "\61\345\5\0\1\342\2\0\2\350\5\0\1\342\6\0"+
-    "\1\342\5\350\1\0\13\350\1\0\12\350\1\0\4\350"+
-    "\1\0\4\350\1\0\4\350\2\0\1\345\1\0\11\345"+
-    "\1\0\2\345\1\351\3\345\1\0\40\345\1\352\20\345"+
-    "\126\0\1\353\2\0\1\354\101\0\1\355\67\0\1\356"+
-    "\76\0\1\357\106\0\1\112\11\0\1\112\6\0\1\112"+
-    "\63\0\4\113\6\0\1\113\6\0\5\113\1\0\13\113"+
-    "\1\0\12\113\1\0\4\113\1\0\11\113\10\0\4\113"+
-    "\6\0\1\113\6\0\2\113\1\360\2\113\1\0\13\113"+
-    "\1\0\12\113\1\0\4\113\1\0\11\113\10\0\4\113"+
-    "\6\0\1\113\6\0\2\113\1\361\2\113\1\0\13\113"+
-    "\1\0\12\113\1\0\4\113\1\0\11\113\7\0\1\116"+
-    "\11\0\1\116\6\0\1\116\57\0\1\362\103\0\1\363"+
-    "\107\0\4\123\6\0\1\123\6\0\5\123\1\0\13\123"+
-    "\1\0\12\123\1\0\4\123\1\0\11\123\2\0\1\125"+
-    "\2\0\1\364\1\125\1\0\4\125\1\0\1\125\1\0"+
-    "\2\125\1\0\6\125\1\0\56\125\1\0\1\363\1\364"+
-    "\1\125\1\0\4\125\1\0\1\125\1\0\2\125\1\0"+
-    "\6\125\1\0\55\125\1\365\1\0\10\365\1\366\2\365"+
-    "\1\367\45\365\1\367\20\365\1\370\1\0\12\370\1\366"+
-    "\1\371\45\370\1\371\20\370\2\0\1\133\1\372\106\0"+
-    "\4\135\6\0\1\135\6\0\5\135\1\0\13\135\1\0"+
-    "\12\135\1\0\4\135\1\0\11\135\2\0\1\137\2\0"+
-    "\1\373\1\137\1\0\4\137\1\0\1\137\1\0\2\137"+
-    "\1\0\6\137\1\0\56\137\1\0\1\133\1\374\1\137"+
-    "\1\0\4\137\1\0\1\137\1\0\2\137\1\0\6\137"+
-    "\1\0\55\137\1\141\1\0\1\375\1\376\1\141\1\375"+
-    "\4\141\1\377\1\141\1\375\1\u0100\1\141\1\375\6\141"+
-    "\1\375\34\141\1\u0100\20\141\1\142\1\0\1\u0101\1\u0102"+
-    "\1\142\1\u0101\4\142\1\u0101\1\142\1\377\1\u0103\1\142"+
-    "\1\u0101\6\142\1\u0101\34\142\1\u0103\20\142\2\0\1\u0104"+
-    "\123\0\1\353\2\0\1\u0105\64\0\4\147\6\0\1\147"+
-    "\6\0\5\147\1\0\13\147\1\0\12\147\1\0\4\147"+
-    "\1\0\11\147\4\0\1\u0106\106\0\1\151\11\0\1\151"+
-    "\6\0\1\151\63\0\4\152\6\0\1\152\6\0\5\152"+
-    "\1\0\13\152\1\0\12\152\1\0\4\152\1\0\11\152"+
-    "\2\0\1\154\2\0\1\u0107\1\154\1\0\4\154\1\0"+
-    "\1\154\1\0\2\154\1\0\6\154\1\0\55\154\1\u0108"+
-    "\1\0\10\u0108\1\u0109\2\u0108\1\u010a\45\u0108\1\u010a\20\u0108"+
-    "\1\u010b\1\0\12\u010b\1\u0109\1\u010c\45\u010b\1\u010c\20\u010b"+
-    "\1\154\1\0\1\u0106\1\u0107\1\154\1\0\4\154\1\0"+
-    "\1\154\1\0\2\154\1\0\6\154\1\0\55\154\1\161"+
-    "\3\0\23\161\5\0\1\161\13\0\1\161\12\0\1\161"+
-    "\4\0\1\161\4\0\1\161\4\0\2\161\3\0\1\336"+
-    "\16\0\1\353\2\0\1\341\60\0\1\u010d\101\0\1\161"+
-    "\3\0\2\161\4\165\6\161\1\165\6\161\5\166\1\161"+
-    "\13\166\1\161\12\166\1\161\4\166\1\161\4\166\1\165"+
-    "\4\166\2\161\6\0\4\166\6\0\1\166\6\0\5\166"+
-    "\1\0\13\166\1\0\12\166\1\0\4\166\1\0\11\166"+
-    "\10\0\4\166\6\0\1\166\6\0\5\166\1\0\7\166"+
-    "\1\u010e\3\166\1\0\12\166\1\0\4\166\1\0\11\166"+
-    "\5\0\1\336\4\0\2\u010f\10\0\1\353\2\0\1\341"+
-    "\1\0\5\u010f\1\0\13\u010f\1\0\12\u010f\1\0\4\u010f"+
-    "\1\0\4\u010f\1\0\4\u010f\10\0\4\171\6\0\1\171"+
-    "\6\0\5\171\1\0\13\171\1\0\12\171\1\0\4\171"+
-    "\1\0\11\171\2\0\1\173\2\0\1\u0110\1\173\1\0"+
-    "\4\173\1\0\1\173\1\0\2\173\1\0\6\173\1\0"+
-    "\55\173\3\0\1\336\4\0\2\u0111\10\0\1\353\2\0"+
-    "\1\341\1\0\5\u0111\1\0\13\u0111\1\0\12\u0111\1\0"+
-    "\4\u0111\1\0\4\u0111\1\0\4\u0111\2\0\1\173\1\0"+
-    "\1\u010d\1\u0110\1\173\1\0\4\173\1\0\1\173\1\0"+
-    "\2\173\1\0\6\173\1\0\55\173\1\u0112\1\0\10\u0112"+
-    "\1\u0113\2\u0112\1\u0114\45\u0112\1\u0114\20\u0112\1\u0115\1\0"+
-    "\12\u0115\1\u0113\1\u0116\45\u0115\1\u0116\20\u0115\1\173\2\0"+
-    "\1\u0110\1\173\1\0\4\173\1\0\1\173\1\0\1\173"+
-    "\1\u0117\1\0\6\173\1\0\56\173\2\0\1\u0110\1\173"+
-    "\1\0\4\173\1\0\1\173\1\0\1\173\1\u0118\1\0"+
-    "\6\173\1\0\55\173\3\0\1\336\16\0\1\353\2\0"+
-    "\1\u0105\124\0\1\u0119\2\0\1\u0119\72\0\1\u011a\14\0"+
-    "\1\u011a\60\0\2\u011b\50\0\23\u011c\1\u011d\60\u011c\6\0"+
-    "\4\210\6\0\1\210\6\0\5\210\1\0\13\210\1\0"+
-    "\12\210\1\0\4\210\1\0\11\210\54\0\1\u011e\120\0"+
-    "\1\u011f\10\0\1\u011f\3\0\1\213\2\0\1\u0120\1\213"+
-    "\1\0\4\213\1\0\1\213\1\0\2\213\1\0\6\213"+
-    "\1\0\55\213\1\u0121\1\0\10\u0121\1\u0122\2\u0121\1\u0123"+
-    "\45\u0121\1\u0123\20\u0121\1\u0124\1\0\1\u0124\2\u0125\1\u0124"+
-    "\4\u0125\2\u0124\1\u0126\1\u0127\1\u0124\4\u0125\1\u0124\10\u0125"+
-    "\1\u0124\26\u0125\1\u0127\10\u0125\2\u0124\4\u0125\2\u0124\1\217"+
-    "\2\u011c\1\u0128\1\217\1\u011c\4\217\1\u011c\1\217\1\u011c"+
-    "\2\217\1\u011c\3\217\1\u0129\2\217\1\u011c\55\217\1\220"+
-    "\2\0\1\u012a\1\220\1\0\4\220\1\0\1\220\1\0"+
-    "\2\220\1\0\6\220\1\0\55\220\12\u012b\1\u012c\71\u012b"+
-    "\14\u012d\1\u012c\67\u012d\1\224\2\u011c\1\u012e\1\224\1\u011c"+
-    "\4\224\1\u011c\1\224\1\u011c\2\224\1\u011c\3\224\1\u012f"+
-    "\2\224\1\u011c\55\224\1\225\2\0\1\u0130\1\225\1\0"+
-    "\4\225\1\0\1\225\1\0\2\225\1\0\6\225\1\0"+
-    "\55\225\1\u0131\1\0\10\u0131\1\u0132\2\u0131\1\u0133\45\u0131"+
-    "\1\u0133\20\u0131\1\u0134\1\0\1\u0134\2\u0135\1\u0134\4\u0135"+
-    "\2\u0134\1\u0136\1\u0137\1\u0134\4\u0135\1\u0134\10\u0135\1\u0134"+
-    "\26\u0135\1\u0137\10\u0135\2\u0134\4\u0135\2\u0134\2\231\1\0"+
-    "\103\231\1\0\17\231\1\u0138\2\231\1\u0139\56\231\1\234"+
-    "\2\0\1\u013a\1\234\1\0\4\234\1\0\1\234\1\0"+
-    "\2\234\1\0\6\234\1\0\55\234\1\u013b\1\0\10\u013b"+
-    "\1\u013c\2\u013b\1\u013d\45\u013b\1\u013d\20\u013b\1\u013e\1\0"+
-    "\1\u013e\2\u013f\1\u013e\4\u013f\2\u013e\1\u0140\1\u0141\1\u013e"+
-    "\4\u013f\1\u013e\10\u013f\1\u013e\26\u013f\1\u0141\10\u013f\2\u013e"+
-    "\4\u013f\2\u013e\2\240\1\0\103\240\1\0\17\240\1\u0142"+
-    "\2\240\1\u0143\56\240\22\0\1\u0144\2\0\1\354\65\0"+
-    "\1\u0145\74\0\1\251\1\0\12\251\1\0\1\u0146\45\251"+
-    "\1\u0146\20\251\3\0\1\u0147\16\0\1\353\2\0\1\354"+
-    "\56\0\1\251\1\0\3\251\1\253\6\251\1\0\1\u0146"+
-    "\1\251\1\253\6\251\1\253\34\251\1\u0146\36\251\1\u0148"+
-    "\103\251\1\u0149\65\251\1\257\1\0\10\257\1\0\2\257"+
-    "\1\u014a\45\257\1\u014a\21\257\1\0\3\257\1\260\4\257"+
-    "\1\0\2\257\1\u014a\1\257\1\260\6\257\1\260\34\257"+
-    "\1\u014a\36\257\1\u014b\103\257\1\u014c\65\257\12\264\1\0"+
-    "\1\264\1\0\1\u014d\65\264\1\0\12\264\1\0\1\264"+
-    "\1\0\1\u014d\4\264\1\u014e\60\264\1\0\12\264\1\0"+
-    "\1\264\1\0\1\264\1\u014f\64\264\1\u0150\14\u0151\1\u0152"+
-    "\103\u0151\1\u0152\5\u0151\1\u0153\2\u0151\1\u0154\56\u0151\12\u0155"+
-    "\1\u0156\103\u0155\1\u0156\7\u0155\1\u0157\2\u0155\1\u0158\56\u0155"+
-    "\12\302\1\0\67\302\1\u0159\1\0\12\302\1\0\7\302"+
-    "\1\u015a\57\302\1\u0159\1\0\12\302\1\u015b\71\302\14\306"+
-    "\1\0\65\306\1\u015c\1\0\14\306\1\0\5\306\1\u015d"+
-    "\57\306\1\u015c\1\0\14\306\1\u015e\67\306\12\311\1\0"+
-    "\1\311\1\0\66\311\1\0\12\311\1\0\1\311\1\0"+
-    "\5\311\1\u015f\60\311\1\0\12\311\1\0\1\311\1\0"+
-    "\1\311\1\u0160\64\311\1\0\14\u0161\1\u0162\103\u0161\1\u0162"+
-    "\5\u0161\1\u0163\2\u0161\1\u0164\56\u0161\12\u0165\1\u0166\103\u0165"+
-    "\1\u0166\7\u0165\1\u0167\2\u0165\1\u0168\56\u0165\12\327\1\0"+
-    "\67\327\1\u0169\1\0\12\327\1\0\7\327\1\u016a\57\327"+
-    "\1\u0169\1\0\12\327\1\u016b\71\327\14\333\1\0\65\333"+
-    "\1\u016c\1\0\14\333\1\0\5\333\1\u016d\57\333\1\u016c"+
-    "\1\0\14\333\1\u016e\67\333\7\0\1\u016f\11\0\1\u0170"+
-    "\3\0\1\u0171\22\0\1\u0172\42\0\1\u0173\24\0\1\u0174"+
-    "\54\0\1\342\2\0\2\u0175\5\0\1\342\6\0\1\342"+
-    "\5\u0175\1\0\13\u0175\1\0\12\u0175\1\0\4\u0175\1\0"+
-    "\4\u0175\1\0\4\u0175\2\0\1\u0176\1\0\3\u0176\1\u0177"+
-    "\4\343\1\u0176\1\0\3\u0176\1\u0177\1\343\1\u0176\1\0"+
-    "\3\u0176\1\u0177\5\343\1\u0176\13\343\1\u0176\12\343\1\u0176"+
-    "\4\343\1\u0178\11\343\2\u0176\20\0\1\u0179\7\0\1\u017a"+
-    "\70\0\1\346\66\0\103\347\1\u017b\1\u0176\1\0\3\u0176"+
-    "\1\u0177\4\350\1\u0176\1\0\3\u0176\1\u0177\1\350\1\u0176"+
-    "\1\0\3\u0176\1\u0177\5\350\1\u0176\13\350\1\u0176\12\350"+
-    "\1\u0176\4\350\1\u017c\11\350\2\u0176\103\351\1\u017d\63\0"+
-    "\1\352\45\0\1\u0171\22\0\1\u0172\67\0\1\u0174\51\0"+
-    "\1\u017e\103\0\1\u017f\107\0\4\113\6\0\1\113\6\0"+
-    "\3\113\2\u0180\1\0\13\113\1\0\12\113\1\0\4\113"+
-    "\1\0\11\113\10\0\4\113\6\0\1\113\6\0\5\113"+
-    "\1\0\13\113\1\0\2\113\1\u0181\7\113\1\0\4\113"+
-    "\1\0\6\113\1\u0181\2\113\2\0\12\365\1\366\3\365"+
-    "\1\0\65\365\14\370\1\366\1\370\1\0\65\370\1\375"+
-    "\1\0\10\375\1\377\2\375\1\u0182\45\375\1\u0182\20\375"+
-    "\1\141\2\375\1\376\1\141\1\375\4\141\1\377\1\141"+
-    "\1\375\1\141\1\137\1\375\6\141\1\375\55\141\1\u0101"+
-    "\1\0\12\u0101\1\377\1\u0183\45\u0101\1\u0183\20\u0101\1\142"+
-    "\2\u0101\1\u0102\1\142\1\u0101\4\142\1\u0101\1\142\1\377"+
-    "\1\142\1\137\1\u0101\6\142\1\u0101\55\142\12\u0108\1\u0109"+
-    "\3\u0108\1\0\65\u0108\14\u010b\1\u0109\1\u010b\1\0\65\u010b"+
-    "\6\0\4\166\6\0\1\166\6\0\5\166\1\0\13\166"+
-    "\1\0\12\166\1\0\4\166\1\0\6\166\1\u0184\2\166"+
-    "\10\0\4\u010f\6\0\1\u010f\6\0\5\u010f\1\0\13\u010f"+
-    "\1\0\12\u010f\1\0\4\u010f\1\0\11\u010f\10\0\4\u0111"+
-    "\6\0\1\u0111\6\0\5\u0111\1\0\13\u0111\1\0\12\u0111"+
-    "\1\0\4\u0111\1\0\11\u0111\2\0\12\u0112\1\u0113\3\u0112"+
-    "\1\0\65\u0112\14\u0115\1\u0113\1\u0115\1\0\65\u0115\1\u0185"+
-    "\2\u0186\1\u0187\1\u0185\1\u0186\4\u0185\1\u0186\1\u0185\1\u0186"+
-    "\2\u0185\1\u0186\6\u0185\1\u0186\54\u0185\1\173\1\u0188\2\u0189"+
-    "\1\u018a\1\u0188\1\u0189\4\u0188\1\u0189\1\u0188\1\u0189\2\u0188"+
-    "\1\u0189\6\u0188\1\u0189\54\u0188\1\173\35\0\1\u018b\34\0"+
-    "\1\u018b\51\0\1\u018c\14\0\1\u018c\70\0\1\u018d\11\0"+
-    "\1\u018d\73\0\1\u018e\17\0\1\u018e\110\0\1\u018f\7\0"+
-    "\1\u018f\2\0\12\u0121\1\u0122\3\u0121\1\0\65\u0121\1\u0124"+
-    "\1\0\12\u0124\1\u0122\1\u0190\45\u0124\1\u0190\21\u0124\1\0"+
-    "\12\u0124\1\u0191\1\u0190\45\u0124\1\u0190\20\u0124\14\0\1\u0192"+
-    "\67\0\14\u0124\1\u0191\1\u0124\1\0\65\u0124\12\u0131\1\u0132"+
-    "\3\u0131\1\0\65\u0131\1\u0134\1\0\12\u0134\1\u0132\1\u0193"+
-    "\45\u0134\1\u0193\21\u0134\1\0\12\u0134\1\u0194\1\u0193\45\u0134"+
-    "\1\u0193\20\u0134\14\0\1\u0195\67\0\14\u0134\1\u0194\1\u0134"+
-    "\1\0\65\u0134\2\231\1\0\22\231\1\u0196\22\231\1\u0197"+
-    "\35\231\1\0\31\231\1\u0198\47\231\12\u013b\1\u013c\3\u013b"+
-    "\1\0\65\u013b\1\u013e\1\0\12\u013e\1\u013c\1\u0199\45\u013e"+
-    "\1\u0199\21\u013e\1\0\12\u013e\1\u019a\1\u0199\45\u013e\1\u0199"+
-    "\20\u013e\14\0\1\u019b\67\0\14\u013e\1\u019a\1\u013e\1\0"+
-    "\65\u013e\2\240\1\0\22\240\1\u019c\22\240\1\u019d\35\240"+
-    "\1\0\31\240\1\u019e\47\240\7\0\1\u019f\11\0\1\u0170"+
-    "\3\0\1\u0171\22\0\1\u0172\55\0\1\u01a0\61\0\16\251"+
-    "\1\0\65\251\16\257\1\0\65\257\12\264\1\0\1\264"+
-    "\1\0\1\264\1\u01a1\64\264\1\u0150\12\264\1\0\1\264"+
-    "\1\0\1\u014d\7\264\1\u01a2\22\264\1\u01a3\32\264\1\0"+
-    "\12\u01a1\1\0\1\u01a1\1\0\66\u01a1\1\0\12\u0150\1\0"+
-    "\1\u0150\1\0\1\u01a4\65\u0150\1\0\14\u0151\1\u0152\10\u0151"+
-    "\1\u01a5\22\u0151\1\u01a6\47\u0151\1\u0152\17\u0151\1\u01a7\47\u0151"+
-    "\12\u0155\1\u0156\12\u0155\1\u01a8\22\u0155\1\u01a9\45\u0155\1\u0156"+
-    "\21\u0155\1\u01aa\47\u0155\12\302\1\0\103\302\1\0\12\302"+
-    "\1\u01ab\22\302\1\u01ac\31\302\1\u0159\1\0\102\u01ad\1\u01ae"+
-    "\1\u01ad\14\306\1\0\103\306\1\0\10\306\1\u01af\22\306"+
-    "\1\u01b0\31\306\1\u015c\1\0\102\u01b1\1\u01b2\1\u01b1\12\311"+
-    "\1\0\1\311\1\0\10\311\1\u01b3\22\311\1\u01b4\32\311"+
-    "\1\0\14\u0161\1\u0162\10\u0161\1\u01b5\22\u0161\1\u01b6\47\u0161"+
-    "\1\u0162\17\u0161\1\u01b7\47\u0161\12\u0165\1\u0166\12\u0165\1\u01b8"+
-    "\22\u0165\1\u01b9\45\u0165\1\u0166\21\u0165\1\u01ba\47\u0165\12\327"+
-    "\1\0\103\327\1\0\12\327\1\u01bb\22\327\1\u01bc\31\327"+
-    "\1\u0169\1\0\102\u01bd\1\u01be\1\u01bd\14\333\1\0\103\333"+
-    "\1\0\10\333\1\u01bf\22\333\1\u01c0\31\333\1\u016c\1\0"+
-    "\102\u01c1\1\u01c2\1\u01c1\7\0\1\u01c3\103\0\1\u01c4\131\0"+
-    "\1\u01c5\46\0\1\u0175\1\0\11\u0175\1\0\6\u0175\1\0"+
-    "\61\u0175\1\u0176\1\0\11\u0176\1\0\6\u0176\1\0\45\u0176"+
-    "\1\0\14\u0176\1\0\3\u0176\1\u0177\5\u0176\1\0\3\u0176"+
-    "\1\u0177\2\u0176\1\0\3\u0176\1\u0177\41\u0176\1\u01c6\13\u0176"+
-    "\20\0\1\u0179\47\0\1\u01c7\33\0\1\u01c8\14\0\3\u01c8"+
-    "\2\0\1\u01c8\11\0\1\u01c8\1\0\2\u01c8\6\0\1\u01c8"+
-    "\2\0\2\u01c8\6\0\1\u01c8\10\0\4\113\6\0\1\113"+
-    "\6\0\5\113\1\0\11\113\1\u01c9\1\113\1\0\1\u01c9"+
-    "\11\113\1\0\4\113\1\0\11\113\2\0\12\375\1\377"+
-    "\3\375\1\0\65\375\14\u0101\1\377\1\u0101\1\0\65\u0101"+
-    "\6\0\3\166\1\u01ca\6\0\1\166\6\0\5\166\1\0"+
-    "\13\166\1\0\12\166\1\0\4\166\1\0\11\166\2\0"+
-    "\1\u0185\2\u0186\1\u0187\1\u0185\1\u0186\4\u0185\1\u0186\1\u0185"+
-    "\1\u0186\2\u0185\1\u0186\6\u0185\1\u0186\54\u0185\1\u01cb\103\u0186"+
-    "\1\u01cc\1\u0188\2\u0189\1\u018a\1\u0188\1\u0189\4\u0188\1\u0189"+
-    "\1\u0188\1\u0189\2\u0188\1\u0189\6\u0188\1\u0189\54\u0188\1\u01cb"+
-    "\103\u0189\1\u01cd\40\0\1\u01ce\14\0\1\u01ce\60\0\2\u01cf"+
-    "\101\0\1\u01d0\112\0\1\u01d1\14\0\1\u01d1\60\0\2\u01d2"+
-    "\50\0\14\u0124\1\u0122\1\u0124\1\0\65\u0124\3\0\2\u01d3"+
-    "\1\0\4\u01d3\2\0\1\u0126\1\u01d3\1\0\4\u01d3\1\0"+
-    "\10\u01d3\1\0\37\u01d3\2\0\4\u01d3\2\0\14\u0134\1\u0132"+
-    "\1\u0134\1\0\65\u0134\3\0\2\u01d4\1\0\4\u01d4\2\0"+
-    "\1\u0136\1\u01d4\1\0\4\u01d4\1\0\10\u01d4\1\0\37\u01d4"+
-    "\2\0\4\u01d4\2\0\2\231\1\0\32\231\1\u01d5\46\231"+
-    "\14\u013e\1\u013c\1\u013e\1\0\65\u013e\3\0\2\u01d6\1\0"+
-    "\4\u01d6\2\0\1\u0140\1\u01d6\1\0\4\u01d6\1\0\10\u01d6"+
-    "\1\0\37\u01d6\2\0\4\u01d6\2\0\2\240\1\0\32\240"+
-    "\1\u01d7\46\240\7\0\1\u01d8\76\0\1\u01d9\101\0\12\u0150"+
-    "\1\0\1\u0150\1\0\1\u0150\1\0\65\u0150\14\u0151\1\u0152"+
-    "\20\u0151\1\u01da\46\u0151\12\u0155\1\u0156\22\u0155\1\u01db\46\u0155"+
-    "\12\u01dc\1\u01dd\70\u01dc\1\0\14\u01de\1\u01dd\66\u01de\1\0"+
-    "\14\u0161\1\u0162\20\u0161\1\u01df\46\u0161\12\u0165\1\u0166\22\u0165"+
-    "\1\u01e0\46\u0165\12\u01e1\1\u01e2\70\u01e1\1\0\14\u01e3\1\u01e2"+
-    "\66\u01e3\37\0\1\u01e4\135\0\1\u01c6\33\0\1\u01c8\14\0"+
-    "\3\u01c8\2\0\1\u01c8\11\0\1\u01c8\1\0\2\u01c8\6\0"+
-    "\1\u01c8\1\0\1\u01c7\2\u01c8\6\0\1\u01c8\10\0\4\113"+
-    "\6\0\1\113\6\0\5\113\1\0\6\113\1\u01e5\4\113"+
-    "\1\0\12\113\1\0\1\113\1\u01e5\2\113\1\0\11\113"+
-    "\10\0\4\166\6\0\1\166\6\0\5\166\1\0\6\166"+
-    "\1\u01e6\4\166\1\0\6\166\1\u01e7\3\166\1\0\4\166"+
-    "\1\0\11\166\54\0\1\u01e8\76\0\1\u01e9\13\0\1\u01e9"+
-    "\64\0\1\u01ea\11\0\1\u01ea\71\0\1\u01eb\11\0\1\u01eb"+
-    "\74\0\1\u01ec\13\0\1\u01ec\22\0\2\231\1\0\33\231"+
-    "\1\u01ed\45\231\2\240\1\0\33\240\1\u01ee\45\240\14\u0151"+
-    "\1\u0152\21\u0151\1\u01ef\45\u0151\12\u0155\1\u0156\23\u0155\1\u01f0"+
-    "\45\u0155\12\u01dc\1\u01ad\67\u01dc\1\u01f1\1\u01ad\14\u01de\1\u01b1"+
-    "\65\u01de\1\u01f2\1\u01b1\14\u0161\1\u0162\21\u0161\1\u01f3\45\u0161"+
-    "\12\u0165\1\u0166\23\u0165\1\u01f4\45\u0165\12\u01e1\1\u01bd\67\u01e1"+
-    "\1\u01f5\1\u01bd\14\u01e3\1\u01c1\65\u01e3\1\u01f6\1\u01c1\37\0"+
-    "\1\u01f7\52\0\4\113\6\0\1\113\6\0\5\113\1\0"+
-    "\3\113\1\u01f8\7\113\1\0\4\113\1\u01f8\5\113\1\0"+
-    "\4\113\1\0\11\113\10\0\4\166\6\0\1\166\6\0"+
-    "\5\166\1\0\11\166\1\u01f9\1\166\1\0\12\166\1\0"+
-    "\4\166\1\0\11\166\10\0\4\166\6\0\1\166\6\0"+
-    "\5\166\1\0\10\166\1\u01fa\2\166\1\0\12\166\1\0"+
-    "\4\166\1\0\11\166\55\0\1\u01fb\23\0\1\u01fb\50\0"+
-    "\1\u01fc\17\0\1\u01fc\66\0\1\u01fd\12\0\1\u01fd\52\0"+
-    "\1\u01fe\107\0\1\u01ff\34\0\1\u01ff\11\0\2\231\1\0"+
-    "\34\231\1\u0200\44\231\2\240\1\0\34\240\1\u0201\44\240"+
-    "\14\u0151\1\u0152\22\u0151\1\u0202\44\u0151\12\u0155\1\u0156\24\u0155"+
-    "\1\u0203\44\u0155\12\u01dc\1\u0204\67\u01dc\1\u01f1\1\u01ad\14\u01de"+
-    "\1\u0205\65\u01de\1\u01f2\1\u01b1\14\u0161\1\u0162\22\u0161\1\u0206"+
-    "\44\u0161\12\u0165\1\u0166\24\u0165\1\u0207\44\u0165\12\u01e1\1\u0208"+
-    "\67\u01e1\1\u01f5\1\u01bd\14\u01e3\1\u0209\65\u01e3\1\u01f6\1\u01c1"+
-    "\40\0\1\u020a\51\0\4\166\6\0\1\166\6\0\5\166"+
-    "\1\0\11\166\1\u020b\1\166\1\0\12\166\1\0\4\166"+
-    "\1\0\11\166\10\0\4\166\6\0\1\166\6\0\5\166"+
-    "\1\0\6\166\1\u020c\4\166\1\0\12\166\1\0\4\166"+
-    "\1\0\11\166\44\0\1\u020d\11\0\1\u020d\67\0\1\u020e"+
-    "\14\0\1\u020e\66\0\1\u020f\14\0\1\u020f\26\0\2\231"+
-    "\1\0\35\231\1\u0210\43\231\2\240\1\0\35\240\1\u0211"+
-    "\43\240\14\u0151\1\u0152\23\u0151\1\u0212\43\u0151\12\u0155\1\u0156"+
-    "\25\u0155\1\u0213\43\u0155\14\u0161\1\u0162\23\u0161\1\u0214\43\u0161"+
-    "\12\u0165\1\u0166\25\u0165\1\u0215\43\u0165\37\0\1\u0216\52\0"+
-    "\4\166\6\0\1\166\6\0\5\166\1\0\13\166\1\0"+
-    "\4\166\1\u0217\5\166\1\0\4\166\1\0\11\166\10\0"+
-    "\4\166\6\0\1\166\6\0\5\166\1\0\5\166\1\u0218"+
-    "\5\166\1\0\12\166\1\0\4\166\1\0\11\166\2\0"+
-    "\2\231\1\0\34\231\1\u0219\44\231\2\240\1\0\34\240"+
-    "\1\u021a\44\240\14\u0151\1\u0152\22\u0151\1\u021b\44\u0151\12\u0155"+
-    "\1\u0156\24\u0155\1\u021c\44\u0155\14\u0161\1\u0162\22\u0161\1\u021d"+
-    "\44\u0161\12\u0165\1\u0166\24\u0165\1\u021e\44\u0165\34\0\1\u021f"+
-    "\55\0\4\166\6\0\1\166\6\0\5\166\1\0\13\166"+
-    "\1\0\12\166\1\0\4\166\1\0\1\166\1\u0220\7\166"+
-    "\2\0\2\231\1\0\31\231\1\u0221\47\231\2\240\1\0"+
-    "\31\240\1\u0222\47\240\14\u0151\1\u0152\17\u0151\1\u0223\47\u0151"+
-    "\12\u0155\1\u0156\21\u0155\1\u0224\47\u0155\14\u0161\1\u0162\17\u0161"+
-    "\1\u0225\47\u0161\12\u0165\1\u0166\21\u0165\1\u0226\47\u0165\6\0"+
-    "\4\166\6\0\1\166\6\0\5\166\1\0\13\166\1\0"+
-    "\4\166\1\u0227\5\166\1\0\4\166\1\0\11\166\10\0"+
-    "\4\166\6\0\1\166\6\0\5\166\1\0\10\166\1\u0228"+
-    "\2\166\1\0\12\166\1\0\4\166\1\0\11\166\10\0"+
-    "\4\166\6\0\1\166\6\0\5\166\1\0\4\166\1\u0229"+
-    "\6\166\1\0\12\166\1\0\4\166\1\0\11\166\10\0"+
-    "\4\166\6\0\1\166\6\0\5\166\1\0\5\166\1\u022a"+
-    "\5\166\1\0\12\166\1\0\4\166\1\0\11\166\2\0"+
-    "\6\u022b\4\u022c\6\u022b\1\u022c\5\u022b\1\0\5\u022c\1\u022b"+
-    "\13\u022c\1\u022b\12\u022c\1\u022b\4\u022c\1\u022b\11\u022c\2\u022b"+
-    "\41\0\1\u022d\3\0\1\u022e\7\0\1\u022f\1\u0230\20\0"+
-    "\1\u0231\12\0\4\166\6\0\1\166\6\0\5\166\1\0"+
-    "\4\166\1\u0232\3\166\1\u0233\2\166\1\0\4\166\1\u0234"+
-    "\1\u0235\4\166\1\0\4\166\1\0\6\166\1\u0236\2\166"+
-    "\60\0\1\u0237\74\0\1\u0238\112\0\1\u0239\102\0\1\u023a"+
-    "\104\0\1\u023b\33\0\4\166\6\0\1\166\6\0\5\166"+
-    "\1\0\13\166\1\0\5\166\1\u023c\4\166\1\0\4\166"+
-    "\1\0\11\166\10\0\4\166\6\0\1\166\6\0\5\166"+
-    "\1\0\12\166\1\u023d\1\0\12\166\1\0\4\166\1\0"+
-    "\11\166\10\0\4\166\6\0\1\166\6\0\5\166\1\0"+
-    "\13\166\1\0\5\166\1\u023e\4\166\1\0\4\166\1\0"+
-    "\11\166\10\0\4\166\6\0\1\166\6\0\5\166\1\0"+
-    "\13\166\1\0\4\166\1\u023f\5\166\1\0\4\166\1\0"+
-    "\11\166\10\0\4\166\6\0\1\166\6\0\5\166\1\0"+
-    "\13\166\1\0\5\166\1\u0240\4\166\1\0\4\166\1\0"+
-    "\11\166\45\0\1\u0241\132\0\1\u0242\104\0\1\u0243\65\0"+
-    "\1\u0244\121\0\1\u0245\16\0\4\166\6\0\1\166\6\0"+
-    "\5\166\1\0\6\166\1\u0246\4\166\1\0\12\166\1\0"+
-    "\4\166\1\0\11\166\10\0\4\166\6\0\1\166\6\0"+
-    "\5\166\1\0\13\166\1\0\12\166\1\0\4\166\1\0"+
-    "\1\166\1\u0247\7\166\10\0\4\166\6\0\1\166\6\0"+
-    "\5\166\1\0\13\166\1\0\12\166\1\0\4\166\1\0"+
-    "\2\166\1\u0248\6\166\10\0\4\166\6\0\1\166\6\0"+
-    "\5\166\1\0\13\166\1\0\4\166\1\u0249\5\166\1\0"+
-    "\4\166\1\0\11\166\10\0\4\166\6\0\1\166\6\0"+
-    "\5\166\1\0\13\166\1\0\12\166\1\0\4\166\1\0"+
-    "\2\166\1\u024a\6\166\47\0\1\u024b\71\0\1\u024c\103\0"+
-    "\1\u024d\113\0\1\u024e\102\0\1\u024f\47\0\4\166\6\0"+
-    "\1\166\6\0\5\166\1\0\10\166\1\u0250\2\166\1\0"+
-    "\12\166\1\0\4\166\1\0\11\166\10\0\4\166\6\0"+
-    "\1\166\6\0\4\166\1\u0251\1\0\13\166\1\0\12\166"+
-    "\1\0\4\166\1\0\11\166\10\0\4\166\6\0\1\166"+
-    "\6\0\4\166\1\u0252\1\0\13\166\1\0\12\166\1\0"+
-    "\4\166\1\0\11\166\10\0\4\166\6\0\1\166\6\0"+
-    "\5\166\1\0\6\166\1\u0253\4\166\1\0\12\166\1\0"+
-    "\4\166\1\0\11\166\10\0\4\166\6\0\1\166\6\0"+
-    "\5\166\1\0\5\166\1\u0254\5\166\1\0\12\166\1\0"+
-    "\4\166\1\0\11\166\60\0\1\u0255\125\0\1\u0256\50\0"+
-    "\1\u0257\103\0\1\u0258\44\0\4\166\6\0\1\166\6\0"+
-    "\5\166\1\0\13\166\1\0\5\166\1\u0259\4\166\1\0"+
-    "\4\166\1\0\11\166\10\0\4\166\6\0\1\166\6\0"+
-    "\5\166\1\0\13\166\1\0\12\166\1\0\4\166\1\0"+
-    "\7\166\1\u025a\1\166\10\0\4\166\6\0\1\166\6\0"+
-    "\5\166\1\0\10\166\1\u025b\2\166\1\0\12\166\1\0"+
-    "\4\166\1\0\11\166\10\0\4\166\6\0\1\166\6\0"+
-    "\5\166\1\0\10\166\1\u025c\2\166\1\0\12\166\1\0"+
-    "\4\166\1\0\11\166\103\0\1\u025d\61\0\1\u0245\125\0"+
-    "\1\u024f\103\0\1\u025e\10\0\4\166\6\0\1\166\6\0"+
-    "\5\166\1\0\13\166\1\0\12\166\1\0\4\166\1\0"+
-    "\10\166\1\u025f\10\0\4\166\6\0\1\166\6\0\5\166"+
-    "\1\0\13\166\1\0\6\166\1\u024a\3\166\1\0\4\166"+
-    "\1\0\11\166\10\0\4\166\6\0\1\166\6\0\5\166"+
-    "\1\0\13\166\1\0\12\166\1\0\4\166\1\0\10\166"+
-    "\1\u0254\10\0\4\166\6\0\1\166\6\0\5\166\1\0"+
-    "\13\166\1\0\12\166\1\0\4\166\1\0\10\166\1\u0260"+
-    "\35\0\1\u0245\150\0\1\u0261\11\0\4\166\6\0\1\166"+
-    "\6\0\4\166\1\u024a\1\0\13\166\1\0\12\166\1\0"+
-    "\4\166\1\0\11\166\10\0\4\166\6\0\1\166\6\0"+
-    "\5\166\1\0\13\166\1\0\12\166\1\0\4\166\1\0"+
-    "\7\166\1\u0262\1\166\57\0\1\u0245\34\0\4\166\6\0"+
-    "\1\166\6\0\5\166\1\0\13\166\1\0\4\166\1\u024a"+
-    "\5\166\1\0\4\166\1\0\11\166\2\0";
-
-  /** 
-   * The transition table of the DFA
-   */
-  final private static int yytrans [] = yy_unpack(yy_packed);
-
-
-  /* error codes */
-  final private static int YY_UNKNOWN_ERROR = 0;
-  // final private static int YY_ILLEGAL_STATE = 1;
-  final private static int YY_NO_MATCH = 2;
-  final private static int YY_PUSHBACK_2BIG = 3;
-
-  /* error messages for the codes above */
-  final private static String YY_ERROR_MSG[] = {
-    "Unkown internal scanner error",		//$NON-NLS-1$
-    "Internal error: unknown state",		//$NON-NLS-1$
-    "Error: could not match input",		//$NON-NLS-1$
-    "Error: pushback value was too large"	//$NON-NLS-1$
-  };
-
-  /**
-   * YY_ATTRIBUTE[aState] contains the attributes of state <code>aState</code>
-   */
-  private final static byte YY_ATTRIBUTE[] = {
-     1,  0,  0,  0,  0,  1,  0,  0,  1,  1,  1,  0,  1,  1,  1,  1, 
-     0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 
-     1,  1,  1,  1,  0,  0,  0,  0,  1,  1,  0,  1,  0,  0,  0,  0, 
-     0,  0,  1,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  9, 
-     1,  9,  1,  1,  9,  9,  1,  1,  1,  1,  1,  1,  1,  1,  9,  1, 
-     1,  1,  1,  9,  1,  1,  1,  1,  1,  1,  9,  1,  1,  9,  1,  1, 
-     1,  1,  9,  1,  1,  1,  1,  1,  1,  1,  9,  1,  1,  1,  1,  1, 
-     1,  1,  9,  1,  1,  1,  1,  1,  1,  9,  1,  1,  1,  1,  1,  1, 
-     1,  1,  9,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 
-     1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  9,  1,  1,  1,  1,  1, 
-     1,  9,  9,  1,  1,  9,  1,  1,  1,  1,  1,  9,  1,  1,  1,  1, 
-     9,  1,  1,  1,  1,  9,  9,  1,  9,  3,  3,  3,  3,  3,  3,  9, 
-     9,  1,  1,  1,  9,  1,  1,  1,  1,  1,  9,  9,  1,  9,  3,  3, 
-     3,  3,  3,  3,  9,  9,  1,  1,  1,  9,  1,  1,  1,  9,  9,  1, 
-     1,  0,  1,  0,  9,  1,  2,  1,  2,  1,  1,  0,  0,  0,  9,  1, 
-     1,  9,  9,  0,  0,  9,  0,  0,  0,  0,  0,  0,  0,  0,  9,  1, 
-     0,  0,  1,  9,  0,  9,  0,  0,  9,  0,  0,  0,  9,  1,  1,  0, 
-     1,  0,  9,  0,  0,  0,  1,  1,  0,  0,  0,  0,  9,  0,  0,  0, 
-     0,  9,  0,  0,  0,  1,  0,  0,  1,  0,  0,  9,  0,  0,  1,  0, 
-     0,  9,  0,  0,  0,  1,  0,  1,  1,  0,  0,  9,  0,  0,  0,  1, 
-     0,  1,  1,  1,  0,  0,  9,  9,  9,  0,  9,  9,  1,  1,  1,  1, 
-     2, 13,  3,  2,  2, 13,  3,  2,  0,  1,  1,  0,  1,  1,  1,  1, 
-     2, 13,  3,  2,  2, 13,  3,  2,  0,  1,  1,  0,  1,  1,  0,  9, 
-     9,  9,  0,  0,  1,  1,  1,  9,  0,  0, 13,  9, 13,  9,  9,  1, 
-     1,  0,  0,  1,  3,  2,  2,  3,  2,  2,  0,  0,  0,  0,  0,  0, 
-     1,  0,  0,  1,  0,  1,  1,  1,  0,  1,  0,  1,  1,  1,  0,  0, 
-     1,  1,  1,  0,  3,  3,  2,  3,  3,  2,  1,  1,  0,  0,  1,  1, 
-     0,  0,  1,  1,  3,  3,  2,  3,  3,  2,  1,  1,  0,  0,  1,  1, 
-     0,  0,  9,  9,  0,  1,  9,  0,  1,  1,  5, 13, 13,  0,  0,  0, 
-     0,  0,  0,  0,  1,  0,  1,  9,  9,  2,  2,  0,  9,  0,  2,  2, 
-     0,  9,  0,  0,  1,  1,  1,  0,  0,  0,  0,  0,  1,  1,  2,  2, 
-     0,  0,  2,  2,  0,  0,  0,  1,  1,  1,  0,  0,  0,  9,  9,  1, 
-     1,  2,  2,  1,  1,  2,  2,  1,  1,  0,  1,  1,  9,  9,  9,  1, 
-     1,  2,  2,  2,  2,  0,  1,  1,  1,  1,  2,  2,  2,  2,  9,  1, 
-     1,  1,  3,  3,  3,  3,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0, 
-     0,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1, 
-     0,  0,  1,  0,  0,  1,  1,  1,  1,  1,  0,  0,  0,  0,  9,  1, 
-     1,  1,  1,  1,  0,  0,  0,  0,  1,  1,  1,  1,  0,  0,  1,  1, 
-     0,  1
-  };
-
-  /** the input device */
-  private java.io.Reader yy_reader;
-
-  /** the current state of the DFA */
-  private int yy_state;
-
-  /** the current lexical state */
-  private int yy_lexical_state = YYINITIAL;
-
-  /** this buffer contains the current text to be matched and is
-      the source of the yytext() string */
-  private char yy_buffer[] = new char[16384];
-
-  /** the textposition at the last accepting state */
-  private int yy_markedPos;
-
-  /** the textposition at the last state to be included in yytext */
-  private int yy_pushbackPos;
-
-  /** the current text position in the buffer */
-  private int yy_currentPos;
-
-  /** startRead marks the beginning of the yytext() string in the buffer */
-  private int yy_startRead;
-
-  /** endRead marks the last character in the buffer, that has been read
-      from input */
-  private int yy_endRead;
-
-  /** number of newlines encountered up to the start of the matched text */
-  private int yyline;
-
-  /** the number of characters up to the start of the matched text */
-  private int yychar;
-
-  /**
-   * the number of characters from the last newline up to the start of the 
-   * matched text
-   */
-  // private int yycolumn; 
-
-  /** 
-   * yy_atBOL == true <=> the scanner is currently at the beginning of a line
-   */
-  // private boolean yy_atBOL;
-
-  /** yy_atEOF == true <=> the scanner has returned a value for EOF */
-  private boolean yy_atEOF;
-
-  /** denotes if the user-EOF-code has already been executed */
-  private boolean yy_eof_done;
-
-  /* user code: */
-	private int fTokenCount = 0;
- 
-	// required holders for white-space compacting
-	private boolean fShouldLoadBuffered = false;
-	private String fBufferedContext = null;
-	private int fBufferedStart = 1;
-	private int fBufferedLength = 0;
-	private ContextRegionContainer fBufferedEmbeddedContainer = null;
-	private String f_context = null;
-
-	// state stack for handling embedded regions
-	private IntStack fStateStack = new IntStack();
-	// a "hint" as to what an embedded region should be evaluated
-	private String fEmbeddedHint = UNDEFINED;
-	// a "hint" as to what state to enter once an embedded region has
-	//   been completed
-	private int fEmbeddedPostState = YYINITIAL;
-	// the container used to create embedded regions
-	private ContextRegionContainer fEmbeddedContainer = null;
-	private static final String PROXY_CONTEXT = "PROXY_CONTEXT";
-
-	private String context = null;
-	private int start = 0;
-	private int textLength = 0;
-	private int length = 0;
-
-	// offset for tracking position specific block tags
-	private int fOffset = 0;
-	
-	// the name of the current tag being opened
-	private String fCurrentTagName = null;
-
-	// the name of the current tag inside of an embedded region
-	private String internalTagName = null;
-	private String internalContext = null;
-
-	// the list of tag name BlockMarkers
-	private List fBlockMarkers = new ArrayList(0);
-	private List fNestablePrefixes = new ArrayList(1);
-	
-	// where the last internal container block was found
-	private int fLastInternalBlockStart = -1;
-
-	// required to not seek text blocks on an end tag
-	private boolean fIsBlockingEnabled = false;
-	private boolean fIsCaseSensitiveBlocking = true;
-
-	private static final boolean fForbidJSP = false;
-	
-	private int fELlevel = 0;
-
-	private JSPParserRegionFactory fRegionFactory = new JSPParserRegionFactory();
-
-	private static final String rcsver = "$Id: JSPTokenizer.java,v 1.11 2005/05/28 01:26:17 david_williams Exp $";//$NON-NLS-1$
-
-	/**
-	 * user method 
-	 */
-	public final void addBlockMarker(BlockMarker marker) {
-		if(containsTagName(marker.getTagName()))
-			return;
-		fBlockMarkers.add(marker);
-	}
-	/**
-	 * user method
-	 */
-	public final void addNestablePrefix(TagMarker marker) {
-		fNestablePrefixes.add(marker);
-	}
-	/* user method */
-	public List getNestablePrefixes() {
-		return fNestablePrefixes;
-	}
-	/**
-	 * user method
-	 */
-	private boolean isNestable(String tagName) {
-		//Iterator blocks = fNestablePrefixes.iterator();
-		//while(blocks.hasNext()) {
-		//	TagMarker marker = (TagMarker)blocks.next();
-		//	String markerName = marker.getTagName();
-		//	if(tagName.length() > markerName.length() + 1 && tagName.startsWith(markerName) && tagName.charAt(markerName.length()) == ':') {
-		//		return marker.isGlobal() || getOffset() >= marker.getMarker().getStart();
-		//	}
-		//}
-		//return false;
-		return true;
-	}
-	/**
-	 * user method 
-	 */
-	public final void removeNestablePrefix(String name) {
-		if (fNestablePrefixes != null) {
-			Iterator nestables = fNestablePrefixes.iterator();
-			while (nestables.hasNext()) {
-				if (((TagMarker) nestables.next()).getTagName().equalsIgnoreCase(name))
-					nestables.remove();
-			}
-		}
-	}
-	/**
-	 * user method 
-	 */
-	public final void removeBlockMarker(BlockMarker marker) {
-		fBlockMarkers.remove(marker);
-	}
-	/**
-	 * user method 
-	 */
-	public final void removeBlockMarker(String tagname) {
-		if (fBlockMarkers != null) {
-			Iterator blocks = fBlockMarkers.iterator();
-			while (blocks.hasNext()) {
-				if (((BlockMarker) blocks.next()).getTagName().equals(tagname))
-					blocks.remove();
-			}
-		}
-	}
-	/* user method */
-	private final void assembleEmbeddedTagSequence(String startType, String endTagName) {
-		assembleEmbeddedContainer(startType, null, endTagName);
-	}
-	/* user method */
-	private final void assembleEmbeddedContainer(String startType, String[] endTypes) {
-		assembleEmbeddedContainer(startType, endTypes, null);
-	}
-	/* user method */
-	private final void assembleEmbeddedContainer(String startType, String endType) {
-		assembleEmbeddedContainer(startType, new String[]{endType}, null);
-	}
-	/**
-	 *  user method 
-	 * 
-	 * Assembles an embedded container beginning with the given startType as
-	 * the first ContextRegion within it and of the type fEmbeddedHint.  The
-	 * endTypes[] array contains the context types that will cause a successful
-	 * exit.  Use of the endTagName parameter alters this behavior to force an
-	 * exit on an XML_TAG_CLOSE after seeing an XML_TAG_NAME whose significant
-	 * text matches the endTagName String.  All contents in between are
-	 * insignificant, and yes, this means comments are allowed inside.
-	 **/
-	private final void assembleEmbeddedContainer(String startType, String[] endTypes, String endTagName) {
-		// the context of the region being added to the embedded container
-		internalContext = startType;
-		// keep track of where this container began; to provide relative indeces for the regions
-		int containerStart = yychar;
-		boolean notFinished = true;
-		// keep track of where we seem to be so that the endTagName can be checked
-		boolean isInEndTag = false;
-		boolean isInFirstTag = true;
-		// create the embedded container and setup its "type"
-		if (fEmbeddedContainer == null) {
-			fEmbeddedContainer = new ContextRegionContainer();
-			fEmbeddedContainer.setType(fEmbeddedHint);
-			fEmbeddedContainer.setStart(containerStart);
-			// TODO: parent region needs to be set .... but not sure where to get it from 
-			//		fEmbeddedContainer.setParent(parentRegion);
-		}
-		containerStart = fEmbeddedContainer.getStart();
-		while (notFinished) {
-			// add the region to the container
-			if (internalContext != null && internalContext != PROXY_CONTEXT) {
-				ITextRegion newToken = fRegionFactory.createToken(internalContext, yychar - containerStart, yylength(), yylength());
-				fEmbeddedContainer.getRegions().add(newToken);
-				fEmbeddedContainer.setLength(fEmbeddedContainer.getLength() + yylength());
-				fEmbeddedContainer.setTextLength(fEmbeddedContainer.getTextLength() + yylength());
-				// DW, 4/16/2003 token regions no longer have parents
-				//newToken.setParent(fEmbeddedContainer);
-			}
-			try {
-				// longscan determines whether to attempt a blockTagScan within the embedded container
-				boolean longscan = false;
-				// save the tokenizer state in case of a block tag scan
-				int previousState = yystate();
-				String previousCurrentTagName = fCurrentTagName;
-				int previousPostState = fEmbeddedPostState;
-				String previousEmbeddedHint = fEmbeddedHint;
-				// determine if a block tag scan is necessary
-				if (internalContext == XML_TAG_NAME) {
-					internalTagName = yytext();
-					if(!isNestable(internalTagName)) {
-						internalTagName = null;
-						// snagged a tag name we shouldn't have
-						fEmbeddedPostState = ST_ABORT_EMBEDDED;
-						notFinished = false;
-					}
-				}
-				else if (internalContext == XML_TAG_OPEN || internalContext == XML_END_TAG_OPEN) {
-					internalTagName = null;
-				}
-				// do upkeep for endTagName usage; must be here since the next token could be the close
-				if (internalContext == XML_END_TAG_OPEN) {
-					isInEndTag = true;
-				} else if (internalContext == XML_TAG_CLOSE) {
-					isInFirstTag = isInEndTag = false;
-				} else {
-				 	ITextRegionList embeddedRegions = fEmbeddedContainer.getRegions();
-					if (embeddedRegions.size() > 2 && (embeddedRegions.get(embeddedRegions.size()-1)).getType() == XML_TAG_CLOSE && (embeddedRegions.get(embeddedRegions.size() - 3)).getType() == XML_TAG_OPEN && internalTagName != null) {
-						if (containsTagName(internalTagName)) {
-							longscan = true;
-							yybegin(ST_BLOCK_TAG_SCAN);
-						}
-					}
-				}
-				if (longscan)
-					fCurrentTagName = internalTagName;
-				// read the next region and context
-				internalContext = primGetNextToken();
-				if (longscan) {
-					// Returning from a block tag scan requires restoring some state variables
-					// as well as handling the block region and setting up for normal scanning
-					// inside the embedded container
-					ITextRegion newToken = fRegionFactory.createToken(internalContext, yychar - containerStart, yylength(), yylength());
-					fEmbeddedContainer.getRegions().add(newToken);
-					fEmbeddedContainer.setLength(fEmbeddedContainer.getLength() + yylength());
-					fEmbeddedContainer.setTextLength(fEmbeddedContainer.getTextLength() + yylength());
-					// DW, 4/16/2003 token regions no longer have parents
-					// newToken.setParent(fEmbeddedContainer);
-					longscan = false;
-					fEmbeddedPostState = previousPostState;
-					fEmbeddedHint = previousEmbeddedHint;
-					fCurrentTagName = previousCurrentTagName;
-					yybegin(previousState);
-					internalContext = primGetNextToken();
-				}
-			} catch (IOException e) {
-				// primGetNextToken() calls may throw an IOException
-				// catch and do nothing since the isEOF check below
-				// will properly exit if the input was too short
-			} catch (Exception f) {
-				// some other exception happened; never should
-				Logger.logException(f);
-			}
-			boolean isEndingType = yystate() == ST_ABORT_EMBEDDED;
-			if(!isEndingType) {
-				// check for ending context
-				if (endTagName == null) {
-					for (int i = 0; i < endTypes.length; i++) {
-						isEndingType = isEndingType || (internalContext == endTypes[i]);
-					}
-				}
-				else {
-					isEndingType = ((isInEndTag && internalContext == XML_TAG_CLOSE) || (isInFirstTag && internalContext == XML_EMPTY_TAG_CLOSE)) && internalTagName != null && internalTagName.equals(endTagName);
-				}
-			}
-			ITextRegionList embeddedList = fEmbeddedContainer.getRegions();
-			notFinished = notFinished && ((!isEndingType) && !isEOF() && (endTagName != null || internalContext != UNDEFINED) && !(internalContext == PROXY_CONTEXT && (embeddedList.get(embeddedList.size()-1)).getType() == UNDEFINED));
-		}
-		// finish adding the last context
-		if (internalContext != null && internalContext != PROXY_CONTEXT) {
-			ITextRegion newToken = fRegionFactory.createToken(internalContext, yychar - containerStart, yylength(), yylength());
-			fEmbeddedContainer.getRegions().add(newToken);
-			// DW, 4/16/2003 token regions no longer have parents
-			//newToken.setParent(fEmbeddedContainer);
-			fEmbeddedContainer.setLength(yychar - containerStart + yylength());
-			fEmbeddedContainer.setTextLength(yychar - containerStart + yylength());
-		}
-		yybegin(fEmbeddedPostState);
-	}
-	/* user method */
-	public final boolean isCaseSensitiveBlocking() {
-		return fIsCaseSensitiveBlocking;
-	}
-	/* user method */
-	public final void setCaseSensitiveBlocking(boolean newValue) {
-		fIsCaseSensitiveBlocking = newValue;
-	}
-	/* user method */
-	public boolean getBlockMarkerAllowsJSP() {
-		return getBlockMarkerAllowsJSP(fCurrentTagName);
-	}
-	/* user method */
-	public boolean getBlockMarkerAllowsJSP(String name) {
-		Iterator iterator = fBlockMarkers.iterator();
-		while(iterator.hasNext()) {
-			BlockMarker marker = (BlockMarker)iterator.next();
-			boolean casesensitive = marker.isCaseSensitive();
-			if(casesensitive && marker.getTagName().equals(name))
-				return marker.allowsJSP();
-			else if(!casesensitive && marker.getTagName().equalsIgnoreCase(name))
-				return marker.allowsJSP();
-		}
-		return true;
-	}
-	/* user method */
-	public boolean getBlockMarkerCaseSensitivity() {
-		return getBlockMarkerCaseSensitivity(fCurrentTagName);
-	}
-	public boolean getBlockMarkerCaseSensitivity(String name) {
-		Iterator iterator = fBlockMarkers.iterator();
-		while(iterator.hasNext()) {
-			BlockMarker marker = (BlockMarker)iterator.next();
-			boolean casesensitive = marker.isCaseSensitive();
-			if(casesensitive && marker.getTagName().equals(name))
-				return casesensitive;
-			else if(!casesensitive && marker.getTagName().equalsIgnoreCase(name))
-				return casesensitive;
-		}
-		return true;
-	}
-	/* user method */
-	public String getBlockMarkerContext() {
-		return getBlockMarkerContext(fCurrentTagName);
-	}
-	/* user method */
-	public String getBlockMarkerContext(String name) {
-		Iterator iterator = fBlockMarkers.iterator();
-		while(iterator.hasNext()) {
-			BlockMarker marker = (BlockMarker)iterator.next();
-			if(marker.getTagName().equals(name))
-				return marker.getContext();
-		}
-		return BLOCK_TEXT;
-	}
-	/* user method */
-	public List getBlockMarkers() {
-		return fBlockMarkers;
-	}
-	/* user method */
-	public final int getOffset() {
-		return fOffset + yychar;
-	}
-	private final boolean isBlockMarker() {
-		return isBlockMarker(fCurrentTagName);
-	}
-	private final boolean isBlockMarker(String tagName) {
-		if (!fIsBlockingEnabled)
-			return false;
-		return containsTagName(tagName);
-	}
-	/**
-	 * user method
-	 */
-	public final void beginBlockTagScan(String newTagName) {
-		beginBlockMarkerScan(newTagName, BLOCK_TEXT);
-	}
-	/**
-	 * user method
-	 *
-	 * Special tokenizer setup.  Allows tokenization to be initiated at the
-	 * start of a text block within a "newTagName" tag.
-	 *
-	 * Example: 
-	 *	Tokenizer toker = new Tokenizer();
-	 *	toker.setCaseSensitiveBlocking(false);
-	 *	toker.reset(new java.io.StringReader("afiuhqwkejhtasihgalkwhtq</scripter></scr></script>asgdasga"));
-	 *	toker.beginBlockMarkerScan("script", BLOCK_TEXT);
-	 *	toker.getRegions(); 
-	 *
-	 * Returns:
-	 *	BLOCK_TEXT: 0-40
-	 *	XML_END_TAG_OPEN: 41-42
-	 *	XML_TAG_NAME: 43-48
-	 *	XML_TAG_CLOSE: 49-49
-	 *	XML_CONTENT: 50-57
-	 *
-	 */
-	public final void beginBlockMarkerScan(String newTagName, String blockcontext) {
-		yybegin(ST_BLOCK_TAG_SCAN);
-		fCurrentTagName = newTagName;
-	}
-
-/**
- * Method doScan.
- * 
- * Returns a context region for all of the text from the current position upto the end of input or
- * to right *before* the first occurence of searchString
- * 
- * @param searchString - target string to search for ex.: "-->", "</tagname"
- * @param requireTailSeparator - whether the target must be immediately followed by whitespace or '>'
- * @param allowJSP - check for and allow for JSP markup <%%>
- * @param context - the context of the scanned region if non-zero length
- * @param exitState - the state to go to if the region was of non-zero length
- * @param abortState - the state to go to if the searchString was found immediately
- * @return String - the context found: the desired context on a non-zero length match, the abortContext on immediate success
- * @throws IOException
- */
-private final String doScan(String searchString, boolean requireTailSeparator, boolean allowJSP, boolean allowCDATA, String searchContext, int exitState, int immediateFallbackState) throws IOException {
-	boolean stillSearching = true;
-	// Disable further block (probably)
-	fIsBlockingEnabled = false;
-	int searchStringLength = searchString.length();
-	int n = 0;
-	char lastCheckChar;
-	int i;
-	boolean same = false;
-	// Check for JSP starts ("<%") if the tag is global like SCRIPT or STYLE
-	boolean checkJSPs = allowJSP && !fForbidJSP;
-	boolean checkedForJSPsOnce = !checkJSPs;
-	boolean checkedJSPsAtStartOnce = false;
-	
-	while (stillSearching) {
-		n = 0;
-		// Ensure that enough data from the input exists to compare against the search String.
-		n = yy_advance();
-		while(n != YYEOF && yy_currentPos < searchStringLength)
-			n = yy_advance();
-//		c = (char) n;
-		// If the input was too short or we've exhausted the input, stop immediately.
-		if (n == YYEOF && checkedForJSPsOnce) {
-			stillSearching = false;
-		}
-		else {
-			/**
-			 * Look for starting JSPs "<%"
-			 */
-			checkedForJSPsOnce = true;
-			// 1) yy_currentPos - searchStringLength : There's at least searchStringLength of input available; once that's read, check for JSPs
-			// ---
-			// Look for a JSP beginning at current-searchStringLength; if so, backup and switch scanner states to handle it.
-			// Ensure that we've not encountered a complete block (<%%>) that was *shorter* than the closeTagString and
-			// thus found twice at current-targetLength [since the first scan would have come out this far anyway].
-			if(checkJSPs && yy_currentPos > searchStringLength && yy_currentPos - searchStringLength != fLastInternalBlockStart && 
-				yy_buffer[yy_currentPos - searchStringLength] == '<' && yy_buffer[yy_currentPos - searchStringLength + 1] == '%') {
-				fLastInternalBlockStart = yy_markedPos = yy_currentPos - searchStringLength;
-				yy_currentPos = yy_markedPos + 1;
-				int resumeState = yystate();
-				yybegin(ST_BLOCK_TAG_INTERNAL_SCAN);
-				if(yy_markedPos == yy_startRead) {
-					String jspContext = primGetNextToken();
-					yybegin(resumeState);
-					return jspContext;
-				}
-				return searchContext;
-			}
-			// 2) yy_currentPos - jspstarter.length : There's not searchStringLength of input available; check for a JSP 2 spots back in what we could read
-			// ---
-			// Look for a JSP beginning at the current position; this case wouldn't be handled by the preceding section
-			// since it relies upon *having* closeTagStringLength amount of input to work as designed.  Must be sure we don't
-			// spill over the end of the buffer while checking.
-			else if(checkJSPs && yy_startRead != fLastInternalBlockStart && yy_currentPos > 0 && yy_currentPos < yy_buffer.length - 1 &&
-					yy_buffer[yy_currentPos - 1] == '<' && yy_buffer[yy_currentPos] == '%') {
-				fLastInternalBlockStart = yy_markedPos = yy_currentPos - 1;
-				yy_currentPos = yy_markedPos + 1;
-				int resumeState = yystate();
-				yybegin(ST_BLOCK_TAG_INTERNAL_SCAN);
-				if(yy_markedPos == yy_startRead) {
-					String jspContext = primGetNextToken();
-					yybegin(resumeState);
-					return jspContext;
-				}
-				return searchContext;
-			}
-			// 3) yy_currentPos..(yy_currentPos+jspStartlength-1) : Check at the start of the block one time
-			// ---
-			// Look for a JSP beginning immediately in the block area; this case wouldn't be handled by the preceding section
-			// since it relies upon yy_currentPos equaling exactly the previous end +1 to work as designed.
-			else if(checkJSPs && !checkedJSPsAtStartOnce && yy_startRead != fLastInternalBlockStart && yy_startRead > 0 &&
-					yy_startRead < yy_buffer.length - 1 && yy_buffer[yy_startRead] == '<' && yy_buffer[yy_startRead + 1] == '%') {
-				checkedJSPsAtStartOnce = true;
-				fLastInternalBlockStart = yy_markedPos = yy_startRead;
-				yy_currentPos = yy_markedPos + 1;
-				int resumeState = yystate();
-				yybegin(ST_BLOCK_TAG_INTERNAL_SCAN);
-				if(yy_markedPos == yy_startRead) {
-					String jspContext = primGetNextToken();
-					yybegin(resumeState);
-					return jspContext;
-				}
-				return searchContext;
-			}
-
-
-			/**
-			 * Look for starting CDATA "<![CDATA["
-			 */
-			// 1) yy_currentPos - searchStringLength: There's at least searchStringLength of input available; once that's read, check for CDATA
-			// ---
-			// Look for a CDATA beginning at current-searchStringLength; if so, backup and switch scanner states to handle it.
-			// Ensure that we've not encountered a complete block (<[!CDATA[]]>) that was *shorter* than the closeTagString and
-			// thus found twice at current-targetLength [since the first scan would have come out this far anyway].
-/*			if(checkCDATA && yy_currentPos > searchStringLength && yy_currentPos + searchStringLength < yy_buffer.length && yy_currentPos - searchStringLength != fLastInternalBlockStart && 
-				charsMatch(cdataStarter, yy_buffer, 0, yy_currentPos - searchStringLength)) {
-				fLastInternalBlockStart = yy_markedPos = yy_currentPos - searchStringLength;
-				yy_currentPos = yy_markedPos + 1;
-				int resumeState = yystate();
-				// go to a state where CDATA can be found
-				if (fEmbeddedContainer == null) {
-					fEmbeddedContainer = new ContextRegionContainer();
-					fEmbeddedContainer.setType(searchContext);
-					fEmbeddedContainer.setStart(yychar);
-				}
-				ITextRegion newToken = fRegionFactory.createToken(searchContext, yychar, yylength(), yylength());
-				fEmbeddedContainer.getRegions().add(newToken);
-				fEmbeddedContainer.setLength(fEmbeddedContainer.getLength() + yylength());
-				fEmbeddedContainer.setTextLength(fEmbeddedContainer.getTextLength() + yylength());
-				yybegin(YYINITIAL);
-				String context = primGetNextToken();
-				if(context.equals(XMLRegionContexts.XML_CDATA_OPEN)) {
-					assembleEmbeddedContainer(XMLRegionContexts.XML_CDATA_OPEN, XMLRegionContexts.XML_CDATA_CLOSE);
-				}
-				yybegin(resumeState);
-				return searchContext;
-			}
-*//*
-			// 2) yy_currentPos - cdataStarter.length: There's not searchStringLength of input available; check for a CDATA right here spots back in what we could read
-			// ---
-			// Look for a JSP beginning at the current position; this case wouldn't be handled by the preceding section
-			// since it relies upon *having* closeTagStringLength amount of input to work as designed.  Must be sure we don't
-			// spill over the end of the buffer while checking.
-			else if(checkCDATA && yy_startRead != fLastInternalBlockStart && yy_currentPos > 0 && yy_currentPos < yy_buffer.length - 1 &&
-					yy_buffer[yy_currentPos - 1] == '<' && yy_buffer[yy_currentPos] == '%') {
-				fLastInternalBlockStart = yy_markedPos = yy_currentPos - 1;
-				yy_currentPos = yy_markedPos + 1;
-				int resumeState = yystate();
-				yybegin(ST_BLOCK_TAG_INTERNAL_SCAN);
-				if(yy_markedPos == yy_startRead) {
-					String jspContext = primGetNextToken();
-					yybegin(resumeState);
-					return jspContext;
-				}
-				return searchContext;
-			}
-			// 3) yy_currentPos : Check at the start of the block one time
-			// ---
-			// Look for a JSP beginning immediately in the block area; this case wouldn't be handled by the preceding section
-			// since it relies upon yy_currentPos equaling exactly the previous end +1 to work as designed.
-			else if(checkCDATA && !checkedForCDATAOnce && yy_startRead != fLastInternalBlockStart && yy_startRead > 0 &&
-					yy_startRead < yy_buffer.length - 1 && yy_buffer[yy_startRead] == '<' && yy_buffer[yy_startRead + 1] == '%') {
-				checkedForCDATAOnce = true;
-				fLastInternalBlockStart = yy_markedPos = yy_startRead;
-				yy_currentPos = yy_markedPos + 1;
-				int resumeState = yystate();
-				yybegin(ST_BLOCK_TAG_INTERNAL_SCAN);
-				if(yy_markedPos == yy_startRead) {
-					String jspContext = primGetNextToken();
-					yybegin(resumeState);
-					return jspContext;
-				}
-				return searchContext;
-			}
-*/
-			// Check the characters in the target versus the last targetLength characters read from the buffer
-			// and see if it matches
-			if (n == YYEOF) {
-				stillSearching = false;
-			}
-			else {
-				same = true;
-				// safety check for array accesses
-				if(yy_currentPos >= searchStringLength && yy_currentPos <= yy_buffer.length) {
-					for(i = 0; i < searchStringLength; i++) {
-						if(same && fIsCaseSensitiveBlocking)
-							same = yy_buffer[i + yy_currentPos - searchStringLength] == searchString.charAt(i);
-						else if(same && !fIsCaseSensitiveBlocking)
-							same = Character.toLowerCase(yy_buffer[i + yy_currentPos - searchStringLength]) == Character.toLowerCase(searchString.charAt(i));
-					}
-				}
-				// safety check failed; no match is possible right now
-				else {
-					same = false;
-				}
-			}
-			if (same && requireTailSeparator && yy_currentPos < yy_buffer.length) {
-				// Additional check for close tags to ensure that targetString="</script" doesn't match
-				// "</scriptS"
-				lastCheckChar = yy_buffer[yy_currentPos];
-				// Succeed on "</script>" and "</script "
-				if(lastCheckChar == '>' || Character.isWhitespace(lastCheckChar))
-					stillSearching = false;
-			}
-			else {
-				stillSearching = !same || (yy_currentPos < yy_startRead + searchStringLength);
-			}
-		}
-	}
-	if (n != YYEOF || same) {
-		// We've stopped short of the end or definitely found a match
-		yy_markedPos = yy_currentPos - searchStringLength;
-		yy_currentPos = yy_markedPos + 1;
-		// If the searchString occurs at the very beginning of what would have
-		// been a Block, resume scanning normally immediately
-		if (yy_markedPos == yy_startRead) {
-			yybegin(immediateFallbackState);
-			return primGetNextToken();
-		}
-	}
-	else {
-		// We ran through the rest of the input
-		yy_markedPos = yy_currentPos;
-		yy_currentPos++;
-	}
-	yybegin(exitState);
-	// If the ending occurs at the very beginning of what would have
-	// been a Block, resume scanning normally immediately
-	if(yy_markedPos == yy_startRead)
-		return primGetNextToken();
-	return searchContext;
-}
-/**
- * user method 
- * does a lookahead for the current tag name
- */
-private final String doBlockTagScan() throws IOException {
-	fIsCaseSensitiveBlocking = getBlockMarkerCaseSensitivity();
-	return doScan("</" + fCurrentTagName, true, getBlockMarkerAllowsJSP(), true, getBlockMarkerContext(fCurrentTagName), YYINITIAL, YYINITIAL);
-}
-	/**
-	 * user method
-	 *
-	 * Converts the raw context String returned by the primGetNextToken()
-	 * method into a full ITextRegion by pulling in values for the
-	 * current offset within the scanning text.
-	 *
-	 * Returns null when EOF is encountered and attaches intermittently
-	 * discovered whitespace onto the end of useful regions.
-	 *
-	 * Note that this algorithm caches the token following the one being returned
-	 * so that whitespace can be collapsed.
-	 */
-	public final ITextRegion getNextToken() throws IOException {
-		fEmbeddedContainer = null;
-		// load the starting non-whitespace token (assume that it is so)
-		if (fShouldLoadBuffered) {
-			if (fBufferedEmbeddedContainer != null) {
-				ITextRegion container = fBufferedEmbeddedContainer;
-				fBufferedEmbeddedContainer = null;
-				fShouldLoadBuffered = false;
-				return container;
-			}
-			context = fBufferedContext;
-			start = fBufferedStart;
-			textLength = length = fBufferedLength;
-			fShouldLoadBuffered = false;
-		} else {
-			context = primGetNextToken();
-			if (context == PROXY_CONTEXT) {
-				return fEmbeddedContainer;
-			} else if (context == XML_TAG_NAME || f_context == JSP_ROOT_TAG_NAME || f_context == JSP_DIRECTIVE_NAME) {
-				if(containsTagName(yy_buffer, yy_startRead, yy_markedPos-yy_startRead))
-					fCurrentTagName = yytext();
-				else
-					fCurrentTagName = null;
-			} else if (context == XML_TAG_OPEN) {
-				fIsBlockingEnabled = true;
-			} else if (context == XML_END_TAG_OPEN) {
-				fIsBlockingEnabled = false;
-			}
-			start = yychar;
-			textLength = length = yylength();
-			if (yy_atEOF) {
-				fTokenCount++;
-				return null;
-			}
-		}
-		// store the next token
-		f_context = primGetNextToken();
-		if (f_context == PROXY_CONTEXT) {
-			fBufferedEmbeddedContainer = fEmbeddedContainer;
-			fShouldLoadBuffered = true;
-		} else if (f_context == XML_TAG_NAME || f_context == JSP_ROOT_TAG_NAME || f_context == JSP_DIRECTIVE_NAME) {
-			if(containsTagName(yy_buffer, yy_startRead, yy_markedPos-yy_startRead))
-				fCurrentTagName = yytext();
-			else
-				fCurrentTagName = null;
-		} else if (f_context == XML_TAG_OPEN) {
-			fIsBlockingEnabled = true;
-		} else if (f_context == XML_END_TAG_OPEN) {
-			fIsBlockingEnabled = false;
-		}
-		fBufferedContext = f_context;
-		fBufferedStart = yychar;
-		fBufferedLength = yylength();
-		fShouldLoadBuffered = true;
-		if (fBufferedContext == WHITE_SPACE) {
-			fShouldLoadBuffered = false;
-			length += fBufferedLength;
-		}
-		if (context == null) {
-			// EOF
-			if (Debug.debugTokenizer) {
-				System.out.println(getClass().getName() + " discovered " + fTokenCount + " tokens."); //$NON-NLS-2$//$NON-NLS-1$
-			}
-			return null;
-		}
-		fTokenCount++;
-		return fRegionFactory.createToken(context, start, textLength, length, null, fCurrentTagName);
-	}
-	/* user method */
-	public JSPTokenizer(){
-		super();
-	}
-	/* user method */
-	public JSPTokenizer(char[] charArray){
-			this(new CharArrayReader(charArray));
-	}
-	/* user method */
-	public void reset(char[] charArray) {
-		reset(new CharArrayReader(charArray), 0);
-	}
-	/* user method */
-	public void reset(char[] charArray, int newOffset) {
-		reset(new CharArrayReader(charArray), newOffset);
-	}
-	/* user method */
-	public void reset(java.io.InputStream in) {
-		reset(new java.io.InputStreamReader(in), 0);
-	}
-	/* user method */
-	public void reset(java.io.InputStream in, int newOffset) {
-		reset(new java.io.InputStreamReader(in), newOffset);
-	}
-	/* user method */
-	public void reset(java.io.Reader in) {
-		reset(in, 0);
-	}
-	/**
-	 * user method *
-	 *
-	 * Reset internal counters and vars to "newly created" values, in the hopes
-	 * that resetting a pre-existing tokenizer is faster than creating a new one.
-	 *
-	 * This method contains code blocks that were essentially duplicated from the
-	 * <em>generated</em> output of this specification before this method was
-	 * added.  Those code blocks were under the above copyright.
-	 */
-	public void reset(java.io.Reader in, int newOffset) {
-		if (Debug.debugTokenizer) {
-			System.out.println("resetting tokenizer");//$NON-NLS-1$
-		}
-		fOffset = newOffset;
-	
-		/* the input device */
-		yy_reader = in;
-	
-		/* the current state of the DFA */
-		yy_state = 0;
-	
-		/* the current lexical state */
-		yy_lexical_state = YYINITIAL;
-	
-		/* this buffer contains the current text to be matched and is
-		the source of the yytext() string */
-		java.util.Arrays.fill(yy_buffer, (char)0);
-	
-		/* the textposition at the last accepting state */
-		yy_markedPos = 0;
-	
-		/* the textposition at the last state to be included in yytext */
-		yy_pushbackPos = 0;
-	
-		/* the current text position in the buffer */
-		yy_currentPos = 0;
-	
-		/* startRead marks the beginning of the yytext() string in the buffer */
-		yy_startRead = 0;
-	
-		/** 
-		 * endRead marks the last character in the buffer, that has been read
-		 * from input 
-		 */
-		yy_endRead = 0;
-	
-		/* number of newlines encountered up to the start of the matched text */
-		yyline = 0;
-	
-		/* the number of characters up to the start of the matched text */
-		yychar = 0;
-	
-		/* yy_atEOF == true <=> the scanner has returned a value for EOF */
-		yy_atEOF = false;
-	
-		/* denotes if the user-EOF-code has already been executed */
-		yy_eof_done = false;
-	
-	
-		/* user vars: */
-		fTokenCount = 0;
-	 
-		fShouldLoadBuffered = false;
-		fBufferedContext = null;
-		fBufferedStart = 1;
-		fBufferedLength = 0;
-		fStateStack = new IntStack();
-	
-		fLastInternalBlockStart = -1;
-	
-		context = null;
-		start = 0;
-		textLength = 0;
-		length = 0;
-	
-		fEmbeddedContainer = null;
-		
-		fELlevel = 0;
-	}
-	/**
-	 * user method
-	 *
-	 */
-	public BlockTokenizer newInstance() {
-		JSPTokenizer newInstance = new JSPTokenizer();
-		// global tagmarkers can be shared; they have no state and 
-		// are never destroyed (e.g. 'release')
-		for(int i = 0; i < fBlockMarkers.size(); i++) {
-			BlockMarker blockMarker = (BlockMarker) fBlockMarkers.get(i);
-			if(blockMarker.isGlobal())
-				newInstance.addBlockMarker(blockMarker);
-		}
-		for(int i = 0; i < fNestablePrefixes.size(); i++) {
-			TagMarker marker = (TagMarker) fNestablePrefixes.get(i);
-			if(marker.isGlobal())
-				newInstance.addNestablePrefix(marker);
-		}
-		return newInstance;
-	}
-	/* user method */
-	private final String scanXMLCommentText() throws IOException {
-		// Scan for '-->' and return the text up to that point as
-		//   XML_COMMENT_TEXT unless the string occurs IMMEDIATELY, in which
-		//  case change to the ST_XML_COMMENT_END state and return the next
-		//  context as usual.
-		return doScan("-->", false, true, true, XML_COMMENT_TEXT, ST_XML_COMMENT_END, ST_XML_COMMENT_END);
-	}
-	/* user method */
-	private final String scanJSPCommentText() throws IOException {
-		// Scan for '--%>' and return the text up to that point as
-		//   JSP_COMMENT_TEXT unless the string occurs IMMEDIATELY, in which
-		//  case change to the ST_JSP_COMMENT_END state and return the next
-		//  context as usual.
-		return doScan("--%>", false, false, true, JSP_COMMENT_TEXT, ST_JSP_COMMENT_END, ST_JSP_COMMENT_END);
-	}
-
-
-  /**
-   * Creates a new scanner
-   * There is also a java.io.InputStream version of this constructor.
-   *
-   * @param   in  the java.io.Reader to read input from.
-   */
-  public JSPTokenizer(java.io.Reader in) {
-    this.yy_reader = in;
-  }
-
-  /**
-   * Creates a new scanner.
-   * There is also java.io.Reader version of this constructor.
-   *
-   * @param   in  the java.io.Inputstream to read input from.
-   */
-  public JSPTokenizer(java.io.InputStream in) {
-    this(new java.io.InputStreamReader(in));
-  }
-
-  /** 
-   * Unpacks the compressed DFA transition table.
-   *
-   * @param packed   the packed transition table
-   * @return         the unpacked transition table
-   */
-  private static int [] yy_unpack(String packed) {
-    int [] trans = new int[28900];
-    int i = 0;  /* index in packed string  */
-    int j = 0;  /* index in unpacked array */
-    while (i < 7180) {
-      int count = packed.charAt(i++);
-      int value = packed.charAt(i++);
-      value--;
-      do trans[j++] = value; while (--count > 0);
-    }
-    return trans;
-  }
-
-  /** 
-   * Unpacks the compressed character translation table.
-   *
-   * @param packed   the packed character translation table
-   * @return         the unpacked character translation table
-   */
-  private static char [] yy_unpack_cmap(String packed) {
-    char [] map = new char[0x10000];
-    int i = 0;  /* index in packed string  */
-    int j = 0;  /* index in unpacked array */
-    while (i < 1376) {
-      int  count = packed.charAt(i++);
-      char value = packed.charAt(i++);
-      do map[j++] = value; while (--count > 0);
-    }
-    return map;
-  }
-
-
-  /**
-   * Gets the next input character.
-   *
-   * @return      the next character of the input stream, EOF if the
-   *              end of the stream is reached.
-   * @exception   IOException  if any I/O-Error occurs
-   */
-  private int yy_advance() throws java.io.IOException {
-
-    /* standard case */
-    if (yy_currentPos < yy_endRead) return yy_buffer[yy_currentPos++];
-
-    /* if the eof is reached, we don't need to work hard */ 
-    if (yy_atEOF) return YYEOF;
-
-    /* otherwise: need to refill the buffer */
-
-    /* first: make room (if you can) */
-    if (yy_startRead > 0) {
-      System.arraycopy(yy_buffer, yy_startRead, 
-                       yy_buffer, 0, 
-                       yy_endRead-yy_startRead);
-
-      /* translate stored positions */
-      yy_endRead-= yy_startRead;
-      yy_currentPos-= yy_startRead;
-      yy_markedPos-= yy_startRead;
-      yy_pushbackPos-= yy_startRead;
-      yy_startRead = 0;
-    }
-
-    /* is the buffer big enough? */
-    if (yy_currentPos >= yy_buffer.length) {
-      /* if not: blow it up */
-      char newBuffer[] = new char[yy_currentPos*2];
-      System.arraycopy(yy_buffer, 0, newBuffer, 0, yy_buffer.length);
-      yy_buffer = newBuffer;
-    }
-
-    /* finally: fill the buffer with new input */
-    int numRead = yy_reader.read(yy_buffer, yy_endRead, 
-                                            yy_buffer.length-yy_endRead);
-
-    if ( numRead == -1 ) return YYEOF;
-
-    yy_endRead+= numRead;
-
-    return yy_buffer[yy_currentPos++];
-  }
-
-    
-  /**
-   * Closes the input stream.
-   */
-  final public void yyclose() throws java.io.IOException {
-    yy_atEOF = true;            /* indicate end of file */
-    yy_endRead = yy_startRead;  /* invalidate buffer    */
-    yy_reader.close();
-  }
-
-
-  /**
-   * Returns the current lexical state.
-   */
-  final public int yystate() {
-    return yy_lexical_state;
-  }
-
-  /**
-   * Enters a new lexical state
-   *
-   * @param newState the new lexical state
-   */
-  final public void yybegin(int newState) {
-    yy_lexical_state = newState;
-  }
-
-
-  /**
-   * Returns the text matched by the current regular expression.
-   */
-  final public String yytext() {
-    return new String( yy_buffer, yy_startRead, yy_markedPos-yy_startRead );
-  }
-
-  /**
-   * Returns the length of the matched text region.
-   */
-  final public int yylength() {
-    return yy_markedPos-yy_startRead;
-  }
-
-
-  /**
-   * Reports an error that occured while scanning - from the SED JFlex skeleton
-   *
-   * @param   errorCode  the code of the errormessage to display
-   */
-  private void yy_ScanError(int errorCode) {
-    try {
-      Logger.log(Logger.ERROR, YY_ERROR_MSG[errorCode]);
-    }
-    catch (ArrayIndexOutOfBoundsException e) {
-      Logger.log(Logger.ERROR, YY_ERROR_MSG[YY_UNKNOWN_ERROR]);
-    }
-    // DO NOT EXIT the VM on an error
-    // System.exit(1);
-  } 
-
-
-  /**
-   * Pushes the specified amount of characters back into the input stream.
-   *
-   * They will be read again by then next call of the scanning method
-   *
-   * @param number  the number of characters to be read again.
-   *                This number must not be greater than yylength()!
-   */
-  void yypushback(int number) {
-    if ( number > yylength() )
-      yy_ScanError(YY_PUSHBACK_2BIG);
-
-    yy_markedPos -= number;
-  }
-
-	/**
-	 * user method - skeleton.sed
-	 */
-	protected final boolean containsTagName(char[] markerTagName, int offset, int tagnameLength) {
-		for(int j = 0; j < fBlockMarkers.size(); j++) {
-			BlockMarker marker = (BlockMarker)fBlockMarkers.get(j);
-			if(marker.getTagName().length() == tagnameLength) {
-				boolean matchesSoFar = true;
-				for(int i = 0; i < tagnameLength && matchesSoFar; i++) {
-					if(marker.isCaseSensitive()) {
-						if(marker.getTagName().charAt(i) != markerTagName[i + offset])
-							matchesSoFar = false;
-					}
-					else {
-						if(Character.toLowerCase(marker.getTagName().charAt(i)) != Character.toLowerCase(markerTagName[i + offset]))
-							matchesSoFar = false;
-					}
-				}
-				if(matchesSoFar)
-					return true;
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * user method - skeleton.sed
-	 *
-	 * Return ALL of the regions scannable within the remaining text
-	 * Note: for verification use
-	 */
-	public final List getRegions() {
-		List tokens = new ArrayList();
-		ITextRegion region = null;
-		try {
-			region = getNextToken();
-			while(region != null) {
-				if (region != null) {
-					tokens.add(region);
-				}
-				region = getNextToken();
-			}
-		}
-		catch (StackOverflowError e) {
-			Logger.logException(getClass().getName()+": input could not be tokenized correctly at position " + getOffset(), e);//$NON-NLS-1$
-			throw e;
-		}
-		catch (Exception e) {
-			// Since this is convenience method and NOT the recommended 
-			// way of getting tokens, many errors are simply hidden
-			Logger.logException("Exception not handled retrieving regions: " + e.getLocalizedMessage(), e);//$NON-NLS-1$
-		}
-		return tokens;
-	}
-	/**
-	 * user method - skeleton.sed
-	 */
-	private final void dump(String s) {
-		if (Debug.debugTokenizer) {
-			System.out.println(s + " (" + yychar + "-" + //$NON-NLS-2$//$NON-NLS-1$
-				(yylength() + yychar) + "):\'" +//$NON-NLS-1$
-					StringUtils.escape(yytext()) + "\'");//$NON-NLS-1$
-		}
-	}
-	/* user method  - skeleton.sed */
-	public final boolean isEOF() {
-		return yy_atEOF;
-	}
-/* user method - skeleton.sed */
-protected final boolean containsTagName(String markerTagName) {
-	Iterator blocks = fBlockMarkers.iterator();
-	while(blocks.hasNext()) {
-		BlockMarker marker = (BlockMarker)blocks.next();
-		if(marker.isCaseSensitive()) {
-			if(marker.getTagName().equals(markerTagName))
-				return true;
-		}
-		else {
-			if(marker.getTagName().equalsIgnoreCase(markerTagName))
-				return true;
-		}
-	}
-	return false;
-}
-
-  /**
-   * Contains user EOF-code, which will be executed exactly once,
-   * when the end of file is reached
-   */
-  private void yy_do_eof() {
-    if (!yy_eof_done) {
-      yy_eof_done = true;
-    // do nothing, this is the downstream parser's job
-
-    }
-  }
-
-
-  /**
-   * Resumes scanning until the next regular expression is matched,
-   * the end of input is encountered or an I/O-Error occurs.
-   *
-   * @return      the next token
-   * @exception   IOException  if any I/O-Error occurs
-   */
-  public String primGetNextToken() throws java.io.IOException {
-    int yy_input;
-    int yy_action;
-
-    yy_pushbackPos = -1;
-    boolean yy_was_pushback;
-
-    while (true) {
-
-      yychar+= yylength();
-
-      boolean yy_counted = false;
-      for (yy_currentPos = yy_startRead; yy_currentPos < yy_markedPos;
-                                                      yy_currentPos++) {
-        switch (yy_buffer[yy_currentPos]) {
-        case '\r':
-          yyline++;
-          yy_counted = true;
-          break;
-        case '\n':
-          if (yy_counted)
-            yy_counted = false;
-          else {
-            yyline++;
-          }
-          break;
-        default:
-          yy_counted = false;
-        }
-      }
-
-      if (yy_counted) {
-        if ( yy_advance() == '\n' ) yyline--;
-        if ( !yy_atEOF ) yy_currentPos--;
-      }
-
-      yy_action = -1;
-
-      yy_currentPos = yy_startRead = yy_markedPos;
-
-      yy_state = yy_lexical_state;
-
-      yy_was_pushback = false;
-
-      yy_forAction: {
-        while (true) {
-    
-          yy_input = yy_advance();
-
-          if ( yy_input == YYEOF ) break yy_forAction;
-
-          int yy_next = yytrans[ yy_rowMap[yy_state] + yycmap[yy_input] ];
-          if (yy_next == -1) break yy_forAction;
-          yy_state = yy_next;
-
-          int yy_attributes = YY_ATTRIBUTE[yy_state];
-          if ( (yy_attributes & 2) > 0 )
-            yy_pushbackPos = yy_currentPos;
-
-          if ( (yy_attributes & 1) > 0 ) {
-            yy_was_pushback = (yy_attributes & 4) > 0;
-            yy_action = yy_state; 
-            yy_markedPos = yy_currentPos; 
-            if ( (yy_attributes & 8) > 0 ) break yy_forAction;
-          }
-
-        }
-      }
-
-      if (yy_was_pushback)
-        yy_markedPos = yy_pushbackPos;
-
-      switch (yy_action) {    
-
-        case 578: 
-        case 583: 
-        case 590: 
-        case 595: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("jsp directive tag name");//$NON-NLS-1$
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
-	fEmbeddedPostState = ST_XML_EQUALS;
-        yybegin(ST_XML_ATTRIBUTE_NAME);
-        return JSP_DIRECTIVE_NAME;
- }
-        case 611: break;
-        case 542: 
-        case 544: 
-        case 545: 
-        case 546: 
-        case 547: 
-        case 548: 
-        case 549: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("\nCDATA start");//$NON-NLS-1$
-	fStateStack.push(yystate());
-	yybegin(ST_CDATA_TEXT);
-	return XML_CDATA_OPEN;
- }
-        case 612: break;
-        case 534: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("jsp:root tag name");//$NON-NLS-1$
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
-	fEmbeddedPostState = ST_XML_EQUALS;
-        yybegin(ST_XML_ATTRIBUTE_NAME);
-        return JSP_ROOT_TAG_NAME;
- }
-        case 613: break;
-        case 526: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("element");//$NON-NLS-1$
-	yybegin(ST_XML_ELEMENT_DECLARATION);
-	return XML_ELEMENT_DECLARATION;
- }
-        case 614: break;
-        case 525: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("attlist");//$NON-NLS-1$
-	yybegin(ST_XML_ATTLIST_DECLARATION);
-	return XML_ATTLIST_DECLARATION;
- }
-        case 615: break;
-        case 524: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("doctype");//$NON-NLS-1$
-	yybegin(ST_XML_DOCTYPE_DECLARATION);
-	return XML_DOCTYPE_DECLARATION;
- }
-        case 616: break;
-        case 510: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("doctype external id");//$NON-NLS-1$
-	fEmbeddedHint = XML_DOCTYPE_EXTERNAL_ID_PUBREF;
-	yybegin(ST_XML_DOCTYPE_ID_PUBLIC);
-	return XML_DOCTYPE_EXTERNAL_ID_PUBLIC;
- }
-        case 617: break;
-        case 509: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("doctype external id");//$NON-NLS-1$
-	fEmbeddedHint = XML_DOCTYPE_EXTERNAL_ID_SYSREF;
-	yybegin(ST_XML_DOCTYPE_ID_SYSTEM);
-	return XML_DOCTYPE_EXTERNAL_ID_SYSTEM;
- }
-        case 618: break;
-        case 503: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("DHTML processing instruction target");//$NON-NLS-1$
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
-	fEmbeddedPostState = ST_XML_EQUALS;
-        yybegin(ST_DHTML_ATTRIBUTE_NAME);
-        return XML_TAG_NAME;
- }
-        case 619: break;
-        case 481: 
-        case 519: 
-        case 520: 
-          { 
-	return JSP_VBL_QUOTED_CONTENT;
- }
-        case 620: break;
-        case 476: 
-        case 515: 
-        case 516: 
-          { 
-	return JSP_EL_QUOTED_CONTENT;
- }
-        case 621: break;
-        case 472: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("\nJSP comment close");//$NON-NLS-1$
-	yybegin(YYINITIAL);
-	return JSP_COMMENT_CLOSE;
- }
-        case 622: break;
-        case 471: 
-          { 
-	yybegin(ST_JSP_COMMENT);
-	assembleEmbeddedContainer(JSP_COMMENT_OPEN, JSP_COMMENT_CLOSE);
-	if(yystate() == ST_BLOCK_TAG_INTERNAL_SCAN)
-		yybegin(ST_BLOCK_TAG_SCAN);
-	return PROXY_CONTEXT;
- }
-        case 623: break;
-        case 460: 
-          { 
-	if (Debug.debugTokenizer) {
-		System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$
-	}
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
-	fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-	fStateStack.push(yystate());
-	if(yylength() > 2)
-		yypushback(yylength() -2);
-	if(Debug.debugTokenizer)
-		dump("VBL in attr value");//$NON-NLS-1$
-	yybegin(ST_JSP_VBL);
-	fELlevel++;
-	assembleEmbeddedContainer(JSP_VBL_OPEN, new String[]{JSP_VBL_CLOSE});
-	fStateStack.pop();
-	yybegin(ST_XML_ATTRIBUTE_NAME);
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
-	fEmbeddedPostState = ST_XML_EQUALS;
-	return PROXY_CONTEXT;
- }
-        case 624: break;
-        case 459: 
-          { 
-	if (Debug.debugTokenizer) {
-		System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$
-	}
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
-	fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-	fStateStack.push(yystate());
-	if(yylength() > 2)
-		yypushback(yylength() -2);
-	if(Debug.debugTokenizer)
-		dump("EL in attr value");//$NON-NLS-1$
-	yybegin(ST_JSP_EL);
-	fELlevel++;
-	assembleEmbeddedContainer(JSP_EL_OPEN, new String[]{JSP_EL_CLOSE});
-	fStateStack.pop();
-	yybegin(ST_XML_ATTRIBUTE_NAME);
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
-	fEmbeddedPostState = ST_XML_EQUALS;
-	return PROXY_CONTEXT;
- }
-        case 625: break;
-        case 454: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("\nCharRef");//$NON-NLS-1$
-	return XML_CHAR_REFERENCE;
- }
-        case 626: break;
-        case 451: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("\ncomment start");//$NON-NLS-1$
-	fEmbeddedHint = XML_COMMENT_TEXT;
-	fEmbeddedPostState = ST_XML_COMMENT;
-	yybegin(ST_XML_COMMENT);
-	return XML_COMMENT_OPEN;
- }
-        case 627: break;
-        case 450: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("\nJSP comment start");//$NON-NLS-1$
-	yybegin(ST_JSP_COMMENT);
-	return JSP_COMMENT_OPEN;
- }
-        case 628: break;
-        case 383: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("XML processing instruction target");//$NON-NLS-1$
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
-	fEmbeddedPostState = ST_XML_EQUALS;
-        yybegin(ST_XML_PI_ATTRIBUTE_NAME);
-        return XML_TAG_NAME;
- }
-        case 629: break;
-        case 382: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("comment end");//$NON-NLS-1$
-	fEmbeddedHint = UNDEFINED;
-	yybegin(YYINITIAL);
-	return XML_COMMENT_CLOSE;
- }
-        case 630: break;
-        case 381: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("CDATA end");//$NON-NLS-1$
-	yybegin(fStateStack.pop());
-	return XML_CDATA_CLOSE;
- }
-        case 631: break;
-        case 380: 
-          { 
-	yybegin(ST_JSP_VBL);
-	if(yylength() > 2)
-		yypushback(yylength() - 2);
-	fELlevel++;
-	fEmbeddedHint = XML_CONTENT;
-	fEmbeddedPostState = YYINITIAL;
-	assembleEmbeddedContainer(JSP_VBL_OPEN, JSP_VBL_CLOSE);
-	fEmbeddedHint = XML_CONTENT;
-	yybegin(YYINITIAL);
-	return PROXY_CONTEXT;
- }
-        case 632: break;
-        case 379: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("\nPEReference");//$NON-NLS-1$
-	return XML_PE_REFERENCE;
- }
-        case 633: break;
-        case 378: 
-          { 
-	yybegin(ST_JSP_EL);
-	if(yylength() > 2)
-		yypushback(yylength() - 2);
-	fELlevel++;
-	fEmbeddedHint = XML_CONTENT;
-	fEmbeddedPostState = YYINITIAL;
-	assembleEmbeddedContainer(JSP_EL_OPEN, JSP_EL_CLOSE);
-	fEmbeddedHint = XML_CONTENT;
-	yybegin(YYINITIAL);
-	return PROXY_CONTEXT;
- }
-        case 634: break;
-        case 375: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("\nEntityRef");//$NON-NLS-1$
-	return XML_ENTITY_REFERENCE;
- }
-        case 635: break;
-        case 369: 
-        case 406: 
-        case 412: 
-        case 418: 
-        case 421: 
-        case 424: 
-        case 427: 
-        case 431: 
-        case 435: 
-        case 437: 
-        case 440: 
-        case 443: 
-        case 447: 
-          { 
-	/* JSP expression begun (anywhere)
-	 * A consequence of the start anywhere possibility is that the
-	 *  incoming state must be checked to see if it's erroneous
-	 *  due to the order of precedence generated
-	 */
-	// begin sanity checks
-	if(yystate() == ST_JSP_CONTENT) {
-		// at the beginning?!
-		yypushback(2);
-		return JSP_CONTENT;
-	}
-	else if(yystate() == ST_BLOCK_TAG_SCAN) {
-		yypushback(3);
-		return doBlockTagScan();
-	}
-	else if(yystate() == ST_XML_COMMENT) {
-		yypushback(3);
-		return scanXMLCommentText();
-	}
-	else if(yystate() == ST_JSP_COMMENT) {
-		yypushback(3);
-		return scanJSPCommentText();
-	}
-	// end sanity checks
-	fStateStack.push(yystate());
-	if(fStateStack.peek()==YYINITIAL) {
-		// the simple case, just an expression out in content
-		if(Debug.debugTokenizer)
-			dump("\nJSP expression start");//$NON-NLS-1$
-		yybegin(ST_JSP_CONTENT);
-		return JSP_EXPRESSION_OPEN;
-	}
-	else {
-		if (Debug.debugTokenizer) {
-			System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$
-		}
-		if(Debug.debugTokenizer)
-			dump("JSP expression start");//$NON-NLS-1$
-		if(yystate() == ST_XML_ATTRIBUTE_VALUE_DQUOTED)
-			fEmbeddedPostState = ST_XML_ATTRIBUTE_VALUE_DQUOTED;
-		else if(yystate() == ST_XML_ATTRIBUTE_VALUE_SQUOTED)
-			fEmbeddedPostState = ST_XML_ATTRIBUTE_VALUE_SQUOTED;
-		else if(yystate() == ST_CDATA_TEXT) {
-			fEmbeddedPostState = ST_CDATA_TEXT;
-			fEmbeddedHint = XML_CDATA_TEXT;
-		}
-		yybegin(ST_JSP_CONTENT);
-		assembleEmbeddedContainer(JSP_EXPRESSION_OPEN, JSP_CLOSE);
-		if(yystate() == ST_BLOCK_TAG_INTERNAL_SCAN) {
-			yybegin(ST_BLOCK_TAG_SCAN);
-			return BLOCK_TEXT;
-		}
-		// required help for successive embedded regions
-		if(yystate() == ST_XML_TAG_NAME) {
-			fEmbeddedHint = XML_TAG_NAME;
-			fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-		}
-		else if((yystate() == ST_XML_ATTRIBUTE_NAME || yystate() == ST_XML_EQUALS)) {
-			fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
-			fEmbeddedPostState = ST_XML_EQUALS;
-		}
-		else if(yystate() == ST_XML_ATTRIBUTE_VALUE) {
-			fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
-			fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-		}
-		return PROXY_CONTEXT;
-	}
- }
-        case 636: break;
-        case 368: 
-        case 405: 
-        case 411: 
-        case 417: 
-        case 420: 
-        case 423: 
-        case 426: 
-        case 430: 
-        case 434: 
-        case 436: 
-        case 439: 
-        case 442: 
-        case 446: 
-          { 
-	/* JSP declaration begun (anywhere)
-	 * A consequence of the start anywhere possibility is that the
-	 *  incoming state must be checked to see if it's erroneous
-	 *  due to the order of precedence generated
-	 */
-	// begin sanity checks
-	if(yystate() == ST_JSP_CONTENT) {
-		// at the beginning?!
-		yypushback(2);
-		return JSP_CONTENT;
-	}
-	else if(yystate() == ST_BLOCK_TAG_SCAN) {
-		yypushback(3);
-		return doBlockTagScan();
-	}
-	else if(yystate() == ST_XML_COMMENT) {
-		yypushback(3);
-		return scanXMLCommentText();
-	}
-	else if(yystate() == ST_JSP_COMMENT) {
-		yypushback(3);
-		return scanJSPCommentText();
-	}
-	// end sanity checks
-	fStateStack.push(yystate());
-	if(fStateStack.peek()==YYINITIAL) {
-		// the simple case, just a declaration out in content
-		if(Debug.debugTokenizer)
-			dump("\nJSP declaration start");//$NON-NLS-1$
-		yybegin(ST_JSP_CONTENT);
-		return JSP_DECLARATION_OPEN;
-	}
-	else {
-		if (Debug.debugTokenizer) {
-			System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$
-		}
-		if(Debug.debugTokenizer)
-			dump("JSP declaration start");//$NON-NLS-1$
-		if(yystate() == ST_XML_ATTRIBUTE_VALUE_DQUOTED)
-			fEmbeddedPostState = ST_XML_ATTRIBUTE_VALUE_DQUOTED;
-		else if(yystate() == ST_XML_ATTRIBUTE_VALUE_SQUOTED)
-			fEmbeddedPostState = ST_XML_ATTRIBUTE_VALUE_SQUOTED;
-		else if(yystate() == ST_CDATA_TEXT) {
-			fEmbeddedPostState = ST_CDATA_TEXT;
-			fEmbeddedHint = XML_CDATA_TEXT;
-		}
-		yybegin(ST_JSP_CONTENT);
-		assembleEmbeddedContainer(JSP_DECLARATION_OPEN, JSP_CLOSE);
-		if(yystate() == ST_BLOCK_TAG_INTERNAL_SCAN) {
-			yybegin(ST_BLOCK_TAG_SCAN);
-			return BLOCK_TEXT;
-		}
-		// required help for successive embedded regions
-		if(yystate() == ST_XML_TAG_NAME) {
-			fEmbeddedHint = XML_TAG_NAME;
-			fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-		}
-		else if((yystate() == ST_XML_ATTRIBUTE_NAME || yystate() == ST_XML_EQUALS)) {
-			fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
-			fEmbeddedPostState = ST_XML_EQUALS;
-		}
-		else if(yystate() == ST_XML_ATTRIBUTE_VALUE) {
-			fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
-			fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-		}
-		return PROXY_CONTEXT;
-	}
- }
-        case 637: break;
-        case 367: 
-          { 
-	fStateStack.push(yystate());
-	if(fStateStack.peek()==YYINITIAL) {
-		if(Debug.debugTokenizer)
-			dump("\nJSP directive start");//$NON-NLS-1$
-		yybegin(ST_JSP_DIRECTIVE_NAME);
-		return JSP_DIRECTIVE_OPEN;
-	}
-	else {
-		if (Debug.debugTokenizer) {
-			System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$
-		}
-		if(Debug.debugTokenizer)
-			dump("JSP directive start");//$NON-NLS-1$
-		yybegin(ST_JSP_DIRECTIVE_NAME);
-		assembleEmbeddedContainer(JSP_DIRECTIVE_OPEN, new String[]{JSP_DIRECTIVE_CLOSE, JSP_CLOSE});
-		if(yystate() == ST_BLOCK_TAG_INTERNAL_SCAN) {
-			yybegin(ST_BLOCK_TAG_SCAN);
-			return BLOCK_TEXT;
-		}
-		return PROXY_CONTEXT;
-	}
- }
-        case 638: break;
-        case 357: 
-          { 
-	yybegin(ST_JSP_VBL_DQUOTES_END);
-	return JSP_VBL_QUOTED_CONTENT;
- }
-        case 639: break;
-        case 353: 
-          { 
-	yybegin(ST_JSP_VBL_SQUOTES_END);
-	return JSP_VBL_QUOTED_CONTENT;
- }
-        case 640: break;
-        case 351: 
-          { 
-	fELlevel++;
-	if(fELlevel == 1) {
-		return JSP_VBL_OPEN;
-	}
- }
-        case 641: break;
-        case 341: 
-          { 
-	yybegin(ST_JSP_EL_DQUOTES_END);
-	return JSP_EL_QUOTED_CONTENT;
- }
-        case 642: break;
-        case 337: 
-          { 
-	yybegin(ST_JSP_EL_SQUOTES_END);
-	return JSP_EL_QUOTED_CONTENT;
- }
-        case 643: break;
-        case 335: 
-          { 
-	//System.out.println(JSP_EL_CONTENT+ ":[" + yytext() + "]");
-	return JSP_EL_CONTENT;
- }
-        case 644: break;
-        case 334: 
-          { 
-	fELlevel++;
-	if(fELlevel == 1) {
-		return JSP_EL_OPEN;
-	}
- }
-        case 645: break;
-        case 331: 
-          { 
-	int enterState = yystate();
-	yybegin(ST_JSP_DQUOTED_VBL);
-	assembleEmbeddedContainer(JSP_VBL_OPEN, new String[]{JSP_VBL_CLOSE, XML_TAG_ATTRIBUTE_VALUE_DQUOTE});
-	// abort early when an unescaped double quote is found in the VBL
-	if(fEmbeddedContainer.getLastRegion().getType().equals(XML_TAG_ATTRIBUTE_VALUE_DQUOTE)) {
-		yybegin(ST_ABORT_EMBEDDED);
-		fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-	}
-	else {
-		yybegin(enterState);
-	}
-	return PROXY_CONTEXT;
- }
-        case 646: break;
-        case 330: 
-          { 
-	int enterState = yystate();
-	yybegin(ST_JSP_DQUOTED_EL);
-	assembleEmbeddedContainer(JSP_EL_OPEN, new String[]{JSP_EL_CLOSE, XML_TAG_ATTRIBUTE_VALUE_DQUOTE});
-	// abort early when an unescaped double quote is found in the EL
-	if(fEmbeddedContainer.getLastRegion().getType().equals(XML_TAG_ATTRIBUTE_VALUE_DQUOTE)) {
-		yybegin(ST_ABORT_EMBEDDED);
-		fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-	}
-	else {
-		yybegin(enterState);
-	}
-	return PROXY_CONTEXT;
- }
-        case 647: break;
-        case 328: 
-          { 
-	int enterState = yystate();
-	yybegin(ST_JSP_SQUOTED_VBL);
-	assembleEmbeddedContainer(JSP_VBL_OPEN, new String[]{JSP_VBL_CLOSE, XML_TAG_ATTRIBUTE_VALUE_SQUOTE});
-	// abort early when an unescaped single quote is found in the VBL
-	if(fEmbeddedContainer.getLastRegion().getType().equals(XML_TAG_ATTRIBUTE_VALUE_SQUOTE)) {
-		yybegin(ST_ABORT_EMBEDDED);
-		fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-	}
-	else {
-		yybegin(enterState);
-	}
-	return PROXY_CONTEXT;
- }
-        case 648: break;
-        case 327: 
-          { 
-	int enterState = yystate();
-	yybegin(ST_JSP_SQUOTED_EL);
-	assembleEmbeddedContainer(JSP_EL_OPEN, new String[]{JSP_EL_CLOSE, XML_TAG_ATTRIBUTE_VALUE_SQUOTE});
-	// abort early when an unescaped single quote is found in the EL
-	if(fEmbeddedContainer.getLastRegion().getType().equals(XML_TAG_ATTRIBUTE_VALUE_SQUOTE)) {
-		yybegin(ST_ABORT_EMBEDDED);
-		fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-	}
-	else {
-		yybegin(enterState);
-	}
-	return PROXY_CONTEXT;
- }
-        case 649: break;
-        case 326: 
-          { 
-	if (Debug.debugTokenizer) {
-		System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$
-	}
-	int incomingState = yystate();
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
-	fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-	if(Debug.debugTokenizer)
-		dump("JSP attribute value start - end tag");//$NON-NLS-1$
-	yybegin(ST_XML_TAG_NAME);
-	assembleEmbeddedContainer(XML_END_TAG_OPEN, new String[]{XML_TAG_CLOSE,XML_EMPTY_TAG_CLOSE});
-	if(yystate() != ST_ABORT_EMBEDDED)
-        yybegin(incomingState);
-	return PROXY_CONTEXT;
- }
-        case 650: break;
-        case 284: 
-        case 296: 
-        case 302: 
-          { 
-	return XML_DOCTYPE_INTERNAL_SUBSET;
- }
-        case 651: break;
-        case 272: 
-          { 
-	String tagName = yytext().substring(1);
-	// pushback to just after the opening bracket
-	yypushback(yylength() - 1);
-	if(!isNestable(tagName)) {
-		yybegin(ST_XML_TAG_NAME);
-		return XML_TAG_OPEN;
-	}
-	if(Debug.debugTokenizer)
-		dump("tag in place of attr value");//$NON-NLS-1$
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
-	fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-	fStateStack.push(yystate());
-	// embedded container should be looking for the name (again) next
-	yybegin(ST_XML_TAG_NAME);
-	assembleEmbeddedTagSequence(XML_TAG_OPEN, tagName); // ?
-	fStateStack.pop();
-	yybegin(ST_XML_ATTRIBUTE_NAME);
-	return PROXY_CONTEXT;
- }
-        case 652: break;
-        case 270: 
-          { 
-	String tagName = yytext().substring(1);
-	// pushback to just after the opening bracket
-	yypushback(yylength() - 1);
-	if(!isNestable(tagName)) {
-		yybegin(ST_XML_TAG_NAME);
-		return XML_TAG_OPEN;
-	}
-	if(Debug.debugTokenizer)
-		dump("tag in place of attr name");//$NON-NLS-1$
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
-	fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-	fStateStack.push(yystate());
-	// embedded container should be looking for the name (again) next
-	yybegin(ST_XML_TAG_NAME);
-	assembleEmbeddedTagSequence(XML_TAG_OPEN, tagName); // ?
-	fStateStack.pop();
-	yybegin(ST_XML_EQUALS);
-	return PROXY_CONTEXT;
- }
-        case 653: break;
-        case 268: 
-          { 
-        yybegin(YYINITIAL);
-	fEmbeddedHint = UNDEFINED;
-	if(Debug.debugTokenizer)
-		dump("empty tag close");//$NON-NLS-1$
-        return XML_EMPTY_TAG_CLOSE;
- }
-        case 654: break;
-        case 125: 
-          { 
-	if (Debug.debugTokenizer) {
-		System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$
-	}
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
-	fEmbeddedPostState = ST_XML_ATTRIBUTE_VALUE_DQUOTED;
-	yybegin(ST_XML_ATTRIBUTE_VALUE_DQUOTED);
-	fStateStack.push(yystate());
-	if(Debug.debugTokenizer)
-		dump("JSP attribute value start - complex double quoted");//$NON-NLS-1$
-	assembleEmbeddedContainer(XML_TAG_ATTRIBUTE_VALUE_DQUOTE, XML_TAG_ATTRIBUTE_VALUE_DQUOTE);
-	fStateStack.pop();
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
-	fEmbeddedPostState = ST_XML_EQUALS;
-	yybegin(ST_XML_ATTRIBUTE_NAME);
-	return PROXY_CONTEXT;
- }
-        case 655: break;
-        case 123: 
-          { 
-	if (Debug.debugTokenizer) {
-		System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$
-	}
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
-	fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-	fStateStack.push(yystate());
-	if(Debug.debugTokenizer)
-		dump("JSP tag embedded name start - start tag");//$NON-NLS-1$
-	yybegin(ST_XML_TAG_NAME);
-	assembleEmbeddedContainer(XML_TAG_OPEN, new String[]{XML_TAG_CLOSE,XML_EMPTY_TAG_CLOSE});
-	fStateStack.pop();
-        yybegin(ST_XML_ATTRIBUTE_NAME);
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
-	fEmbeddedPostState = ST_XML_EQUALS;
-	return PROXY_CONTEXT;
- }
-        case 656: break;
-        case 122: 
-        case 127: 
-        case 128: 
-        case 274: 
-        case 278: 
-        case 279: 
-        case 388: 
-        case 391: 
-        case 458: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("attr value");//$NON-NLS-1$
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
-	fEmbeddedPostState = ST_XML_EQUALS;
-        yybegin(ST_XML_ATTRIBUTE_NAME);
-        return XML_TAG_ATTRIBUTE_VALUE;
- }
-        case 657: break;
-        case 121: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("equals");//$NON-NLS-1$
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
-	fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-        yybegin(ST_XML_ATTRIBUTE_VALUE);
-        return XML_TAG_ATTRIBUTE_EQUALS;
- }
-        case 658: break;
-        case 120: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("attr name");//$NON-NLS-1$
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
-	fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-        yybegin(ST_XML_EQUALS);
-        return XML_TAG_ATTRIBUTE_NAME;
- }
-        case 659: break;
-        case 116: 
-        case 117: 
-        case 118: 
-        case 269: 
-        case 387: 
-        case 457: 
-        case 485: 
-        case 486: 
-        case 504: 
-        case 505: 
-        case 522: 
-        case 523: 
-        case 535: 
-        case 543: 
-        case 550: 
-        case 551: 
-        case 552: 
-        case 553: 
-        case 555: 
-        case 561: 
-        case 562: 
-        case 563: 
-        case 564: 
-        case 565: 
-        case 571: 
-        case 572: 
-        case 573: 
-        case 574: 
-        case 575: 
-        case 581: 
-        case 582: 
-        case 584: 
-        case 585: 
-        case 591: 
-        case 592: 
-        case 593: 
-        case 594: 
-        case 600: 
-        case 601: 
-        case 602: 
-        case 603: 
-        case 606: 
-        case 607: 
-        case 609: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("tag name");//$NON-NLS-1$
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
-	fEmbeddedPostState = ST_XML_EQUALS;
-        yybegin(ST_XML_ATTRIBUTE_NAME);
-        return XML_TAG_NAME;
- }
-        case 660: break;
-        case 114: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("tag close");//$NON-NLS-1$
-	fEmbeddedHint = UNDEFINED;
-	if(isBlockMarker()) {
-		fEmbeddedHint = getBlockMarkerContext();
-		fEmbeddedPostState = ST_BLOCK_TAG_SCAN;
-        	yybegin(ST_BLOCK_TAG_SCAN);
-	}
-	else
-        	yybegin(YYINITIAL);
-        return XML_TAG_CLOSE;
- }
-        case 661: break;
-        case 107: 
-        case 111: 
-        case 264: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("attr value");//$NON-NLS-1$
-        yybegin(ST_JSP_DIRECTIVE_ATTRIBUTE_NAME);
-        return XML_TAG_ATTRIBUTE_VALUE;
- }
-        case 662: break;
-        case 106: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("equals");//$NON-NLS-1$
-        yybegin(ST_JSP_DIRECTIVE_ATTRIBUTE_VALUE);
-        return XML_TAG_ATTRIBUTE_EQUALS;
- }
-        case 663: break;
-        case 105: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("attr name");//$NON-NLS-1$
-        yybegin(ST_JSP_DIRECTIVE_EQUALS);
-        return XML_TAG_ATTRIBUTE_NAME;
- }
-        case 664: break;
-        case 102: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("JSP directive name");//$NON-NLS-1$
-	yybegin(ST_JSP_DIRECTIVE_NAME_WHITESPACE);
-	return JSP_DIRECTIVE_NAME;
- }
-        case 665: break;
-        case 98: 
-        case 99: 
-        case 100: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("JSP code content");//$NON-NLS-1$
-	return doScan("%>", false, false, false, JSP_CONTENT, ST_JSP_CONTENT, ST_JSP_CONTENT);
- }
-        case 666: break;
-        case 94: 
-        case 96: 
-        case 97: 
-        case 254: 
-        case 255: 
-        case 258: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("DHTML processing instruction attribute value");//$NON-NLS-1$
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
-	fEmbeddedPostState = ST_XML_EQUALS;
-        yybegin(ST_DHTML_ATTRIBUTE_NAME);
-        return XML_TAG_ATTRIBUTE_VALUE;
- }
-        case 667: break;
-        case 93: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("DHTML processing instruction '='");//$NON-NLS-1$
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
-	fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-        yybegin(ST_DHTML_ATTRIBUTE_VALUE);
-        return XML_TAG_ATTRIBUTE_EQUALS;
- }
-        case 668: break;
-        case 92: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("DHTML processing instruction attribute name");//$NON-NLS-1$
-        yybegin(ST_DHTML_EQUALS);
-        return XML_TAG_ATTRIBUTE_NAME;
- }
-        case 669: break;
-        case 90: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("DHTML processing instruction end");//$NON-NLS-1$
-	fEmbeddedHint = UNDEFINED;
-        yybegin(YYINITIAL);
-        return XML_PI_CLOSE;
- }
-        case 670: break;
-        case 84: 
-        case 86: 
-        case 245: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("XML processing instruction attribute value");//$NON-NLS-1$
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
-	fEmbeddedPostState = ST_XML_EQUALS;
-        yybegin(ST_XML_PI_ATTRIBUTE_NAME);
-        return XML_TAG_ATTRIBUTE_VALUE;
- }
-        case 671: break;
-        case 83: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("XML processing instruction '='");//$NON-NLS-1$
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
-	fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-        yybegin(ST_XML_PI_ATTRIBUTE_VALUE);
-        return XML_TAG_ATTRIBUTE_EQUALS;
- }
-        case 672: break;
-        case 50: 
-        case 200: 
-        case 201: 
-        case 204: 
-        case 214: 
-        case 215: 
-        case 218: 
-        case 219: 
-        case 362: 
-        case 365: 
-          { 
-	return JSP_VBL_CONTENT;
- }
-        case 673: break;
-        case 43: 
-        case 179: 
-        case 180: 
-        case 183: 
-        case 193: 
-        case 194: 
-        case 197: 
-        case 198: 
-        case 332: 
-        case 346: 
-        case 349: 
-        case 416: 
-          { 
-	return JSP_EL_CONTENT;
- }
-        case 674: break;
-        case 35: 
-        case 159: 
-        case 160: 
-        case 322: 
-        case 413: 
-        case 470: 
-        case 493: 
-        case 512: 
-        case 528: 
-        case 537: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("attlist contentspec");//$NON-NLS-1$
-	return XML_ATTLIST_DECL_CONTENT;
- }
-        case 675: break;
-        case 33: 
-        case 152: 
-        case 153: 
-        case 312: 
-        case 407: 
-        case 468: 
-        case 492: 
-        case 511: 
-        case 527: 
-        case 536: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("elementdecl contentspec");//$NON-NLS-1$
-	return XML_ELEMENT_DECL_CONTENT;
- }
-        case 676: break;
-        case 22: 
-        case 112: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("inappropriate tag name");//$NON-NLS-1$
-	if(!fStateStack.empty() && (fStateStack.peek()==ST_XML_ATTRIBUTE_VALUE_SQUOTED||fStateStack.peek()==ST_XML_ATTRIBUTE_VALUE_DQUOTED)) {
-		yybegin(ST_ABORT_EMBEDDED);
-		yypushback(yylength()-1);
-		return XML_TAG_ATTRIBUTE_VALUE;
-	}
-	yybegin(YYINITIAL);
-        return XML_CONTENT;
- }
-        case 677: break;
-        case 18: 
-        case 104: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("white space");//$NON-NLS-1$
-	yybegin(ST_JSP_DIRECTIVE_ATTRIBUTE_NAME);
-	return WHITE_SPACE;
- }
-        case 678: break;
-        case 5: 
-        case 8: 
-        case 9: 
-        case 10: 
-        case 12: 
-        case 13: 
-        case 14: 
-        case 15: 
-        case 17: 
-        case 19: 
-        case 20: 
-        case 21: 
-        case 23: 
-        case 24: 
-        case 25: 
-        case 26: 
-        case 27: 
-        case 28: 
-        case 29: 
-        case 30: 
-        case 31: 
-        case 32: 
-        case 34: 
-        case 40: 
-        case 41: 
-        case 73: 
-        case 170: 
-        case 175: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("white space");//$NON-NLS-1$
-        return WHITE_SPACE;
- }
-        case 679: break;
-        case 0: 
-        case 57: 
-        case 60: 
-        case 62: 
-        case 226: 
-        case 228: 
-        case 229: 
-        case 231: 
-        case 233: 
-        case 372: 
-        case 373: 
-        case 374: 
-        case 453: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("\nXML content");//$NON-NLS-1$
-	return XML_CONTENT;
- }
-        case 680: break;
-        case 58: 
-        case 101: 
-        case 113: 
-        case 119: 
-        case 129: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("\nstart tag open");//$NON-NLS-1$
-	fEmbeddedHint = XML_TAG_NAME;
-	fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-        yybegin(ST_XML_TAG_NAME);
-        return XML_TAG_OPEN;
- }
-        case 681: break;
-        case 59: 
-        case 61: 
-        case 65: 
-        case 66: 
-        case 67: 
-        case 71: 
-        case 72: 
-        case 81: 
-        case 85: 
-        case 87: 
-        case 88: 
-        case 89: 
-        case 91: 
-        case 95: 
-        case 103: 
-        case 108: 
-        case 109: 
-        case 110: 
-        case 115: 
-        case 124: 
-        case 131: 
-        case 132: 
-        case 133: 
-        case 134: 
-        case 136: 
-        case 137: 
-        case 139: 
-        case 140: 
-        case 141: 
-        case 144: 
-        case 145: 
-        case 146: 
-        case 149: 
-        case 150: 
-        case 151: 
-        case 156: 
-        case 157: 
-        case 158: 
-        case 164: 
-        case 167: 
-        case 172: 
-        case 173: 
-        case 177: 
-        case 178: 
-        case 185: 
-        case 186: 
-        case 188: 
-        case 189: 
-        case 195: 
-        case 199: 
-        case 206: 
-        case 207: 
-        case 209: 
-        case 210: 
-        case 216: 
-        case 220: 
-          { 
-	if (Debug.debugTokenizer)
-		System.out.println("!!!unexpected!!!: \"" + yytext() + "\":" + //$NON-NLS-2$//$NON-NLS-1$
-			yychar + "-" + (yychar + yylength()));//$NON-NLS-1$
-	return UNDEFINED;
- }
-        case 682: break;
-        case 63: 
-        case 64: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("CDATA text");//$NON-NLS-1$
-	fEmbeddedPostState = ST_CDATA_TEXT;
-	fEmbeddedHint = XML_CDATA_TEXT;
-	String returnedContext = doScan("]]>", false, true, true, XML_CDATA_TEXT, ST_CDATA_END,  ST_CDATA_END);//$NON-NLS-1$
-	if(returnedContext == XML_CDATA_TEXT)
-		yybegin(ST_CDATA_END);
-	return returnedContext;
- }
-        case 683: break;
-        case 68: 
-        case 187: 
-        case 190: 
-        case 208: 
-        case 211: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("LINE FEED");//$NON-NLS-1$
-	return WHITE_SPACE;
- }
-        case 684: break;
-        case 69: 
-        case 70: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("comment content");//$NON-NLS-1$
-	return scanXMLCommentText();
- }
-        case 685: break;
-        case 74: 
-        case 75: 
-        case 76: 
-        case 239: 
-        case 240: 
-        case 384: 
-        case 456: 
-        case 484: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("processing instruction target");//$NON-NLS-1$
-	fEmbeddedHint = XML_CONTENT;
-        yybegin(ST_PI_WS);
-        return XML_TAG_NAME;
- }
-        case 686: break;
-        case 77: 
-          { 
-        yybegin(ST_PI_CONTENT);
-        return WHITE_SPACE;
- }
-        case 687: break;
-        case 78: 
-        case 79: 
-        case 80: 
-          { 
-		// block scan until close is found
-	return doScan("?>", false, false, false, XML_PI_CONTENT, ST_XML_PI_TAG_CLOSE, ST_XML_PI_TAG_CLOSE);
- }
-        case 688: break;
-        case 82: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("XML processing instruction attribute name");//$NON-NLS-1$
-        yybegin(ST_XML_PI_EQUALS);
-        return XML_TAG_ATTRIBUTE_NAME;
- }
-        case 689: break;
-        case 126: 
-          { 
-	if (Debug.debugTokenizer) {
-		System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$
-	}
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
-	fEmbeddedPostState = ST_XML_ATTRIBUTE_VALUE_SQUOTED;
-	yybegin(ST_XML_ATTRIBUTE_VALUE_SQUOTED);
-	fStateStack.push(yystate());
-	if(Debug.debugTokenizer)
-		dump("JSP attribute value start - complex single quoted");//$NON-NLS-1$
-	assembleEmbeddedContainer(XML_TAG_ATTRIBUTE_VALUE_SQUOTE, XML_TAG_ATTRIBUTE_VALUE_SQUOTE);
-	fStateStack.pop();
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
-	fEmbeddedPostState = ST_XML_EQUALS;
-        yybegin(ST_XML_ATTRIBUTE_NAME);
-	return PROXY_CONTEXT;
- }
-        case 690: break;
-        case 130: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("declaration end");//$NON-NLS-1$
-	if (Debug.debugTokenizer) {
-		if(fStateStack.peek()!=YYINITIAL)
-			System.out.println("end embedded region");//$NON-NLS-1$
-	}
-	yybegin(fStateStack.pop());
-	return XML_DECLARATION_CLOSE;
- }
-        case 691: break;
-        case 135: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("doctype type");//$NON-NLS-1$
-	yybegin(ST_XML_DOCTYPE_EXTERNAL_ID);
-	return XML_DOCTYPE_NAME;
- }
-        case 692: break;
-        case 138: 
-        case 142: 
-        case 289: 
-        case 293: 
-        case 400: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("doctype public reference");//$NON-NLS-1$
-	fEmbeddedHint = UNDEFINED;
-	fEmbeddedPostState = YYINITIAL;
-	yybegin(ST_XML_DOCTYPE_ID_SYSTEM);
-	return XML_DOCTYPE_EXTERNAL_ID_PUBREF;
- }
-        case 693: break;
-        case 143: 
-        case 147: 
-        case 299: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("doctype system reference");//$NON-NLS-1$
-	fEmbeddedHint = UNDEFINED;
-	fEmbeddedPostState = YYINITIAL;
-	yybegin(ST_XML_DECLARATION_CLOSE);
-	return XML_DOCTYPE_EXTERNAL_ID_SYSREF;
- }
-        case 694: break;
-        case 148: 
-        case 305: 
-        case 309: 
-        case 403: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("elementdecl name");//$NON-NLS-1$
-	fEmbeddedHint = UNDEFINED;
-	fEmbeddedPostState = YYINITIAL;
-	yybegin(ST_XML_ELEMENT_DECLARATION_CONTENT);
-	return XML_ELEMENT_DECL_NAME;
- }
-        case 695: break;
-        case 154: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("elementdecl close");//$NON-NLS-1$
-	if (Debug.debugTokenizer) {
-		if(fStateStack.peek()!=YYINITIAL)
-			System.out.println("end embedded region");//$NON-NLS-1$
-	}
-	yybegin(fStateStack.pop());
-	return XML_DECLARATION_CLOSE;
- }
-        case 696: break;
-        case 155: 
-        case 315: 
-        case 319: 
-        case 409: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("attlist name");//$NON-NLS-1$
-	fEmbeddedHint = UNDEFINED;
-	fEmbeddedPostState = YYINITIAL;
-	yybegin(ST_XML_ATTLIST_DECLARATION_CONTENT);
-	return XML_ATTLIST_DECL_NAME;
- }
-        case 697: break;
-        case 161: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("attlist close");//$NON-NLS-1$
-	if (Debug.debugTokenizer) {
-		if(fStateStack.peek()!=YYINITIAL)
-			System.out.println("end embedded region");//$NON-NLS-1$
-	}
-	yybegin(fStateStack.pop());
-	return XML_DECLARATION_CLOSE;
- }
-        case 698: break;
-        case 165: 
-        case 166: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("\nJSP comment text");//$NON-NLS-1$
-	return scanJSPCommentText();
- }
-        case 699: break;
-        case 168: 
-        case 174: 
-          { 
-	return XML_TAG_ATTRIBUTE_VALUE;
- }
-        case 700: break;
-        case 169: 
-          { 
-	if (Debug.debugTokenizer) {
-		System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$
-	}
-	int incomingState = yystate();
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
-	fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-	if(Debug.debugTokenizer)
-		dump("tag inside of JSP attribute value start");//$NON-NLS-1$
-	yybegin(ST_XML_TAG_NAME);
-	assembleEmbeddedContainer(XML_TAG_OPEN, new String[]{XML_TAG_CLOSE,XML_EMPTY_TAG_CLOSE});
-	if(yystate() != ST_ABORT_EMBEDDED)
-        yybegin(incomingState);
-	return PROXY_CONTEXT;
- }
-        case 701: break;
-        case 171: 
-          { 
-	return XML_TAG_ATTRIBUTE_VALUE_SQUOTE;
- }
-        case 702: break;
-        case 176: 
-          { 
-	return XML_TAG_ATTRIBUTE_VALUE_DQUOTE;
- }
-        case 703: break;
-        case 181: 
-          { 
-	yybegin(ST_JSP_EL_DQUOTES);
-	return JSP_EL_DQUOTE;
- }
-        case 704: break;
-        case 182: 
-          { 
-	yybegin(ST_JSP_EL_SQUOTES);
-	return JSP_EL_SQUOTE;
- }
-        case 705: break;
-        case 184: 
-          { 
-	fELlevel--;
-	if(fELlevel == 0) {
-		yybegin(YYINITIAL);
-		return JSP_EL_CLOSE;
-	}
-	return JSP_EL_CONTENT;
- }
-        case 706: break;
-        case 191: 
-          { 
-	yybegin(ST_JSP_EL);
-	return JSP_EL_SQUOTE;
- }
-        case 707: break;
-        case 192: 
-          { 
-	yybegin(ST_JSP_EL);
-	return JSP_EL_DQUOTE;
- }
-        case 708: break;
-        case 196: 
-          { 
-	return JSP_EL_CLOSE;
- }
-        case 709: break;
-        case 202: 
-          { 
-	yybegin(ST_JSP_VBL_DQUOTES);
-	return JSP_VBL_DQUOTE;
- }
-        case 710: break;
-        case 203: 
-          { 
-	yybegin(ST_JSP_VBL_SQUOTES);
-	return JSP_VBL_SQUOTE;
- }
-        case 711: break;
-        case 205: 
-          { 
-	fELlevel--;
-	if(fELlevel == 0) {
-		yybegin(YYINITIAL);
-		return JSP_VBL_CLOSE;
-	}
-	return JSP_VBL_CONTENT;
- }
-        case 712: break;
-        case 212: 
-          { 
-	yybegin(ST_JSP_VBL);
-	return JSP_VBL_SQUOTE;
- }
-        case 713: break;
-        case 213: 
-          { 
-	yybegin(ST_JSP_VBL);
-	return JSP_VBL_DQUOTE;
- }
-        case 714: break;
-        case 217: 
-          { 
-	return JSP_VBL_CLOSE;
- }
-        case 715: break;
-        case 221: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("\nend tag open");//$NON-NLS-1$
-	fEmbeddedHint = XML_TAG_NAME;
-	fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-        yybegin(ST_XML_TAG_NAME);
-        return XML_END_TAG_OPEN;
- }
-        case 716: break;
-        case 222: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("\nprocessing instruction start");//$NON-NLS-1$
-	yybegin(ST_PI);
-        return XML_PI_OPEN;
- }
-        case 717: break;
-        case 223: 
-        case 234: 
-        case 311: 
-        case 321: 
-        case 323: 
-        case 333: 
-        case 338: 
-        case 342: 
-        case 345: 
-        case 348: 
-        case 350: 
-        case 354: 
-        case 358: 
-        case 361: 
-        case 364: 
-          { 
-	/* JSP scriptlet begun (anywhere)
-	 * A consequence of the start anywhere possibility is that the
-	 *  incoming state must be checked to see if it's erroneous
-	 *  due to the order of precedence generated
-	 */
-	// begin sanity checks
-	if(yystate() == ST_JSP_CONTENT) {
-		// at the beginning?!
-		yypushback(1);
-		return JSP_CONTENT;
-	}
-	else if(yystate() == ST_BLOCK_TAG_SCAN) {
-		yypushback(2);
-		return doBlockTagScan();
-	}
-	else if(yystate() == ST_XML_COMMENT) {
-		yypushback(2);
-		return scanXMLCommentText();
-	}
-	else if(yystate() == ST_JSP_COMMENT) {
-		yypushback(2);
-		return scanJSPCommentText();
-	}
-	// finished sanity checks
-	fStateStack.push(yystate());
-	if(fStateStack.peek()==YYINITIAL) {
-		// the simple case, just a regular scriptlet out in content
-		if(Debug.debugTokenizer)
-			dump("\nJSP scriptlet start");//$NON-NLS-1$
-		yybegin(ST_JSP_CONTENT);
-		return JSP_SCRIPTLET_OPEN;
-	}
-	else {
-		if (Debug.debugTokenizer) {
-			System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$
-		}
-		if(Debug.debugTokenizer)
-			dump("JSP scriptlet start");//$NON-NLS-1$
-		if(yystate() == ST_XML_ATTRIBUTE_VALUE_DQUOTED)
-			fEmbeddedPostState = ST_XML_ATTRIBUTE_VALUE_DQUOTED;
-		else if(yystate() == ST_XML_ATTRIBUTE_VALUE_SQUOTED)
-			fEmbeddedPostState = ST_XML_ATTRIBUTE_VALUE_SQUOTED;
-		else if(yystate() == ST_CDATA_TEXT) {
-			fEmbeddedPostState = ST_CDATA_TEXT;
-			fEmbeddedHint = XML_CDATA_TEXT;
-		}
-		yybegin(ST_JSP_CONTENT);
-		assembleEmbeddedContainer(JSP_SCRIPTLET_OPEN, JSP_CLOSE);
-		if(yystate() == ST_BLOCK_TAG_INTERNAL_SCAN) {
-			yybegin(ST_BLOCK_TAG_SCAN);
-			return BLOCK_TEXT;
-		}
-		// required help for successive embedded regions
-		if(yystate() == ST_XML_TAG_NAME) {
-			fEmbeddedHint = XML_TAG_NAME;
-			fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-		}
-		else if((yystate() == ST_XML_ATTRIBUTE_NAME || yystate() == ST_XML_EQUALS)) {
-			fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
-			fEmbeddedPostState = ST_XML_EQUALS;
-		}
-		else if(yystate() == ST_XML_ATTRIBUTE_VALUE) {
-			fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
-			fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-		}
-		return PROXY_CONTEXT;
-	}
- }
-        case 718: break;
-        case 224: 
-          { 
-	fStateStack.push(yystate());
-	if(Debug.debugTokenizer)
-		dump("\ndeclaration start");//$NON-NLS-1$
-        yybegin(ST_XML_DECLARATION);
-	return XML_DECLARATION_OPEN;
- }
-        case 719: break;
-        case 238: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("processing instruction end");//$NON-NLS-1$
-	fEmbeddedHint = UNDEFINED;
-        yybegin(YYINITIAL);
-        return XML_PI_CLOSE;
- }
-        case 720: break;
-        case 241: 
-          { 
-		// ended with nothing inside
-		fEmbeddedHint = UNDEFINED;
-        yybegin(YYINITIAL);
-        return XML_PI_CLOSE;
- }
-        case 721: break;
-        case 242: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("XML processing instruction end");//$NON-NLS-1$
-	fEmbeddedHint = UNDEFINED;
-        yybegin(YYINITIAL);
-        return XML_PI_CLOSE;
- }
-        case 722: break;
-        case 259: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("JSP end");//$NON-NLS-1$
-	if (Debug.debugTokenizer) {
-		if(fStateStack.peek()!=YYINITIAL)
-			System.out.println("end embedded region");//$NON-NLS-1$
-	}
-	yybegin(fStateStack.pop());
-	return JSP_CLOSE;
- }
-        case 723: break;
-        case 261: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("JSP end");//$NON-NLS-1$
-	if (Debug.debugTokenizer) {
-		if(fStateStack.peek()!=YYINITIAL)
-			System.out.println("end embedded region");//$NON-NLS-1$
-	}
-	yybegin(fStateStack.pop());
-	return JSP_DIRECTIVE_CLOSE;
- }
-        case 724: break;
-        case 162: 
-        case 163: 
-          { 
-		return doBlockTagScan();
-	 }
-        case 725: break;
-        default: 
-          if (yy_input == YYEOF && yy_startRead == yy_currentPos) {
-            yy_atEOF = true;
-            yy_do_eof();
-              return null;
-          } 
-          else {
-            yy_ScanError(YY_NO_MATCH);
-          }
-      }
-    }
-  }    
-
-
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/preferences/JSPCorePreferenceInitializer.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/preferences/JSPCorePreferenceInitializer.java
deleted file mode 100644
index 762af18..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/preferences/JSPCorePreferenceInitializer.java
+++ /dev/null
@@ -1,38 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsp.core.internal.preferences;
-
-import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
-import org.eclipse.core.runtime.preferences.DefaultScope;
-import org.eclipse.core.runtime.preferences.IEclipsePreferences;
-import org.eclipse.jst.jsp.core.internal.JSPCorePlugin;
-import org.eclipse.wst.sse.core.internal.encoding.CommonCharsetNames;
-import org.eclipse.wst.sse.core.internal.encoding.CommonEncodingPreferenceNames;
-
-/**
- * Sets default values for JSP Core preferences
- */
-public class JSPCorePreferenceInitializer extends AbstractPreferenceInitializer {
-
-	public void initializeDefaultPreferences() {
-		IEclipsePreferences node = new DefaultScope().getNode(JSPCorePlugin.getDefault().getBundle().getSymbolicName());
-
-		// code generation preferences
-		node.put(CommonEncodingPreferenceNames.INPUT_CODESET, ""); //$NON-NLS-1$
-		String defaultEnc = "ISO-8859-1";//$NON-NLS-1$
-		String systemEnc = System.getProperty("file.encoding"); //$NON-NLS-1$
-		if (systemEnc != null) {
-			defaultEnc = CommonCharsetNames.getPreferredDefaultIanaName(systemEnc, "ISO-8859-1");//$NON-NLS-1$
-		}
-		node.put(CommonEncodingPreferenceNames.OUTPUT_CODESET, defaultEnc);
-		node.put(CommonEncodingPreferenceNames.END_OF_LINE_CODE, ""); //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/provisional/JSP11Namespace.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/provisional/JSP11Namespace.java
deleted file mode 100644
index 0c179a7..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/provisional/JSP11Namespace.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.provisional;
-
-
-/**
- * JSP 1.1 Namespace
- */
-public interface JSP11Namespace {
-
-	public static interface ElementName {
-		// Element names
-		public static final String SCRIPTLET = "jsp:scriptlet"; //$NON-NLS-1$
-		public static final String EXPRESSION = "jsp:expression"; //$NON-NLS-1$
-		public static final String DECLARATION = "jsp:declaration"; //$NON-NLS-1$
-		public static final String DIRECTIVE_PAGE = "jsp:directive.page"; //$NON-NLS-1$
-		public static final String DIRECTIVE_INCLUDE = "jsp:directive.include"; //$NON-NLS-1$
-		public static final String DIRECTIVE_TAGLIB = "jsp:directive.taglib"; //$NON-NLS-1$
-		public static final String USEBEAN = "jsp:useBean"; //$NON-NLS-1$
-		public static final String SETPROPERTY = "jsp:setProperty"; //$NON-NLS-1$
-		public static final String GETPROPERTY = "jsp:getProperty"; //$NON-NLS-1$
-		public static final String INCLUDE = "jsp:include"; //$NON-NLS-1$
-		public static final String FORWARD = "jsp:forward"; //$NON-NLS-1$
-		public static final String PLUGIN = "jsp:plugin"; //$NON-NLS-1$
-		public static final String PARAMS = "jsp:params"; //$NON-NLS-1$
-		public static final String FALLBACK = "jsp:fallback"; //$NON-NLS-1$
-		public static final String PARAM = "jsp:param"; //$NON-NLS-1$
-		public static final String ROOT = "jsp:root"; //$NON-NLS-1$
-		public static final String TEXT = "jsp:text"; //$NON-NLS-1$
-	}
-
-	public static final String JSP11_URI = ""; //$NON-NLS-1$
-	public static final String JSP_TAG_PREFIX = "jsp"; //$NON-NLS-1$
-	// attribute names
-	//   directive.page
-	public static final String ATTR_NAME_LANGUAGE = "language"; //$NON-NLS-1$
-	public static final String ATTR_NAME_EXTENDS = "extends"; //$NON-NLS-1$
-	public static final String ATTR_NAME_CONTENT_TYPE = "contentType"; //$NON-NLS-1$
-	public static final String ATTR_NAME_IMPORT = "import"; //$NON-NLS-1$
-	public static final String ATTR_NAME_SESSION = "session"; //$NON-NLS-1$
-	public static final String ATTR_NAME_BUFFER = "buffer"; //$NON-NLS-1$
-	public static final String ATTR_NAME_AUTOFLUSH = "autoFlush"; //$NON-NLS-1$
-	public static final String ATTR_NAME_IS_THREAD_SAFE = "isThreadSafe"; //$NON-NLS-1$
-	public static final String ATTR_NAME_INFO = "info"; //$NON-NLS-1$
-	public static final String ATTR_NAME_ERROR_PAGE = "errorPage"; //$NON-NLS-1$
-	public static final String ATTR_NAME_IS_ERROR_PAGE = "isErrorPage"; //$NON-NLS-1$
-	public static final String ATTR_NAME_PAGE_ENCODING = "pageEncoding"; //$NON-NLS-1$
-	//   directive.include
-	public static final String ATTR_NAME_FILE = "file"; //$NON-NLS-1$
-	//   directive.taglib
-	public static final String ATTR_NAME_URI = "uri"; //$NON-NLS-1$
-	public static final String ATTR_NAME_PREFIX = "prefix"; //$NON-NLS-1$
-	//   useBean
-	public static final String ATTR_NAME_ID = "id"; //$NON-NLS-1$
-	public static final String ATTR_NAME_SCOPE = "scope"; //$NON-NLS-1$
-	public static final String ATTR_NAME_CLASS = "class"; //$NON-NLS-1$
-	public static final String ATTR_NAME_BEAN_NAME = "beanName"; //$NON-NLS-1$
-	public static final String ATTR_NAME_TYPE = "type"; //$NON-NLS-1$
-	//   setProperty
-	public static final String ATTR_NAME_NAME = "name"; //$NON-NLS-1$
-	public static final String ATTR_NAME_PROPERTY = "property"; //$NON-NLS-1$
-	public static final String ATTR_NAME_VALUE = "value"; //$NON-NLS-1$
-	public static final String ATTR_NAME_PARAM = "param"; //$NON-NLS-1$
-	//   include
-	public static final String ATTR_NAME_PAGE = "page"; //$NON-NLS-1$
-	public static final String ATTR_NAME_FLUSH = "flush"; //$NON-NLS-1$
-	//   plugin
-	public static final String ATTR_NAME_CODE = "code"; //$NON-NLS-1$
-	public static final String ATTR_NAME_CODEBASE = "codebase"; //$NON-NLS-1$
-	public static final String ATTR_NAME_ALIGN = "align"; //$NON-NLS-1$
-	public static final String ATTR_NAME_ARCHIVE = "archive"; //$NON-NLS-1$
-	public static final String ATTR_NAME_HEIGHT = "height"; //$NON-NLS-1$
-	public static final String ATTR_NAME_HSPACE = "hspace"; //$NON-NLS-1$
-	public static final String ATTR_NAME_JREVERSION = "jreversion"; //$NON-NLS-1$
-	public static final String ATTR_NAME_VSPACE = "vspace"; //$NON-NLS-1$
-	public static final String ATTR_NAME_WIDTH = "width"; //$NON-NLS-1$
-	public static final String ATTR_NAME_NSPLUGINURL = "nspluginurl"; //$NON-NLS-1$
-	public static final String ATTR_NAME_IEPLUGINURL = "iepluginurl"; //$NON-NLS-1$
-	//   root
-	public static final String ATTR_NAME_XMLNS_JSP = "xmlns:jsp"; //$NON-NLS-1$
-	public static final String ATTR_NAME_VERSION = "version"; //$NON-NLS-1$
-	// attribute values
-	public static final String ATTR_VALUE_TRUE = "true"; //$NON-NLS-1$
-	public static final String ATTR_VALUE_FALSE = "false"; //$NON-NLS-1$
-	public static final String ATTR_VALUE_JAVA = "java"; //$NON-NLS-1$
-	public static final String ATTR_VALUE_CT_DEFAULT = "text/html; charset=ISO-8859-1";//D195366 //$NON-NLS-1$
-	public static final String ATTR_VALUE_BUFSIZ_DEFAULT = "8kb"; //$NON-NLS-1$
-	public static final String ATTR_VALUE_PAGE = "page"; //$NON-NLS-1$
-	public static final String ATTR_VALUE_SESSION = "session"; //$NON-NLS-1$
-	public static final String ATTR_VALUE_REQUEST = "request"; //$NON-NLS-1$
-	public static final String ATTR_VALUE_APPLICATION = "application"; //$NON-NLS-1$
-	public static final String ATTR_VALUE_BEAN = "bean"; //$NON-NLS-1$
-	public static final String ATTR_VALUE_APPLET = "applet"; //$NON-NLS-1$
-	public static final String ATTR_VALUE_TOP = "top"; //$NON-NLS-1$
-	public static final String ATTR_VALUE_MIDDLE = "middle"; //$NON-NLS-1$
-	public static final String ATTR_VALUE_BOTTOM = "bottom"; //$NON-NLS-1$
-	public static final String ATTR_VALUE_LEFT = "left"; //$NON-NLS-1$
-	public static final String ATTR_VALUE_RIGHT = "right"; //$NON-NLS-1$
-	public static final String ATTR_VALUE_JVER11 = "1.1"; //$NON-NLS-1$
-	public static final String ATTR_VALUE_XMLNS_JSP = "http://java.sun.com/JSP/Page"; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/provisional/JSP12Namespace.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/provisional/JSP12Namespace.java
deleted file mode 100644
index c24b244..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/provisional/JSP12Namespace.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.provisional;
-
-/**
- * Names for JSP 1.2 spec.
- * Currently, it is just the same as JSP11Namespace in org.eclipse.jst.jsp.core.
- */
-public interface JSP12Namespace extends JSP11Namespace {
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/provisional/JSP20Namespace.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/provisional/JSP20Namespace.java
deleted file mode 100644
index 5852c43..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/provisional/JSP20Namespace.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.provisional;
-
-/**
- * New names for JSP 2.0 spec.
- */
-
-public interface JSP20Namespace extends JSP12Namespace {
-	/**
-	 * New elements for JSP 2.0 spec.
-	 */
-	public static interface ElementName extends JSP12Namespace.ElementName {
-		String DIRECTIVE_TAG = "jsp:directive.tag"; //$NON-NLS-1$
-		String DIRECTIVE_ATTRIBUTE = "jsp:directive.attribute"; //$NON-NLS-1$
-		String DIRECTIVE_VARIABLE = "jsp:directive.variable"; //$NON-NLS-1$
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/provisional/contenttype/ContentTypeIdForJSP.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/provisional/contenttype/ContentTypeIdForJSP.java
deleted file mode 100644
index 07f47a3..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/provisional/contenttype/ContentTypeIdForJSP.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.provisional.contenttype;
-
-/**
- * This class, with its one field, is a convience to provide compile-time
- * safety when refering to a contentType ID. The value of the contenttype id
- * field must match what is specified in plugin.xml file.
- */
-
-public class ContentTypeIdForJSP {
-	/**
-	 * The value of the contenttype id field must match what is specified in
-	 * plugin.xml file. Note: this value is intentially set with default
-	 * protected method so it will not be inlined.
-	 */
-	public final static String ContentTypeID_JSP = getConstantString();
-
-	/**
-	 * Don't allow instantiation.
-	 */
-	private ContentTypeIdForJSP() {
-		super();
-	}
-
-	static String getConstantString() {
-		return "org.eclipse.jst.jsp.core.jspsource"; //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/provisional/contenttype/IContentDescriptionForJSP.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/provisional/contenttype/IContentDescriptionForJSP.java
deleted file mode 100644
index 6caee22..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/provisional/contenttype/IContentDescriptionForJSP.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.provisional.contenttype;
-
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.wst.sse.core.internal.encoding.ICodedResourcePlugin;
-
-
-public interface IContentDescriptionForJSP {
-	/**
-	 * Extra properties as part of ContentDescription, if the content is JSP.
-	 */
-	public final static QualifiedName CONTENT_TYPE_ATTRIBUTE = new QualifiedName(ICodedResourcePlugin.ID, "contentTypeAttribute"); //$NON-NLS-1$
-	public final static QualifiedName LANGUAGE_ATTRIBUTE = new QualifiedName(ICodedResourcePlugin.ID, "languageAttribute"); //$NON-NLS-1$
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/provisional/text/IJSPPartitionTypes.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/provisional/text/IJSPPartitionTypes.java
deleted file mode 100644
index 1146bc8..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/provisional/text/IJSPPartitionTypes.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.eclipse.jst.jsp.core.internal.provisional.text;
-
-
-/**
- * This interface is not intended to be implemented.
- * It defines the partition types for JSP.
- * Clients should reference the partition type Strings defined here directly.
- * 
- * @plannedfor 1.0
- */
-public interface IJSPPartitionTypes {
-
-	String JSP_DEFAULT = "org.eclipse.jst.jsp.DEFAULT_JSP"; //$NON-NLS-1$
-	String JSP_COMMENT = "org.eclipse.jst.jsp.JSP_COMMENT"; //$NON-NLS-1$
-	
-	String JSP_SCRIPT_PREFIX = "org.eclipse.jst.jsp.SCRIPT."; //$NON-NLS-1$
-	String JSP_CONTENT_DELIMITER = JSP_SCRIPT_PREFIX + "DELIMITER"; //$NON-NLS-1$
-	String JSP_CONTENT_JAVA = JSP_SCRIPT_PREFIX + "JAVA"; //$NON-NLS-1$
-	String JSP_CONTENT_JAVASCRIPT = JSP_SCRIPT_PREFIX + "JAVASCRIPT"; //$NON-NLS-1$
-	String JSP_DEFAULT_EL = JSP_SCRIPT_PREFIX + "JSP_EL"; //$NON-NLS-1$
-	
-	String JSP_DIRECTIVE = "org.eclipse.jst.jsp.JSP_DIRECTIVE"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/regions/DOMJSPRegionContexts.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/regions/DOMJSPRegionContexts.java
deleted file mode 100644
index f0aa201..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/regions/DOMJSPRegionContexts.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.jsp.core.internal.regions;
-
-import org.eclipse.wst.xml.core.internal.regions.DOMRegionContext;
-
-
-/**
- *
- */
-
-public interface DOMJSPRegionContexts extends DOMRegionContext {
-	public static final String JSP_CLOSE = "JSP_CLOSE"; //$NON-NLS-1$
-	public static final String JSP_COMMENT_CLOSE = "JSP_COMMENT_CLOSE"; //$NON-NLS-1$
-
-	public static final String JSP_COMMENT_OPEN = "JSP_COMMENT_OPEN"; //$NON-NLS-1$
-	public static final String JSP_COMMENT_TEXT = "JSP_COMMENT_TEXT"; //$NON-NLS-1$
-
-	public static final String JSP_CONTENT = "JSP_CONTENT"; //$NON-NLS-1$
-	public static final String JSP_DECLARATION_OPEN = "JSP_DECLARATION_OPEN"; //$NON-NLS-1$
-	public static final String JSP_DIRECTIVE_CLOSE = "JSP_DIRECTIVE_CLOSE"; //$NON-NLS-1$
-	public static final String JSP_DIRECTIVE_NAME = "JSP_DIRECTIVE_NAME"; //$NON-NLS-1$
-
-	public static final String JSP_DIRECTIVE_OPEN = "JSP_DIRECTIVE_OPEN"; //$NON-NLS-1$
-	public static final String JSP_EL_CLOSE = "JSP_EL_CLOSE"; //$NON-NLS-1$
-	public static final String JSP_EL_CONTENT = "JSP_EL_CONTENT"; //$NON-NLS-1$
-	public static final String JSP_EL_DQUOTE = "JSP_EL_DQUOTE"; //$NON-NLS-1$
-
-	public static final String JSP_EL_OPEN = "JSP_EL_OPEN"; //$NON-NLS-1$
-	public static final String JSP_EL_QUOTED_CONTENT = "JSP_EL_QUOTED_CONTENT"; //$NON-NLS-1$
-	public static final String JSP_EL_SQUOTE = "JSP_EL_SQUOTE"; //$NON-NLS-1$
-	public static final String JSP_EXPRESSION_OPEN = "JSP_EXPRESSION_OPEN"; //$NON-NLS-1$
-
-	public static final String JSP_ROOT_TAG_NAME = "JSP_ROOT_TAG_NAME"; //$NON-NLS-1$
-
-	public static final String JSP_SCRIPTLET_OPEN = "JSP_SCRIPTLET_OPEN"; //$NON-NLS-1$
-	public static final String JSP_VBL_CLOSE = "JSP_VBL_CLOSE"; //$NON-NLS-1$
-	public static final String JSP_VBL_CONTENT = "JSP_VBL_CONTENT"; //$NON-NLS-1$
-	public static final String JSP_VBL_DQUOTE = "JSP_VBL_DQUOTE"; //$NON-NLS-1$
-	public static final String JSP_VBL_OPEN = "JSP_VBL_OPEN"; //$NON-NLS-1$
-	public static final String JSP_VBL_QUOTED_CONTENT = "JSP_VBL_QUOTED_CONTENT"; //$NON-NLS-1$
-	public static final String JSP_VBL_SQUOTE = "JSP_VBL_SQUOTE"; //$NON-NLS-1$
-	public static final String XML_TAG_ATTRIBUTE_VALUE_DQUOTE = "XML_TAG_ATTRIBUTE_VALUE_DQUOTE"; //$NON-NLS-1$
-
-	public static final String XML_TAG_ATTRIBUTE_VALUE_SQUOTE = "XML_TAG_ATTRIBUTE_VALUE_SQUOTE"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/taglib/TaglibClassLoader.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/taglib/TaglibClassLoader.java
deleted file mode 100644
index 457f7b9..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/taglib/TaglibClassLoader.java
+++ /dev/null
@@ -1,304 +0,0 @@
-package org.eclipse.jst.jsp.core.internal.taglib;
-
-
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.jar.JarEntry;
-import java.util.jar.JarFile;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jst.jsp.core.internal.Logger;
-
-
-/**
- * Custom classloader which allows you to add source directories
- * (folders containing .class files) and jars to the classpath.
- * 
- * @author pavery
- */
-public class TaglibClassLoader extends ClassLoader {
-
-	// for debugging
-	private static final boolean DEBUG;
-	static {
-		String value= Platform.getDebugOption("com.ibm.sse.model.jsp/debug/taglibclassloader"); //$NON-NLS-1$
-		DEBUG= value != null && value.equalsIgnoreCase("true"); //$NON-NLS-1$
-	}
-    
-	private List jarsList = new ArrayList();
-	private List dirsList = new ArrayList();
-	private List usedJars = new ArrayList();
-	private List usedDirs = new ArrayList();
-	//private List loadedClassFilenames = new ArrayList();
-
-	public TaglibClassLoader(ClassLoader parentLoader) {
-		super(parentLoader);
-	}
-
-	/**
-	 * Adds a new jar to classpath.
-	 * 
-	 * @param filename - full path to the jar file
-	 */
-	public void addJar(String filename) {
-	    if(DEBUG) System.out.println("trying to add: [" + filename + "] to classpath");
-		// don't add the same entry twice, or search times will get even worse
-		if(!jarsList.contains(filename)) {
-			jarsList.add(filename);
-			if(DEBUG) System.out.println( " + [" + filename + "] added to classpath");
-		}
-	}		
-
-	/**
-	 * Removes a jar from the classpath.
-	 * 
-	 * @param filename - full path to the jar file
-	 */
-	public void removeJar(String filename) {
-		jarsList.remove(filename);
-		if(DEBUG) System.out.println("removed: [" + filename + "] from classpath");
-	}
-	
-	public void addDirectory(String dirPath) {
-	    if(!dirsList.contains(dirPath)) {
-	        dirsList.add(dirPath);
-	        if(DEBUG) System.out.println("added: [" + dirPath + "] to classpath");
-	    }
-	}
-
-	/**
-	 * Removes a directory from the classpath.
-	 * 
-	 * @param dirPath - full path of the directory
-	 */
-	public void removeDirectory(String dirPath) {
-		dirsList.remove(dirPath);
-		if(DEBUG) System.out.println("removed: [" + dirPath + "] from classpath");
-	}
-
-	/**
-	 * Returns the list of JARs on this loader's classpath that contain classes
-	 * that have been loaded.
-	 * 
-	 * @return List - the list of JARs
-	 */
-	public List getJarsInUse() {
-		return usedJars;
-	}
-
-	/**
-	 * Returns a list of directories on this loader's classpath that contain
-	 * classes that have been loaded.
-	 * 
-	 * @return List - the list of directories (fully-qualified filename Strings)
-	 */
-	public List getDirectoriesInUse() {
-		return usedDirs;
-	}
-
-	/**
-	 * Returns a list of filenames for loose classes that have been loaded out
-	 * of directories.
-	 * 
-	 * @return List - the list of class filenames
-	 */
-//	public List getClassFilenamesFromDirectories() {
-//		return loadedClassFilenames;
-//	}
-
-	/**
-	 * Searches for the given class name on the defined classpath - directories
-	 * are checked before JARs.
-	 * 
-	 * @param className -
-	 *            the name of the class to find
-	 * @return Class - the loaded class
-	 * @throws ClassNotFoundException
-	 */
-	protected synchronized Class findClass(String className) throws ClassNotFoundException {
-	    
-	    if(DEBUG) System.out.println(">> TaglibClassLoader finding class: " + className);
-
-		Class newClass = null;
-		JarFile jarfile = null;
-		JarEntry entry = null;
-
-		// get the correct name of the actual .class file to search for
-		String fileName = calculateClassFilename(className);
-		InputStream stream = null;
-		try {
-			// first try searching the classpath directories
-			Iterator dirs = dirsList.iterator();
-			File f;
-			String dirName;
-			String fileToFind = "";
-			while (dirs.hasNext()) {
-				dirName = (String) dirs.next();
-				fileToFind = dirName + "/" + fileName; //$NON-NLS-1$
-				
-				f = new File(fileToFind);
-				if (f.exists()) {
-					stream = new FileInputStream(f);
-					usedDirs.add(dirName);
-					//loadedClassFilenames.add(fileToFind);
-					if(DEBUG) System.out.println(">> added file from dir: " + dirName + "/" + fileName);
-					break;
-
-				}
-			}
-
-			if (stream != null) {
-				// found a class from a directory
-				ByteArrayOutputStream byteStream = new ByteArrayOutputStream();
-				while (stream.available() > 0) {
-					byteStream.write(stream.read());
-				}
-
-				byte[] byteArray = byteStream.toByteArray();
-				try {
-				    if(DEBUG) System.out.println(">> defining newClass:" + className);
-					newClass = defineClass(className, byteArray, 0, byteArray.length);
-					resolveClass(newClass);
-				}
-				catch (Throwable t){
-				    
-				    // j9 can give ClassCircularityError
-				    // parent should already have the class then
-					// try parent loader
-				    try {
-				        Class c = getParent().loadClass(className);
-				        if(DEBUG) System.out.println(">> loaded: " + className + " with: " + getParent());
-				        return c;
-				    }
-				    catch (ClassNotFoundException cnf) {
-				        if(DEBUG) cnf.printStackTrace();
-			        }
-				}
-				stream.close();
-			}
-
-			if (stream == null) {
-				// still haven't found the class, so now try searching the jars
-				// search each of the jars until we find an entry matching the
-				// classname
-				Iterator jars = jarsList.iterator();
-				String jarName;
-				while (jars.hasNext()) {
-					jarName = (String) jars.next();
-
-					// make sure the file exists or "new JarFile()" will throw
-					// an exception
-					f = new File(jarName);
-					if (!f.exists()) {
-						continue;
-					}
-					try {
-					    jarfile = new JarFile(jarName);
-					}
-					catch (IOException e){
-					    if(DEBUG) Logger.logException("bad jar file", e);
-					}
-					if (jarfile == null) {
-						continue;
-					}
-
-					entry = jarfile.getJarEntry(fileName);
-
-					if(DEBUG) System.out.println("looking for filename: " + fileName + " in: " + jarfile.getName());
-					if (entry != null) {
-					    if(DEBUG) System.out.println("found the entry: " + entry + " for filename: " + fileName);
-						// found the class
-						if (!usedJars.contains(jarName)) {
-							// add the jar to the list of in-use jars
-							usedJars.add(jarName);
-						}
-						break;
-					}
-					jarfile.close();
-				}
-
-				if (entry != null) {
-					// we've found an entry for the desired class
-					stream = jarfile.getInputStream(entry);
-					ByteArrayOutputStream byteStream = new ByteArrayOutputStream();
-					long byteLength = entry.getSize();
-					long totalBytesRead = 0;
-					int bytesRead;
-					byte[] byteBuffer = new byte[10000];
-					while (totalBytesRead < byteLength) {
-						bytesRead = stream.read(byteBuffer);
-						if (bytesRead == -1) {
-							break;
-						}
-						totalBytesRead = totalBytesRead + bytesRead;
-						byteStream.write(byteBuffer, 0, bytesRead);
-					}
-
-					byte[] byteArray = byteStream.toByteArray();
-					try {
-					    if(DEBUG) System.out.println(">> defining newClass:" + className);
-						// define the class from the byte array
-						newClass = defineClass(className, byteArray, 0, byteArray.length);
-						resolveClass(newClass);
-					}
-					catch(Throwable t) {
-					    // j9 can give ClassCircularityError
-					    // parent should already have the class then
-					    
-						// try parent
-					    try {
-					        Class c = getParent().loadClass(className);
-					        if(DEBUG) System.out.println(">> loaded: " + className + " with: " + getParent());
-					        return c;
-					    }
-					    catch (ClassNotFoundException cnf) {
-					        if(DEBUG) cnf.printStackTrace();
-				        }
-					}					    			
-					stream.close();
-					jarfile.close();
-				}
-			}
-		} catch (Throwable t) {
-			return null;
-		} finally {
-			try {
-				if (stream != null) {
-					stream.close();
-				}
-				if (jarfile != null) {
-					jarfile.close();
-				}
-			} catch (IOException ioe) {
-				// ioe.printStackTrace();
-				// just trying to close down anyway - ignore
-			}
-		}
-
-		if (newClass != null) {
-		    if(DEBUG) System.out.println(">> loaded: " + newClass + " with: " + this);
-			return newClass;
-		}
-		
-		throw new ClassNotFoundException();
-	}
-
-    /**
-	 * Replaces '.' in the classname with '/' and appends '.class' if needed.
-	 * 
-	 * @return String - the properly-formed class name
-	 */
-	private String calculateClassFilename(String name) {
-		StringBuffer buffer = new StringBuffer(name.replace('.', '/'));
-		if (!name.endsWith(".class")) { //$NON-NLS-1$
-			buffer.append(".class"); //$NON-NLS-1$
-		}
-		return buffer.toString();
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/taglib/TaglibHelper.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/taglib/TaglibHelper.java
deleted file mode 100644
index 4ddb7ad..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/taglib/TaglibHelper.java
+++ /dev/null
@@ -1,541 +0,0 @@
-package org.eclipse.jst.jsp.core.internal.taglib;
-
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import javax.servlet.jsp.tagext.TagAttributeInfo;
-import javax.servlet.jsp.tagext.TagData;
-import javax.servlet.jsp.tagext.TagExtraInfo;
-import javax.servlet.jsp.tagext.TagInfo;
-import javax.servlet.jsp.tagext.TagLibraryInfo;
-import javax.servlet.jsp.tagext.VariableInfo;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jdt.core.IClasspathContainer;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jst.jsp.core.internal.Logger;
-import org.eclipse.jst.jsp.core.internal.contentmodel.TaglibController;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.TaglibTracker;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDAttributeDeclaration;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDElementDeclaration;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDVariable;
-import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-import org.eclipse.wst.sse.core.internal.provisional.StructuredModelManager;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegionList;
-import org.eclipse.wst.sse.core.internal.util.StringUtils;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMDocument;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMNode;
-import org.eclipse.wst.xml.core.internal.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.xml.core.internal.modelquery.ModelQueryUtil;
-import org.eclipse.wst.xml.core.internal.provisional.contentmodel.CMNodeWrapper;
-import org.eclipse.wst.xml.core.internal.regions.DOMRegionContext;
-
-/**
- * This class helps find TaglibVariables in a JSP file.
- * 
- * @author pavery
- */
-public class TaglibHelper {
-
-    // for debugging
-    private static final boolean DEBUG;
-    static {
-        String value = Platform.getDebugOption("org.eclipse.jst.jsp.core/debug/taglibvars"); //$NON-NLS-1$
-        DEBUG = value != null && value.equalsIgnoreCase("true"); //$NON-NLS-1$
-    }
-
-    private IProject fProject = null;
-    private TaglibClassLoader fLoader = null;
-    
-    private Set fProjectEntries = null;
-    private Set fContainerEntries = null;
-    
-    public TaglibHelper(IProject project) {
-        setProject(project);
-        fProjectEntries = new HashSet();
-        fContainerEntries = new HashSet();
-    }
-
-    /**
-     * @param tagToAdd
-     *            is the name of the tag whose variables we want
-     * @param structuredDoc
-     *            is the IStructuredDocument where the tag is found
-     * @param customTag
-     *            is the IStructuredDocumentRegion opening tag for the custom
-     *            tag
-     */
-    public TaglibVariable[] getTaglibVariables(String tagToAdd, IStructuredDocument structuredDoc, IStructuredDocumentRegion customTag) {
-
-        List results = new ArrayList();
-        ModelQuery mq = getModelQuery(structuredDoc);
-        if (mq != null) {
-			TLDCMDocumentManager mgr = TaglibController.getTLDCMDocumentManager(structuredDoc);
-			
-            //TaglibSupport support = ((TaglibModelQuery) mq).getTaglibSupport();
-            if (mgr == null)
-                return new TaglibVariable[0];
-			
-			List trackers = mgr.getCMDocumentTrackers(customTag.getEndOffset());
-			Iterator taglibs = trackers.iterator();
-			
-//            TaglibSupport support = ((TaglibModelQuery) mq).getTaglibSupport();
-//            if (support == null)
-//                return new TaglibVariable[0];
-//
-//            Iterator taglibs = support.getCMDocuments(customTag.getStartOffset()).iterator();
-            CMDocument doc = null;
-            CMNamedNodeMap elements = null;
-            while (taglibs.hasNext()) {
-                doc = (CMDocument) taglibs.next();
-                CMNode node = null;
-                if ((elements = doc.getElements()) != null && (node = elements.getNamedItem(tagToAdd)) != null && node.getNodeType() == CMNode.ELEMENT_DECLARATION) {
-
-                    if (node instanceof CMNodeWrapper) {
-                        node = ((CMNodeWrapper) node).getOriginNode();
-                    }
-
-                    // 1.2+ taglib style
-                    addVariables(results, node);
-
-                    // for 1.1 need more info from taglib tracker
-                    if (doc instanceof TaglibTracker) {
-                        String uri = ((TaglibTracker) doc).getURI();
-                        String prefix = ((TaglibTracker) doc).getPrefix();
-                        // only for 1.1 taglibs
-                        addTEIVariables(customTag, results, (TLDElementDeclaration) node, prefix, uri);
-                    }
-                }
-            }
-        }
-
-        return (TaglibVariable[]) results.toArray(new TaglibVariable[results.size()]);
-    }
-
-    /**
-     * Adds 1.2 style TaglibVariables to the results list.
-     * 
-     * @param results
-     *            list where the <code>TaglibVariable</code> s are added
-     * @param node
-     */
-    private void addVariables(List results, CMNode node) {
-
-        List list = ((TLDElementDeclaration) node).getVariables();
-        Iterator it = list.iterator();
-        while (it.hasNext()) {
-            TLDVariable var = (TLDVariable) it.next();
-            String varName = var.getNameGiven();
-            if (varName == null) {
-                varName = var.getNameFromAttribute();
-            }
-            if (varName != null) {
-                String varClass = "java.lang.String"; //$NON-NLS-1$ // the default class...
-                if (var.getVariableClass() != null) {
-                    varClass = var.getVariableClass();
-                }
-                results.add(new TaglibVariable(varClass, varName));
-            }
-        }
-    }
-
-    /**
-     * Adds 1.1 style TaglibVariables (defined in a TagExtraInfo class) to the
-     * results list.
-     * 
-     * @param customTag
-     * @param results
-     *            list where the <code>TaglibVariable</code> s are added
-     * @param decl
-     *            TLDElementDelcaration for the custom tag
-     * @param prefix
-     *            custom tag prefix
-     * @param uri
-     *            URI where the tld can be found
-     */
-    private void addTEIVariables(IStructuredDocumentRegion customTag, List results, TLDElementDeclaration decl, String prefix, String uri) {
-
-        String teiClassname = decl.getTeiclass();
-        if (teiClassname == null || teiClassname.length() == 0)
-            return;
-
-        ClassLoader loader = getClassloader();
-    
-        Class teiClass = null;
-        try {
-            teiClass = Class.forName(teiClassname, true, loader);
-            if (teiClass != null) {
-                Object teiObject = (TagExtraInfo) teiClass.newInstance();
-                if (TagExtraInfo.class.isInstance(teiObject)) {
-                    TagExtraInfo tei = (TagExtraInfo) teiObject;
-                    Hashtable tagDataTable = extractTagData(customTag);
-                    TagInfo info = getTagInfo(decl, tei, prefix, uri);
-                    if (info != null) {
-                        tei.setTagInfo(info);
-
-                        // add to results
-                        TagData td = new TagData(tagDataTable);
-                        if (tei.isValid(td)) {
-                            VariableInfo[] vInfos = tei.getVariableInfo(td);
-                            if(vInfos != null) {
-	                            for (int i = 0; i < vInfos.length; i++) {
-	                                results.add(new TaglibVariable(vInfos[i].getClassName(), vInfos[i].getVarName()));
-	                            }
-                            }
-                        }
-                    }
-                }
-            }
-        } catch (ClassNotFoundException e) {
-            // TEI class wasn't on classpath
-            if (DEBUG)
-                logException(teiClassname, e);
-        } catch (InstantiationException e) {
-            if (DEBUG)
-                logException(teiClassname, e);
-        } catch (IllegalAccessException e) {
-            if (DEBUG)
-                logException(teiClassname, e);
-        } catch (ClassCastException e) {
-            // TEI class wasn't really a subclass of TagExtraInfo
-            if (DEBUG)
-                logException(teiClassname, e);
-        } catch (Exception e) {
-            // this is 3rd party code, need to catch all exceptions
-            if (DEBUG)
-                logException(teiClassname, e);
-        } catch (Error e) {
-            // this is 3rd party code, need to catch all errors
-            if (DEBUG)
-                logException(teiClassname, e);
-        }
-        finally {
-           // Thread.currentThread().setContextClassLoader(oldLoader);
-        }
-    }
-
-    /**
-     * @param decl
-     * @return the TagInfo for the TLDELementDeclaration if the declaration is
-     *         valid, otherwise null
-     */
-    private TagInfo getTagInfo(TLDElementDeclaration decl, TagExtraInfo tei, String prefix, String uri) {
-
-        TagLibraryInfo libInfo = new TagLibraryInfo(prefix, uri) { /*dummy impl*/};
-
-        CMNamedNodeMap attrs = decl.getAttributes();
-        TagAttributeInfo[] attrInfos = new TagAttributeInfo[attrs.getLength()];
-        TLDAttributeDeclaration attr = null;
-        String type = ""; //$NON-NLS-1$ 
-        
-        // get tag attribute infos
-        for (int i = 0; i < attrs.getLength(); i++) {
-            attr = (TLDAttributeDeclaration) attrs.item(i);
-            type = attr.getType();
-            // default value for type is String
-            if (attr.getType() == null || attr.getType().equals(""))  //$NON-NLS-1$ 
-                type = "java.lang.String"; //$NON-NLS-1$ 
-            attrInfos[i] = new TagAttributeInfo(attr.getAttrName(), attr.isRequired(), type, false);
-        }
-        
-        String tagName = decl.getNodeName();
-        String tagClass = decl.getTagclass();
-        String bodyContent = decl.getBodycontent();
-        if (tagName != null && tagClass != null && bodyContent != null)
-            return new TagInfo(tagName, tagClass, bodyContent, decl.getInfo(), libInfo, tei, attrInfos);
-        return null;
-
-    }
-
-    /**
-     * @param e
-     */
-    private void logException(String teiClassname, Throwable e) {
-
-        String message = "teiClassname: ["; //$NON-NLS-1$ 
-        if (teiClassname != null)
-            message += teiClassname;
-        message += "]";
-        Logger.logException(message, e);
-    }
-
-    /**
-     * Returns all attribute -> value pairs for the tag in a Hashtable.
-     * 
-     * @param customTag
-     * @return
-     */
-    private Hashtable extractTagData(IStructuredDocumentRegion customTag) {
-
-        Hashtable tagDataTable = new Hashtable();
-        ITextRegionList regions = customTag.getRegions();
-        ITextRegion r = null;
-        String attrName = "";
-        String attrValue = "";
-        for (int i = 0; i < regions.size(); i++) {
-            r = regions.get(i);
-            // check if attr name
-            if (r.getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_NAME) {
-                attrName = customTag.getText(r);
-                // check equals is next region
-                if (regions.size() > ++i) {
-                    r = regions.get(i);
-                    if (r.getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_EQUALS && regions.size() > ++i) {
-                        // get attr value
-                        r = regions.get(i);
-                        if (r.getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_VALUE) {
-                            r = regions.get(i);
-                            // attributes in our document have quotes, so we
-                            // need to strip them
-                            attrValue = StringUtils.stripQuotes(customTag.getText(r));
-                            tagDataTable.put(attrName, attrValue);
-                        }
-                    }
-                }
-            }
-        }
-        return tagDataTable;
-    }
-
-    private ClassLoader getClassloader() {
-        
-        if(fLoader == null) {
-	        fLoader = new TaglibClassLoader(this.getClass().getClassLoader());
-	        fProjectEntries.clear();
-	        fContainerEntries.clear();
-	        addClasspathEntriesForProject(getProject(), fLoader);
-        }
-        return fLoader;
-    }
-
-    /**
-     * @param loader
-     */
-    private void addClasspathEntriesForProject(IProject p, TaglibClassLoader loader) {
-       
-        // avoid infinite recursion
-        if(fProjectEntries.contains(p.getFullPath().toString()))
-            return;
-        fProjectEntries.add(p.getFullPath().toString());
-    
-       // add things on classpath that we are interested in
-        if (p != null) {
-            IJavaProject project = JavaCore.create(p);
-            IPath wkspaceRoot = ResourcesPlugin.getWorkspace().getRoot().getLocation();
-
-            try {
-                IClasspathEntry[] entries = project.getRawClasspath();
-                addDefaultDirEntry(loader, project, wkspaceRoot);
-                addClasspathEntries(loader, project, wkspaceRoot, entries);        
-            } catch (JavaModelException e) {
-                e.printStackTrace();
-            }
-        }
-    }
-
-	private void addClasspathEntries(TaglibClassLoader loader, IJavaProject project, IPath wkspaceRoot, IClasspathEntry[] entries) throws JavaModelException {
-		IClasspathEntry entry;
-		for (int i = 0; i < entries.length; i++) {
-
-		    entry = entries[i];
-		    if(DEBUG)
-		        System.out.println("current entry is: " + entry);
-		    
-		    switch (entry.getEntryKind()) {
-		        case IClasspathEntry.CPE_SOURCE:
-		            addSourceEntry(loader, wkspaceRoot, entry);
-		            break;
-		        case IClasspathEntry.CPE_LIBRARY:
-		            addLibraryEntry(loader, wkspaceRoot, entry.getPath().toString());
-		            break;
-		        case IClasspathEntry.CPE_PROJECT:
-		            addProjectEntry(loader, entry); 
-		            break;
-		        case IClasspathEntry.CPE_VARIABLE:
-		            addVariableEntry(loader, wkspaceRoot, entry);
-		            break;
-		        case IClasspathEntry.CPE_CONTAINER:
-		            addContainerEntry(loader, project, wkspaceRoot, entry);
-		            break;
-		    }
-		}
-	}
-
-    /**
-     * @param loader
-     * @param entry
-     */
-    private void addVariableEntry(TaglibClassLoader loader, IPath wkspaceRoot, IClasspathEntry entry) {
-
-        if (DEBUG)
-            System.out.println(" -> adding variable entry: [" + entry + "]");
-        
-        // variable should either be a project or a library entry
-
-        String variableName = entry.getPath().toString();
-        IPath variablePath = JavaCore.getClasspathVariable(variableName);
-        
-        // RATLC01076854 
-        // variable paths may not exist
-        // in that case null will be returned
-        if(variablePath != null) {
-	        if (variablePath.segments().length == 1) {
-	            IProject varProj = ResourcesPlugin.getWorkspace().getRoot().getProject(variablePath.toString());
-	            if (varProj != null && varProj.exists()) {
-	                addClasspathEntriesForProject(varProj, loader);
-	                return;
-	            }
-	        } 
-	        addLibraryEntry(loader, wkspaceRoot, variablePath.toString());
-        }
-    }
-
-    /**
-     * @param loader
-     * @param project
-     * @param wkspaceRoot
-     * @param entry
-     * @throws JavaModelException
-     */
-    private void addContainerEntry(TaglibClassLoader loader, IJavaProject project, IPath wkspaceRoot, IClasspathEntry entry) throws JavaModelException {
-
-        IClasspathContainer container = JavaCore.getClasspathContainer(entry.getPath(), project);
-        if(container != null) {
-        	// avoid infinite recursion
-            if(!fContainerEntries.contains(container.getPath().toString())) {                   
-                fContainerEntries.add(container.getPath().toString());
-                
-            	IClasspathEntry[] cpes = container.getClasspathEntries();
-            	// recursive call here
-            	addClasspathEntries(loader, project, wkspaceRoot, cpes);
-            }
-        }
-    }
-
-    /**
-     * @param loader
-     * @param entry
-     */
-    private void addProjectEntry(TaglibClassLoader loader, IClasspathEntry entry) {
-
-        if (DEBUG)
-            System.out.println(" -> project entry: [" + entry + "]");
-        
-        IPath path = entry.getPath();
-        IProject refereceProj = ResourcesPlugin.getWorkspace().getRoot().getProject(path.toString());
-        if(refereceProj != null && refereceProj.exists())
-            addClasspathEntriesForProject(refereceProj, loader);
-    }
-
-    /**
-     * @param loader
-     * @param project
-     * @param wkspaceRoot
-     * @throws JavaModelException
-     */
-    private void addDefaultDirEntry(TaglibClassLoader loader, IJavaProject project, IPath wkspaceRoot) throws JavaModelException {
-
-        // add default bin directory for the project
-        IPath outputLocation = project.getOutputLocation();
-        if (!outputLocation.toFile().exists()) {
-            outputLocation = wkspaceRoot.append(outputLocation);
-        }
-        loader.addDirectory(outputLocation.toString());
-    }
-
-    /**
-     * @param loader
-     * @param wkspaceRoot
-     * @param entry
-     */
-    private void addLibraryEntry(TaglibClassLoader loader, IPath wkspaceRoot, String libPath) {
-
-        String jarPath = libPath;
-        File file = new File(jarPath);
-        
-        // if not absolute path, it's workspace relative
-        if (!file.exists()) {
-            jarPath = wkspaceRoot.append(jarPath).toString();
-        }
-        
-        if(jarPath.endsWith(".jar")) { //$NON-NLS-1$ 
-            loader.addJar(jarPath);
-        }
-        else if(file.isDirectory()) {
-            // it's actually a folder containing binaries
-            loader.addDirectory(jarPath);
-        }
-    }
-
-    /**
-     * @param loader
-     * @param wkspaceRoot
-     * @param entry
-     */
-    private void addSourceEntry(TaglibClassLoader loader, IPath wkspaceRoot, IClasspathEntry entry) {
-
-        // add bin directory for specific entry if it has
-        // one
-        if (entry.getOutputLocation() != null) {
-            String outputPath = entry.getOutputLocation().toString();
-            File file = entry.getOutputLocation().toFile();
-            // if not absolute path, it's workspace relative
-            if (!file.exists()) {
-                outputPath = wkspaceRoot.append(entry.getOutputLocation()).toString();
-            }
-            loader.addDirectory(outputPath);
-        }
-    }
-
-    /**
-     * @return Returns the fModelQuery.
-     */
-    public ModelQuery getModelQuery(IDocument doc) {
-        IStructuredModel model = null;
-        ModelQuery mq = null;
-		try {
-			model = StructuredModelManager.getModelManager().getExistingModelForRead(doc);
-			mq = ModelQueryUtil.getModelQuery(model);
-		}
-		finally {
-		    if(model != null)
-		        model.releaseFromRead();
-		}
-        return mq;
-    }
-
-
-    /**
-     * @return Returns the fFile.
-     */
-    public IProject getProject() {
-
-        return fProject;
-    }
-
-    /**
-     * @param file
-     *            The fFile to set.
-     */
-    public void setProject(IProject p) {
-        fProject = p;
-    }
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/taglib/TaglibHelperCache.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/taglib/TaglibHelperCache.java
deleted file mode 100644
index 4f241fb..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/taglib/TaglibHelperCache.java
+++ /dev/null
@@ -1,155 +0,0 @@
-package org.eclipse.jst.jsp.core.internal.taglib;
-
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jst.jsp.core.internal.Logger;
-
-/**
- * A simple cache for TaglibHelpers to avoid excessive creation of TaglibClassLoaders
- * @author pavery
- */
-class TaglibHelperCache {
-
-    private static final boolean DEBUG;
-    static {
-        String value = Platform.getDebugOption("org.eclipse.jst.jsp.core/debug/taglibvars"); //$NON-NLS-1$
-        DEBUG = value != null && value.equalsIgnoreCase("true"); //$NON-NLS-1$
-    }
-
-    /**
-     * An entry for the cache (projectPath string & TaglibHelper)
-     */
-    class Entry {
-        private TaglibHelper fHelper;
-        private String fProjectPath;
-        
-        public Entry(String projectPath, TaglibHelper helper) {
-            setProjectPath(projectPath);
-            setHelper(helper);
-        }
-        public TaglibHelper getHelper() {
-            return fHelper;
-        }
-        public void setHelper(TaglibHelper helper) {
-            fHelper = helper;
-        }
-        public String getProjectPath() {
-            return fProjectPath;
-        }
-        public void setProjectPath(String projectPath) {
-            fProjectPath = projectPath;
-        }
-        public String toString() {
-            return "Taglib Helper Entry [" + getProjectPath() + "]";
-        }
-    }
-    
-    private List fHelpers;
-    // max size for the cache
-    private int MAX_SIZE;
-
-    /**
-     * Not intended to be large since underlying implmementation uses
-     * a List.
-     */
-    public TaglibHelperCache(int size) {
-        MAX_SIZE = size;
-        fHelpers = Collections.synchronizedList(new ArrayList(MAX_SIZE));
-    }
-    /**
-     * 
-     * @param projectPath
-     * @param f
-     * @param mq
-     * @return
-     */
-    public final synchronized TaglibHelper getHelper(IProject project) {
-        TaglibHelper helper = null;
-        Entry entry = null;
-        String projectPath = project.getFullPath().toString();
-        int size = fHelpers.size();
-        // fist check for existing
-        for (int i=0; i<size; i++) {
-            entry = (Entry)fHelpers.get(i);
-            if(entry.getProjectPath().equals(projectPath)) {
-                // exists
-                helper = entry.getHelper();
-                // only move to front if it's not the first entry
-                if(i>0) {
-                    fHelpers.remove(entry);
-	                fHelpers.add(1, entry);
-	                if(DEBUG) {
-	                    Logger.log(Logger.INFO, "(->) TaglibHelperCache moved: " + entry + " to the front of the list");
-	                    printCacheContents();
-	                }
-                }
-                break;
-            }
-        }
-        // didn't exist
-        if(helper == null) {
-            helper = createNewHelper(projectPath, project);
-        }
-        return helper;
-    }
-    
-    /**
-     * @param projectPath
-     * @param f
-     * @param mq
-     * @return
-     */
-    private TaglibHelper createNewHelper(String projectPath, IProject project) {
-
-        TaglibHelper helper;
-        // create
-        helper = new TaglibHelper(project);
-        Entry newEntry = new Entry(projectPath, helper);
-        fHelpers.add(0, newEntry);
-        if(DEBUG) {
-        	Logger.log(Logger.INFO, "(+) TaglibHelperCache added: " + newEntry);
-            printCacheContents();
-        }
-        if(fHelpers.size() > MAX_SIZE) {
-            // one too many, remove last
-            Object removed = fHelpers.remove(fHelpers.size()-1);
-            if(DEBUG) {
-            	Logger.log(Logger.INFO, "(-) TaglibHelperCache removed: " + removed);
-                printCacheContents();
-            }
-        }
-        return helper;
-    }
- 
-    public final synchronized void removeHelper(String projectPath) {
-        Entry entry = null;
-        Iterator it = fHelpers.iterator();
-        while(it.hasNext()) {
-            entry = (Entry)it.next();
-            if(entry.getProjectPath().equals(projectPath)) {
-                fHelpers.remove(entry);
-                if(DEBUG) { 
-                    Logger.log(Logger.INFO, "(-) TaglibHelperCache removed: " + entry);
-                    printCacheContents();
-                }
-                break;
-            }
-        }
-    }
-    
-    private void printCacheContents() {
-        StringBuffer debugString = new StringBuffer();
-        debugString.append("\n-----------------------------------------------------------");
-        debugString.append("\ncache contents:");
-        for (int i=0; i<fHelpers.size(); i++)	
-        	debugString.append("\n -" + i + "- " + fHelpers.get(i));
-        debugString.append("\n-----------------------------------------------------------");
-        Logger.log(Logger.INFO, debugString.toString());
-    }
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/taglib/TaglibHelperManager.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/taglib/TaglibHelperManager.java
deleted file mode 100644
index acd3ecc..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/taglib/TaglibHelperManager.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package org.eclipse.jst.jsp.core.internal.taglib;
-
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jdt.core.ElementChangedEvent;
-import org.eclipse.jdt.core.IElementChangedListener;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaElementDelta;
-
-/**
- * Manages creation and caching (ordered MRU) of TaglibHelpers.
- * Removes helpers when their classpath changes (so they are rebuilt).
- * There is one helper per project (with a specific classpath entry).
- * 
- * @author pavery
- */
-public class TaglibHelperManager implements IElementChangedListener {
-   
-
-    private static TaglibHelperManager instance = null;
-    // using a cache of just 3 loaders
-    private TaglibHelperCache fCache = new TaglibHelperCache(3);
-
-    private TaglibHelperManager() {
-        // use instance
-    }
-    public static synchronized TaglibHelperManager getInstance() {
-        if(instance == null)
-            instance = new TaglibHelperManager();
-        return instance;
-    }
-    
-    public TaglibHelper getTaglibHelper(IFile f) {
-        IProject p = f.getProject();
-        return getHelperFromCache(p);
-    }
-    
-    /**
-     * @param projectPath
-     */
-    private TaglibHelper getHelperFromCache(IProject project) {
-        return fCache.getHelper(project);
-    }
-    
-    /**
-     * Update classpath for appropriate loader.
-     * @see org.eclipse.jdt.core.IElementChangedListener#elementChanged(org.eclipse.jdt.core.ElementChangedEvent)
-     */
-    public void elementChanged(ElementChangedEvent event) {
-
-        // handle classpath changes
-        IJavaElementDelta delta = event.getDelta();
-        if(delta.getElement().getElementType() == IJavaElement.JAVA_MODEL) {
-            IJavaElementDelta[] changed = delta.getChangedChildren();
-            for (int i = 0; i < changed.length; i++) {
-                if((changed[i].getFlags() & IJavaElementDelta.F_CLASSPATH_CHANGED) != 0) {
-                    IJavaElement proj = changed[i].getElement();
-                    handleClasspathChange(changed, i, proj);
-                }
-            }
-        }
-    }
-    
-    /**
-     * @param changed
-     * @param i
-     * @param proj
-     */
-    private void handleClasspathChange(IJavaElementDelta[] changed, int i, IJavaElement proj) {
-
-        if(proj.getElementType() == IJavaElement.JAVA_PROJECT) {
-            String projectPath = proj.getPath().toString().replace('\\', '/');
-            fCache.removeHelper(projectPath);
-        }
-    }
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/taglib/TaglibVariable.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/taglib/TaglibVariable.java
deleted file mode 100644
index dd41c01..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/taglib/TaglibVariable.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package org.eclipse.jst.jsp.core.internal.taglib;
-
-
-/**
- * Contains info about a TaglibVariable: classname, variablename.
- * @author pavery
- */
-public class TaglibVariable {
-    
-	private String fVarClass = null;
-	private String fVarName = null;
-	private final String ENDL = "\n";
-	/**
-	 * 
-	 */
-	public TaglibVariable(String varClass, String varName) {
-		setVarClass(varClass);
-		setVarName(varName);
-	}
-	/**
-	 * @return Returns the fVarClass.
-	 */
-	public final String getVarClass() {
-		return fVarClass;
-	}
-	/**
-	 * @param varClass The fVarClass to set.
-	 */
-	public final void setVarClass(String varClass) {
-		fVarClass = varClass;
-	}
-	/**
-	 * @return Returns the fVarName.
-	 */
-	public final String getVarName() {
-		return fVarName;
-	}
-	/**
-	 * @param varName The fVarName to set.
-	 */
-	public final void setVarName(String varName) {
-		fVarName = varName;
-	}
-	
-	/**
-	 * Convenience method.
-	 * @return
-	 */
-	public final String getDeclarationString() {
-		return getVarClass() + " " + getVarName() + " = null;" + ENDL; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/tasks/JSPFileTaskScanner.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/tasks/JSPFileTaskScanner.java
deleted file mode 100644
index 2cab51e..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/tasks/JSPFileTaskScanner.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.tasks;
-
-import org.eclipse.jst.jsp.core.internal.regions.DOMJSPRegionContexts;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion;
-import org.eclipse.wst.xml.core.internal.tasks.XMLFileTaskScanner;
-
-public class JSPFileTaskScanner extends XMLFileTaskScanner {
-	protected boolean isCommentRegion(IStructuredDocumentRegion region, ITextRegion textRegion) {
-		return super.isCommentRegion(region, textRegion) || textRegion.getType().equals(DOMJSPRegionContexts.JSP_COMMENT_TEXT);
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/text/NullStructuredDocumentPartitioner.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/text/NullStructuredDocumentPartitioner.java
deleted file mode 100644
index 125b273..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/text/NullStructuredDocumentPartitioner.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.text;
-
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITypedRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredTextPartitioner;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion;
-import org.eclipse.wst.sse.core.internal.text.rules.IStructuredTypedRegion;
-
-/**
- * To be used when no known partitioner is available.
- * Always returns the unknown type.
- */
-public class NullStructuredDocumentPartitioner implements IStructuredTextPartitioner {
-
-	public class NullStructuredTypedRegion implements IStructuredTypedRegion {
-
-		private int fOffset;
-
-		private int fLength;
-
-		private String fType;
-
-		public void setType(String type) {
-			fType = type;
-		}
-
-		public void setLength(int length) {
-			fLength = length;
-
-		}
-
-		public void setOffset(int offset) {
-			fOffset = offset;
-		}
-
-		public String getType() {
-			return fType;
-		}
-
-		public int getLength() {
-			return fLength;
-		}
-
-		public int getOffset() {
-			return fOffset;
-		}
-
-	}
-
-	public final static String ST_UNKNOWN_PARTITION = "org.eclipse.wst.sse.UNKNOWN_PARTITION_TYPE"; //$NON-NLS-1$
-	private final String[] legalTypes = new String[]{ST_UNKNOWN_PARTITION};
-
-	public NullStructuredDocumentPartitioner() {
-		super();
-	}
-
-	public void connect(IDocument document) {
-		// nothing to do
-	}
-
-	public IStructuredTypedRegion createPartition(int offset, int length, String type) {
-		IStructuredTypedRegion result = new NullStructuredTypedRegion();
-		result.setOffset(offset);
-		result.setLength(length);
-		result.setType(type);
-		return result;
-	}
-
-	public void disconnect() {
-		// nothing to do
-	}
-
-	public String getDefaultPartitionType() {
-		return ST_UNKNOWN_PARTITION;
-	}
-
-	public String[] getLegalContentTypes() {
-		return legalTypes;
-	}
-
-	public String getPartitionType(ITextRegion region, int offset) {
-		return ST_UNKNOWN_PARTITION;
-	}
-
-	public String getPartitionTypeBetween(IStructuredDocumentRegion previousNode, IStructuredDocumentRegion nextNode) {
-		return ST_UNKNOWN_PARTITION;
-	}
-
-	public ITypedRegion[] computePartitioning(int offset, int length) {
-		ITypedRegion[] alwaysOne = new ITypedRegion[]{createPartition(offset, length, ST_UNKNOWN_PARTITION)};
-		return alwaysOne;
-	}
-
-	public void documentAboutToBeChanged(DocumentEvent event) {
-	}
-
-	public boolean documentChanged(DocumentEvent event) {
-		return false;
-	}
-
-	public String getContentType(int offset) {
-		return getDefaultPartitionType();
-	}
-
-	public ITypedRegion getPartition(int offset) {
-		return createPartition(offset, 1, getDefaultPartitionType());
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/text/StructuredTextPartitionerForJSP.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/text/StructuredTextPartitionerForJSP.java
deleted file mode 100644
index d9b7695..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/text/StructuredTextPartitionerForJSP.java
+++ /dev/null
@@ -1,512 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.text;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Locale;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.JSP12TLDNames;
-import org.eclipse.jst.jsp.core.internal.encoding.JSPDocumentHeadContentDetector;
-import org.eclipse.jst.jsp.core.internal.parser.JSPSourceParser;
-import org.eclipse.jst.jsp.core.internal.provisional.JSP11Namespace;
-import org.eclipse.jst.jsp.core.internal.provisional.JSP12Namespace;
-import org.eclipse.jst.jsp.core.internal.provisional.text.IJSPPartitionTypes;
-import org.eclipse.jst.jsp.core.internal.regions.DOMJSPRegionContexts;
-import org.eclipse.wst.html.core.internal.text.StructuredTextPartitionerForHTML;
-import org.eclipse.wst.sse.core.internal.ltk.parser.StructuredDocumentRegionHandler;
-import org.eclipse.wst.sse.core.internal.ltk.parser.StructuredDocumentRegionHandlerExtension;
-import org.eclipse.wst.sse.core.internal.ltk.parser.StructuredDocumentRegionParser;
-import org.eclipse.wst.sse.core.internal.parser.ForeignRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredTextPartitioner;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegionList;
-import org.eclipse.wst.sse.core.internal.text.rules.StructuredTextPartitioner;
-import org.eclipse.wst.sse.core.internal.util.StringUtils;
-import org.eclipse.wst.xml.core.internal.regions.DOMRegionContext;
-import org.eclipse.wst.xml.core.internal.text.rules.StructuredTextPartitionerForXML;
-
-public class StructuredTextPartitionerForJSP extends StructuredTextPartitioner {
-
-	private class PrefixListener implements StructuredDocumentRegionHandler, StructuredDocumentRegionHandlerExtension {
-		// track the list of prefixes introduced by taglib directives
-		private List fCustomActionPrefixes = null;
-		private String fLastTrue = null;
-
-		public PrefixListener() {
-			super();
-			fCustomActionPrefixes = new ArrayList(1);
-			resetNodes();
-		}
-
-		private JSPSourceParser getTextSource() {
-			return (JSPSourceParser) structuredDocument.getParser();
-		}
-
-		public void nodeParsed(IStructuredDocumentRegion sdRegion) {
-			// Largely taken from the TLDCMDocumentManager
-			// could test > 1, but since we only care if there are 8 (<%@,
-			// taglib, uri, =, where, prefix, =, what) [or 4 for includes]
-			if (sdRegion.getNumberOfRegions() > 4 && sdRegion.getRegions().get(1).getType() == DOMJSPRegionContexts.JSP_DIRECTIVE_NAME) {
-				ITextRegion nameRegion = sdRegion.getRegions().get(1);
-				try {
-					boolean tablibdetected = false;
-					boolean directiveTaglibdetected;
-					int startOffset = sdRegion.getStartOffset(nameRegion);
-					int textLength = nameRegion.getTextLength();
-
-					if (getTextSource() != null) {
-						tablibdetected = getTextSource().regionMatches(startOffset, textLength, JSP12TLDNames.TAGLIB);
-						directiveTaglibdetected = getTextSource().regionMatches(startOffset, textLength, JSP12Namespace.ElementName.DIRECTIVE_TAGLIB);
-					}
-					else {
-						// old fashioned way
-						String directiveName = getTextSource().getText(startOffset, textLength);
-						tablibdetected = directiveName.equals(JSP12TLDNames.TAGLIB);
-						directiveTaglibdetected = directiveName.equals(JSP12Namespace.ElementName.DIRECTIVE_TAGLIB);
-					}
-					if (tablibdetected || directiveTaglibdetected) {
-						processTaglib(sdRegion);
-					}
-				}
-				catch (StringIndexOutOfBoundsException sioobExc) {
-					// ISSUE: why is this "normal" here?
-					//do nothing
-				}
-			}
-		}
-
-
-		private void processTaglib(IStructuredDocumentRegion taglibStructuredDocumentRegion) {
-			ITextRegionList regions = taglibStructuredDocumentRegion.getRegions();
-			String prefixValue = null;
-			boolean prefixnameDetected = false;
-			try {
-				for (int i = 0; i < regions.size(); i++) {
-					ITextRegion region = regions.get(i);
-					int startOffset = taglibStructuredDocumentRegion.getStartOffset(region);
-					int textLength = region.getTextLength();
-					if (region.getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_NAME) {
-						prefixnameDetected = getTextSource().regionMatches(startOffset, textLength, JSP12TLDNames.PREFIX);
-						//String regionText =
-						// fTextSource.getText(startOffset, textLength);
-						//prefixname =
-						// regionText.equals(JSP12TLDNames.PREFIX);
-					}
-					else if (prefixnameDetected && region.getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_VALUE) {
-						prefixValue = getTextSource().getText(startOffset, textLength);
-					}
-				}
-			}
-			catch (StringIndexOutOfBoundsException sioobExc) {
-				// nothing to be done
-				prefixValue = null;
-			}
-			if (prefixValue != null) {
-				String prefixText = StringUtils.strip(prefixValue) + ":"; //$NON-NLS-1$
-				if (!fCustomActionPrefixes.contains(prefixText)) {
-					if(debugPrefixListener == true) {
-						System.out.println("StructuredTextPartitionerForJSP.PrefixListener learning prefix: " + prefixText); //$NON-NLS-1$
-					}
-					fCustomActionPrefixes.add(prefixText);
-				}
-			}
-		}
-
-		public void resetNodes() {
-			fLastTrue = null;
-			fCustomActionPrefixes.clear();
-			fCustomActionPrefixes.add(JSP11Namespace.JSP_TAG_PREFIX + ":"); //$NON-NLS-1$
-			if(debugPrefixListener == true) {
-				System.out.println("StructuredTextPartitionerForJSP.PrefixListener forgetting learned prefixes"); //$NON-NLS-1$
-			}
-		}
-
-
-		public void setStructuredDocument(IStructuredDocument newDocument) {
-			resetNodes();
-			((StructuredDocumentRegionParser) structuredDocument.getParser()).removeStructuredDocumentRegionHandler(this);
-			if(newDocument != null) {
-				((StructuredDocumentRegionParser) newDocument.getParser()).addStructuredDocumentRegionHandler(this);
-			}
-		}
-
-		public boolean startsWithCustomActionPrefix(String tagname) {
-			if (tagname.equals(fLastTrue))
-				return true;
-			for (int i = 0; i < fCustomActionPrefixes.size(); i++)
-				if (tagname.startsWith((String) fCustomActionPrefixes.get(i))) {
-					fLastTrue = tagname;
-					return true;
-				}
-			return false;
-		}
-	}
-
-	static final boolean debugPrefixListener = "true".equalsIgnoreCase(Platform.getDebugOption("org.eclipse.jst.jsp.core/partitioner/prefixlistener")); //$NON-NLS-1$ //$NON-NLS-2$
-
-
-	// for compatibility with v5.1.0, we'll reuse ST_JSP_DIRECTIVE for action
-	// tags
-	private final static boolean fEnableJSPActionPartitions = true;
-	// list of valid JSP 1.2 tag and action names
-	private static List fJSPActionTagNames = null;
-	private static final String HTML_MIME_TYPE = "text/html"; //$NON-NLS-1$
-	private static final String XHTML_MIME_TYPE = "text/xhtml"; //$NON-NLS-1$
-	private static final String XML_MIME_TYPE = "text/xml"; //$NON-NLS-1$
-
-	private final static String[] fConfiguredContentTypes = new String[]{IJSPPartitionTypes.JSP_DEFAULT, IJSPPartitionTypes.JSP_DEFAULT_EL, IJSPPartitionTypes.JSP_DIRECTIVE, IJSPPartitionTypes.JSP_CONTENT_DELIMITER, IJSPPartitionTypes.JSP_CONTENT_JAVA, IJSPPartitionTypes.JSP_CONTENT_JAVASCRIPT, IJSPPartitionTypes.JSP_COMMENT};
-
-	/**
-	 * @return
-	 */
-	public static String[] getConfiguredContentTypes() {
-		return fConfiguredContentTypes;
-	}
-
-	private IStructuredTextPartitioner fEmbeddedPartitioner = null;
-
-	
-	/**
-	 * Assume language=java by default ... client, such as
-	 * PageDirectiveAdapter, must set language of document partitioner,
-	 * if/when it changes.
-	 */
-	private String fLanguage = "java"; //$NON-NLS-1$
-	private PrefixListener fPrefixParseListener;
-
-	/**
-	 * Constructor for JSPDocumentPartioner.
-	 */
-	public StructuredTextPartitionerForJSP() {
-		super();
-		if (fJSPActionTagNames == null) {
-			fJSPActionTagNames = new ArrayList(); // uses .equals() for
-			// contains()
-			fJSPActionTagNames.add(JSP12Namespace.ElementName.DECLARATION);
-			//			fJSPActionTagNames.add(JSP12Namespace.ElementName.DIRECTIVE_INCLUDE);
-			//			fJSPActionTagNames.add(JSP12Namespace.ElementName.DIRECTIVE_PAGE);
-			//			fJSPActionTagNames.add(JSP12Namespace.ElementName.DIRECTIVE_TAGLIB);
-			fJSPActionTagNames.add(JSP12Namespace.ElementName.EXPRESSION);
-			fJSPActionTagNames.add(JSP12Namespace.ElementName.FALLBACK);
-			fJSPActionTagNames.add(JSP12Namespace.ElementName.FORWARD);
-			fJSPActionTagNames.add(JSP12Namespace.ElementName.GETPROPERTY);
-			fJSPActionTagNames.add(JSP12Namespace.ElementName.INCLUDE);
-			fJSPActionTagNames.add(JSP12Namespace.ElementName.PARAM);
-			fJSPActionTagNames.add(JSP12Namespace.ElementName.PARAMS);
-			fJSPActionTagNames.add(JSP12Namespace.ElementName.PLUGIN);
-			//			fJSPActionTagNames.add(JSP12Namespace.ElementName.ROOT);
-			fJSPActionTagNames.add(JSP12Namespace.ElementName.SCRIPTLET);
-			fJSPActionTagNames.add(JSP12Namespace.ElementName.SETPROPERTY);
-			fJSPActionTagNames.add(JSP12Namespace.ElementName.TEXT);
-			fJSPActionTagNames.add(JSP12Namespace.ElementName.USEBEAN);
-		}
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.IDocumentPartitioner#connect(org.eclipse.jface.text.IDocument)
-	 */
-	public void connect(IDocument document) {
-		super.connect(document);
-		fSupportedTypes = null;
-
-		// be extra paranoid
-		if (fEnableJSPActionPartitions && structuredDocument.getParser() instanceof JSPSourceParser) {
-			StructuredDocumentRegionParser parser = (StructuredDocumentRegionParser) structuredDocument.getParser();
-			parser.removeStructuredDocumentRegionHandler(fPrefixParseListener);
-			fPrefixParseListener = new PrefixListener();
-			parser.addStructuredDocumentRegionHandler(fPrefixParseListener);
-		}
-	}
-
-	private IStructuredTextPartitioner createStructuredTextPartitioner(IStructuredDocument structuredDocument) {
-		IStructuredTextPartitioner result = new NullStructuredDocumentPartitioner();
-		JSPDocumentHeadContentDetector jspHeadContentDetector = new JSPDocumentHeadContentDetector();
-		jspHeadContentDetector.set(structuredDocument);
-		String contentType;
-		try {
-			contentType = jspHeadContentDetector.getContentType();
-		}
-		catch (IOException e) {
-			// should be impossible in this context
-			throw new Error(e);
-		}
-		if (contentType == null) {
-			contentType = "text/html"; //$NON-NLS-1$
-		}
-		// we currently only have two ... eventually should
-		// make or tie-in to existing registry.
-		if (contentType.equalsIgnoreCase(HTML_MIME_TYPE)) {
-			result = new StructuredTextPartitionerForHTML();
-			result.connect(structuredDocument);
-		}
-		else if (contentType.equalsIgnoreCase(XHTML_MIME_TYPE)) {
-			result = new StructuredTextPartitionerForHTML();
-			result.connect(structuredDocument);
-		}
-		else if (contentType.equalsIgnoreCase(XML_MIME_TYPE)) {
-			result = new StructuredTextPartitionerForXML();
-			result.connect(structuredDocument);
-		}
-		return result;
-
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.IDocumentPartitioner#disconnect()
-	 */
-	public void disconnect() {
-		// we'll check for null document, just for bullet proofing (incase
-		// disconnnect is called without corresponding connect.
-		if (structuredDocument != null) {
-			StructuredDocumentRegionParser parser = (StructuredDocumentRegionParser) structuredDocument.getParser();
-			if (fPrefixParseListener != null)
-				parser.removeStructuredDocumentRegionHandler(fPrefixParseListener);
-			fPrefixParseListener = null;
-		}
-
-		if (fEmbeddedPartitioner != null) {
-			fEmbeddedPartitioner.disconnect();
-			// https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=4909
-			/**
-			 * force recreation when reconnected
-			 */
-			fEmbeddedPartitioner = null;
-		}
-		// super.disconnect should come at end, since it (may) set
-		// structuredDocument to null
-		super.disconnect();
-	}
-
-	public String getDefaultPartitionType() {
-		return getEmbeddedPartitioner().getDefaultPartitionType();
-	}
-
-	/**
-	 * Returns the embeddedPartitioner.
-	 * 
-	 * @return IStructuredTextPartitioner
-	 */
-	public IStructuredTextPartitioner getEmbeddedPartitioner() {
-		if (fEmbeddedPartitioner == null) {
-			fEmbeddedPartitioner = createStructuredTextPartitioner(structuredDocument);
-			fEmbeddedPartitioner.connect(structuredDocument);
-		}
-
-		return fEmbeddedPartitioner;
-	}
-
-	/**
-	 * Returns the language.
-	 * 
-	 * @return String
-	 */
-	public String getLanguage() {
-		return fLanguage;
-	}
-
-	private List getLocalLegalContentTypes() {
-		List types = new ArrayList();
-		Object[] configuredTypes = getConfiguredContentTypes();
-		for (int i = 0; i < configuredTypes.length; i++)
-			types.add(configuredTypes[i]);
-		return types;
-	}
-
-	private String getParentName(IStructuredDocumentRegion sdRegion) {
-		String result = "UNKNOWN"; //$NON-NLS-1$
-		while (sdRegion != null && isValidJspActionRegionType(sdRegion.getType()))
-			sdRegion = sdRegion.getPrevious();
-
-		if (sdRegion != null) {
-			ITextRegionList regions = sdRegion.getRegions();
-			// only find parent names from a start tag
-			if (regions.size() > 1) {
-				ITextRegion r = regions.get(1);
-				if (regions.get(0).getType().equals(DOMRegionContext.XML_TAG_OPEN) && r.getType().equals(DOMRegionContext.XML_TAG_NAME)) {
-					result = sdRegion.getText(r);
-				}
-			}
-		}
-		return result;
-	}
-
-	protected String getPartitionType(ForeignRegion region, int offset) {
-		return getEmbeddedPartitioner().getPartitionType(region, offset);
-	}
-
-
-	public String getPartitionType(ITextRegion region, int offset) {
-		String result = null;
-		final String region_type = region.getType();
-		if (region_type == DOMJSPRegionContexts.JSP_CONTENT) {
-			result = getPartitionTypeForDocumentLanguage();
-		}
-		else if (region_type == DOMJSPRegionContexts.JSP_COMMENT_TEXT || region_type == DOMJSPRegionContexts.JSP_COMMENT_OPEN || region_type == DOMJSPRegionContexts.JSP_COMMENT_CLOSE)
-			result = IJSPPartitionTypes.JSP_COMMENT;
-		else if (region_type == DOMJSPRegionContexts.JSP_DIRECTIVE_NAME || region_type == DOMJSPRegionContexts.JSP_DIRECTIVE_OPEN || region_type == DOMJSPRegionContexts.JSP_DIRECTIVE_CLOSE)
-			result = IJSPPartitionTypes.JSP_DIRECTIVE;
-		else if (region_type == DOMJSPRegionContexts.JSP_CLOSE || region_type == DOMJSPRegionContexts.JSP_SCRIPTLET_OPEN || region_type == DOMJSPRegionContexts.JSP_EXPRESSION_OPEN || region_type == DOMJSPRegionContexts.JSP_DECLARATION_OPEN)
-			result = IJSPPartitionTypes.JSP_CONTENT_DELIMITER;
-		else if (region_type == DOMJSPRegionContexts.JSP_ROOT_TAG_NAME)
-			result = IJSPPartitionTypes.JSP_DEFAULT;
-		else if (region_type == DOMJSPRegionContexts.JSP_EL_OPEN || region_type == DOMJSPRegionContexts.JSP_EL_CONTENT || region_type == DOMJSPRegionContexts.JSP_EL_CLOSE || region_type == DOMJSPRegionContexts.JSP_EL_DQUOTE
-					|| region_type == DOMJSPRegionContexts.JSP_EL_SQUOTE || region_type == DOMJSPRegionContexts.JSP_EL_QUOTED_CONTENT)
-			result = IJSPPartitionTypes.JSP_DEFAULT_EL;
-		else if (region_type == DOMRegionContext.XML_CONTENT) {
-			// possibly between <jsp:scriptlet>, <jsp:expression>,
-			// <jsp:declaration>
-			IStructuredDocumentRegion sdRegion = this.structuredDocument.getRegionAtCharacterOffset(offset);
-			if (isJspJavaActionName(getParentName(sdRegion)))
-				result = getPartitionTypeForDocumentLanguage();
-			else
-				result = getDefaultPartitionType();
-		}
-		else {
-			result = getEmbeddedPartitioner().getPartitionType(region, offset);
-		}
-		return result;
-	}
-
-	public String getPartitionTypeBetween(IStructuredDocumentRegion previousNode, IStructuredDocumentRegion nextNode) {
-		return getEmbeddedPartitioner().getPartitionTypeBetween(previousNode, nextNode);
-	}
-
-	private String getPartitionTypeForDocumentLanguage() {
-		String result;
-		if (fLanguage == null || fLanguage.equalsIgnoreCase("java")) { //$NON-NLS-1$
-			result = IJSPPartitionTypes.JSP_CONTENT_JAVA;
-		}
-		else if (fLanguage.equalsIgnoreCase("javascript")) { //$NON-NLS-1$
-			result = IJSPPartitionTypes.JSP_CONTENT_JAVASCRIPT;
-		}
-		else {
-			result = IJSPPartitionTypes.JSP_SCRIPT_PREFIX + getLanguage().toUpperCase(Locale.ENGLISH);
-		}
-		return result;
-	}
-
-	protected void initLegalContentTypes() {
-		List combinedTypes = getLocalLegalContentTypes();
-		if (getEmbeddedPartitioner() != null) {
-			String[] moreTypes = getEmbeddedPartitioner().getLegalContentTypes();
-			for (int i = 0; i < moreTypes.length; i++)
-				combinedTypes.add(moreTypes[i]);
-		}
-		fSupportedTypes = new String[0];
-		combinedTypes.toArray(fSupportedTypes);
-	}
-
-	/**
-	 * @param sdRegion
-	 * @param offset
-	 * @return
-	 */
-	private boolean isAction(IStructuredDocumentRegion sdRegion, int offset) {
-		if (!sdRegion.getType().equals(DOMRegionContext.XML_TAG_NAME))
-			return false;
-		// shouldn't get a tag name region type unless a tag name region
-		// exists
-		// at [1]
-		ITextRegion tagNameRegion = sdRegion.getRegions().get(1);
-		String tagName = sdRegion.getText(tagNameRegion);
-		// TODO: support custom JSP actions
-		// the jsp: prefix is already loaded in the prefix listener
-		//		if (fJSPActionTagNames.contains(tagName))
-		//			return true;
-		return fPrefixParseListener.startsWithCustomActionPrefix(tagName);
-	}
-
-	protected boolean isDocumentRegionBasedPartition(IStructuredDocumentRegion sdRegion, ITextRegion containedChildRegion, int offset) {
-		String documentRegionContext = sdRegion.getType();
-		if (containedChildRegion != null) {
-			if (documentRegionContext.equals(DOMJSPRegionContexts.JSP_DIRECTIVE_NAME) || documentRegionContext.equals(DOMJSPRegionContexts.JSP_ROOT_TAG_NAME)) {
-				setInternalPartition(offset, containedChildRegion.getLength(), IJSPPartitionTypes.JSP_DIRECTIVE);
-				return true;
-			}
-			if (fEnableJSPActionPartitions && isAction(sdRegion, offset)) {
-				setInternalPartition(offset, containedChildRegion.getLength(), IJSPPartitionTypes.JSP_DIRECTIVE);
-				return true;
-			}
-		}
-		return super.isDocumentRegionBasedPartition(sdRegion, containedChildRegion, offset);
-	}
-
-	/**
-	 * @param possibleJspJavaAction
-	 * @return
-	 */
-	private boolean isJspJavaActionName(String possibleJspJavaAction) {
-		return possibleJspJavaAction.equals(JSP11Namespace.ElementName.SCRIPTLET) || possibleJspJavaAction.equals(JSP11Namespace.ElementName.EXPRESSION) || possibleJspJavaAction.equals(JSP11Namespace.ElementName.DECLARATION);
-	}
-
-	private boolean isValidJspActionRegionType(String type) {
-		// true for anything that can be within <jsp:scriptlet>,
-		// <jsp:expression>, <jsp:declaration>
-		return type == DOMRegionContext.XML_CONTENT || type == DOMRegionContext.BLOCK_TEXT || type == DOMRegionContext.XML_CDATA_OPEN || type == DOMRegionContext.XML_CDATA_TEXT || type == DOMRegionContext.XML_CDATA_CLOSE;
-	}
-
-	public IDocumentPartitioner newInstance() {
-		StructuredTextPartitionerForJSP instance = new StructuredTextPartitionerForJSP();
-		instance.setEmbeddedPartitioner(createStructuredTextPartitioner(structuredDocument));
-		instance.setLanguage(fLanguage);
-		return instance;
-	}
-
-	/**
-	 * Sets the embeddedPartitioner.
-	 * 
-	 * @param embeddedPartitioner
-	 *            The embeddedPartitioner to set
-	 */
-	public void setEmbeddedPartitioner(IStructuredTextPartitioner embeddedPartitioner) {
-		// https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=4909
-		/**
-		 * manage connected state of embedded partitioner
-		 */
-		if(fEmbeddedPartitioner != null && structuredDocument != null) {
-			fEmbeddedPartitioner.disconnect();
-		}
-		
-		this.fEmbeddedPartitioner = embeddedPartitioner;
-		
-		if(fEmbeddedPartitioner != null && structuredDocument != null) {
-			fEmbeddedPartitioner.connect(structuredDocument);
-		}
-	}
-
-	protected void setInternalPartition(int offset, int length, String type) {
-		//TODO: need to carry this single instance idea further to be
-		// complete,
-		// but hopefully this will be less garbage than before (especially for
-		// HTML, XML,
-		// naturally!)
-		internalReusedTempInstance = getEmbeddedPartitioner().createPartition(offset, length, type);
-
-	}
-
-	/**
-	 * Sets the language.
-	 * 
-	 * @param language
-	 *            The language to set
-	 */
-	public void setLanguage(String language) {
-		this.fLanguage = language;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/util/CommonXML.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/util/CommonXML.java
deleted file mode 100644
index 221c244..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/util/CommonXML.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.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.jst.jsp.core.internal.Logger;
-import org.w3c.dom.Document;
-
-public class CommonXML {
-
-	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);
-			instance.setExpandEntityReferences(false);
-			instance.setCoalescing(true);
-			result = instance.newDocumentBuilder();
-		}
-		catch (ParserConfigurationException e) {
-			Logger.logException(e);
-		}
-		return result;
-	}
-
-	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());
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/util/DocumentProvider.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/util/DocumentProvider.java
deleted file mode 100644
index 1122fd2..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/util/DocumentProvider.java
+++ /dev/null
@@ -1,460 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.core.internal.util;
-
-
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.StringReader;
-import java.net.URL;
-import java.net.URLConnection;
-import java.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.jst.jsp.core.internal.Logger;
-import org.eclipse.wst.sse.core.internal.util.JarUtilities;
-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 DocumentProvider {
-	private Document document = null;
-	private ErrorHandler errorHandler = null;
-	private String fBaseReference;
-	private String fileName = null;
-	private boolean fValidating = true;
-	private InputStream inputStream = null;
-	private String jarFileName = null;
-	private EntityResolver resolver = null;
-
-	private Node rootElement = null;
-	private String rootElementName = null;
-
-	public DocumentProvider() {
-		super();
-	}
-
-	private 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(getEntityResolver());
-			builder.setErrorHandler(getNullErrorHandler());
-			is = getInputStream();
-			if (is != null)
-				result = builder.parse(is, getBaseReference());
-		}
-		catch (SAXException e) {
-			result = null;
-			// parsing exception, notify the user?
-			Logger.log(Logger.WARNING, "SAXException while reading descriptor: " + e); //$NON-NLS-1$
-		}
-		catch (FileNotFoundException e) {
-			// NOT an "exceptional case"; do not Log
-		}
-		catch (IOException e) {
-			Logger.log(Logger.WARNING, "IOException while reading descriptor" + e); //$NON-NLS-1$
-		}
-		finally {
-			if (is != null) {
-				try {
-					is.close();
-				}
-				catch (Exception e) {
-					// what can be done?
-				}
-			}
-		}
-		return result;
-	}
-
-	/**
-	 * @return
-	 */
-	public String getBaseReference() {
-		return fBaseReference;
-	}
-
-	/**
-	 * 
-	 * @return Document
-	 */
-	public Document getDocument() {
-		if (document == null)
-			load();
-		return document;
-	}
-
-	private DocumentBuilder getDocumentBuilder() {
-		return CommonXML.getDocumentBuilder(isValidating());
-	}
-
-	private 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) {
-		Element result = null;
-		if (document == null)
-			load();
-		if (document != null) {
-			result = (Element) getNode(getRootElement(), name);
-		}
-		return result;
-	}
-
-	/**
-	 * Returns an EntityResolver that won't try to load and resolve ANY
-	 * entities
-	 */
-	private EntityResolver getEntityResolver() {
-		if (resolver == null) {
-			resolver = new EntityResolver() {
-				public InputSource resolveEntity(String publicID, String systemID) throws SAXException, IOException {
-					InputSource result = null;
-					if (getBaseReference() != null) {
-						try {
-							URL spec = new URL("file://" + getBaseReference()); //$NON-NLS-1$
-							URL url = new URL(spec, systemID);
-							if (url.getProtocol().startsWith("file:")) { //$NON-NLS-1$
-								URLConnection connection = url.openConnection();
-								result = new InputSource(systemID != null ? systemID : "/_" + toString()); //$NON-NLS-1$
-								result.setPublicId(publicID);
-								result.setByteStream(connection.getInputStream());
-							}
-						}
-						catch (Exception e) {
-							result = null;
-						}
-					}
-					if (result == null) {
-						result = new InputSource(new StringReader("")); //$NON-NLS-1$
-						result.setPublicId(publicID);
-						result.setSystemId(systemID != null ? systemID : "/_" + getClass().getName()); //$NON-NLS-1$
-					}
-					return result;
-				}
-			};
-		}
-		return resolver;
-	}
-
-	/**
-	 * 
-	 * @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 if (isJAR()) {
-			return JarUtilities.getInputStream(getJarFileName(), getFileName());
-		}
-		else {
-			return new FileInputStream(getFileName());
-		}
-	}
-
-	/**
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getJarFileName() {
-		return jarFileName;
-	}
-
-	private 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;
-	}
-
-	private Document getNewDocument() {
-		Document result = null;
-		try {
-			result = getDomImplementation().createDocument("", 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.createElement(getRootElementName());
-			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'.
-	 ************************************************************************/
-	private 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 ErrorHandler that will not stop the parser on reported
-	 * errors
-	 */
-	private ErrorHandler getNullErrorHandler() {
-		if (errorHandler == null) {
-			errorHandler = new ErrorHandler() {
-				public void error(SAXParseException exception) throws SAXException {
-					Logger.log(Logger.WARNING, "SAXParseException with " + getJarFileName() + "/" + getFileName() + " (error) while reading descriptor: " + exception.getMessage()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				}
-
-				public void fatalError(SAXParseException exception) throws SAXException {
-					Logger.log(Logger.WARNING, "SAXParseException with " + getJarFileName() + "/" + getFileName() + " (fatalError) while reading descriptor: " + exception.getMessage()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				}
-
-				public void warning(SAXParseException exception) throws SAXException {
-					Logger.log(Logger.WARNING, "SAXParseException with " + getJarFileName() + "/" + getFileName() + " (warning) while reading descriptor: " + exception.getMessage()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				}
-			};
-		}
-		return errorHandler;
-	}
-
-	private Document getParsedDocument() {
-		Document result = null;
-		if (inputStream == null) {
-			File existenceTester = null;
-			if (isJAR())
-				existenceTester = new File(getJarFileName());
-			else
-				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
-	 */
-	private 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 java.lang.String getRootElementName() {
-		return rootElementName;
-	}
-
-	private boolean isJAR() {
-		return getJarFileName() != null;
-	}
-
-	/**
-	 * @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) {
-			if (rootElementName != null)
-				rootElement = getRootElement(document);
-			else
-				rootElement = document.getDocumentElement();
-		}
-
-		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 = (Element) children.item(i);
-				}
-				if (rootElement == null) {
-					for (int i = 0; i < children.getLength(); i++) {
-						if (children.item(i).getNodeType() == Node.ELEMENT_NODE) {
-							rootElement = (Element) children.item(i);
-							break;
-						}
-					}
-				}
-			}
-		}
-	}
-
-	private void saveDocument(Document odocument, OutputStream stream) throws IOException {
-		CommonXML.serialize(odocument, stream);
-	}
-
-	/**
-	 * @param string
-	 */
-	public void setBaseReference(String string) {
-		fBaseReference = string;
-	}
-
-	/**
-	 * 
-	 * @param newFileName
-	 *            java.lang.String
-	 */
-	public void setFileName(java.lang.String newFileName) {
-		fileName = newFileName;
-	}
-
-	/**
-	 * Sets the inputStream for which to provide a Document.
-	 * 
-	 * @param inputStream
-	 *            The inputStream to set
-	 */
-	public void setInputStream(InputStream inputStream) {
-		this.inputStream = inputStream;
-	}
-
-	/**
-	 * 
-	 * @param newJarFileName
-	 *            java.lang.String
-	 */
-	public void setJarFileName(java.lang.String newJarFileName) {
-		jarFileName = newJarFileName;
-	}
-
-	/**
-	 * 
-	 * @param newRootElementName
-	 *            java.lang.String
-	 */
-	public void setRootElementName(java.lang.String newRootElementName) {
-		rootElementName = newRootElementName;
-	}
-
-	/**
-	 * @param b
-	 */
-	public void setValidating(boolean b) {
-		fValidating = b;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/validation/JSPELValidator.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/validation/JSPELValidator.java
deleted file mode 100644
index 8811ad4..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/validation/JSPELValidator.java
+++ /dev/null
@@ -1,101 +0,0 @@
-package org.eclipse.jst.jsp.core.internal.validation;
-
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jst.jsp.core.internal.JSPCoreMessages;
-import org.eclipse.jst.jsp.core.internal.domdocument.DOMModelForJSP;
-import org.eclipse.jst.jsp.core.internal.java.jspel.JSPELParser;
-import org.eclipse.jst.jsp.core.internal.java.jspel.ParseException;
-import org.eclipse.jst.jsp.core.internal.java.jspel.Token;
-import org.eclipse.jst.jsp.core.internal.regions.DOMJSPRegionContexts;
-import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-import org.eclipse.wst.sse.core.internal.provisional.StructuredModelManager;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegionCollection;
-import org.eclipse.wst.validation.internal.core.Message;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-import org.eclipse.wst.validation.internal.operations.LocalizedMessage;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-import org.eclipse.wst.validation.internal.provisional.core.IReporter;
-import org.eclipse.wst.validation.internal.provisional.core.IValidationContext;
-import org.eclipse.wst.xml.core.internal.regions.DOMRegionContext;
-
-
-public class JSPELValidator implements org.eclipse.wst.validation.internal.provisional.core.IValidator {
-	
-	protected void validateRegionContainer(ITextRegionCollection container, IReporter reporter, IFile file) {
-		
-		ITextRegionCollection containerRegion = container;
-		Iterator regions = containerRegion.getRegions().iterator();
-		ITextRegion region = null;
-		while (regions.hasNext() && !reporter.isCancelled()) {
-			region = (ITextRegion) regions.next();
-			String type = region.getType();
-			if (type != null && region instanceof ITextRegionCollection) {
-				ITextRegionCollection parentRegion = ((ITextRegionCollection)region);				
-				Iterator childRegions = parentRegion.getRegions().iterator();
-				while(childRegions.hasNext() && !reporter.isCancelled()) {
-					ITextRegion childRegion = (ITextRegion)childRegions.next();
-					if(childRegion.getType() == DOMJSPRegionContexts.JSP_EL_CONTENT)
-						validateXMLNode(parentRegion, childRegion, reporter, file);
-				}
-			}
-		}
-	}
-			
-	protected void validateXMLNode(ITextRegionCollection container, ITextRegion region, IReporter reporter, IFile file) {
-		String elText = container.getText(region);
-		JSPELParser elParser = JSPELParser.createParser(elText);
-		int contentStart = container.getStartOffset(region);
-		try {
-			elParser.Expression();
-		} catch (ParseException e) {
-			Token curTok = e.currentToken;
-			int problemStartOffset =  contentStart + curTok.beginColumn;
-			Message message = new LocalizedMessage(IMessage.LOW_SEVERITY, JSPCoreMessages.JSPEL_Syntax);
-			message.setOffset(problemStartOffset);
-			message.setLength(curTok.endColumn - curTok.beginColumn + 1);
-			message.setTargetObject(file);
-			reporter.addMessage(this, message);
-		}
-	}
-
-	public void cleanup(org.eclipse.wst.validation.internal.provisional.core.IReporter reporter) {
-		// TODO Auto-generated method stub
-		
-	}
-
-	public void validate(IValidationContext helper, IReporter reporter) throws ValidationException {
-		String[] uris = helper.getURIs();
-		reporter.removeAllMessages(this);
-		// IValidationContext may return a null array
-		if (uris != null) {
-			for (int i = 0; i < uris.length && !reporter.isCancelled(); i++) {
-				IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(uris[i]));
-				IStructuredModel model = null;
-				try {
-					model = StructuredModelManager.getModelManager().getModelForRead(file);
-					DOMModelForJSP jspModel = (DOMModelForJSP) model;
-					IStructuredDocument structuredDoc = jspModel.getStructuredDocument();
-					IStructuredDocumentRegion curNode = structuredDoc.getFirstStructuredDocumentRegion();
-					while (null != (curNode = curNode.getNext())  && !reporter.isCancelled()) {
-						if (curNode.getType() != DOMRegionContext.XML_COMMENT_TEXT && curNode.getType() != DOMRegionContext.XML_CDATA_TEXT && curNode.getType() != DOMRegionContext.UNDEFINED) {
-							validateRegionContainer(curNode, reporter, file);
-						}
-					}
-				}
-				catch (Exception e) {
-				}
-				finally {
-					if (null != model)
-						model.releaseFromRead();
-				}
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/validation/JSPValidator.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/validation/JSPValidator.java
deleted file mode 100644
index dd7c8a8..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/validation/JSPValidator.java
+++ /dev/null
@@ -1,210 +0,0 @@
-package org.eclipse.jst.jsp.core.internal.validation;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceProxy;
-import org.eclipse.core.resources.IResourceProxyVisitor;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.jdt.core.compiler.IProblem;
-import org.eclipse.jst.jsp.core.internal.java.IJSPTranslation;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslation;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslationAdapter;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslationAdapterFactory;
-import org.eclipse.jst.jsp.core.internal.provisional.contenttype.ContentTypeIdForJSP;
-import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-import org.eclipse.wst.sse.core.internal.provisional.StructuredModelManager;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-import org.eclipse.wst.validation.internal.operations.LocalizedMessage;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-import org.eclipse.wst.validation.internal.provisional.core.IReporter;
-import org.eclipse.wst.validation.internal.provisional.core.IValidationContext;
-import org.eclipse.wst.validation.internal.provisional.core.IValidator;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-
-public class JSPValidator implements IValidator {
-	
-	// for debugging
-	private static final boolean DEBUG;
-	static {
-		String value= Platform.getDebugOption("org.eclipse.jst.jsp.core/debug/jspvalidator"); //$NON-NLS-1$
-		DEBUG= value != null && value.equalsIgnoreCase("true"); //$NON-NLS-1$
-	}
-	
-	private class JSPFileVisitor implements IResourceProxyVisitor {
-		
-	    private List fFiles = new ArrayList(); 
-	    private IContentType fContentTypeJSP = null;
-	    private IReporter fReporter = null;
-	    
-		public JSPFileVisitor(IReporter reporter) {
-			fReporter = reporter;
-		}
-		
-		public boolean visit(IResourceProxy proxy) throws CoreException {
-			
-			// check validation
-			if (fReporter.isCancelled()) 
-				return false;
-			
-			if (proxy.getType() == IResource.FILE) {
-				
-				if(getJspContentType().isAssociatedWith(proxy.getName())) {
-					IFile file = (IFile) proxy.requestResource();
-					if(file.exists()) {
-						
-						if(DEBUG)
-							System.out.println("(+) JSPValidator adding file: " + file.getName()); //$NON-NLS-1$
-						fFiles.add(file);
-	
-						// don't search deeper for files
-						return false;
-					}
-				}
-			}
-			return true;
-		}
-		
-		public final IFile[] getFiles() {
-		    return (IFile[])fFiles.toArray(new IFile[fFiles.size()]);
-		}
-		
-		private IContentType getJspContentType() {
-			if(fContentTypeJSP == null)
-				fContentTypeJSP = Platform.getContentTypeManager().getContentType(ContentTypeIdForJSP.ContentTypeID_JSP);
-			return fContentTypeJSP;
-		}
-	}
-	
-	public void cleanup(IReporter reporter) {
-		// nothing to do
-	}
-
-	public void validate(IValidationContext helper, IReporter reporter) throws ValidationException {
-		
-		String[] uris = helper.getURIs();
-		IWorkspaceRoot wsRoot = ResourcesPlugin.getWorkspace().getRoot();
-		if(uris.length > 0) {
-			IFile currentFile = null;
-			for (int i = 0; i < uris.length && !reporter.isCancelled(); i++) {
-				currentFile = wsRoot.getFile(new Path(uris[i]));
-				if(currentFile != null && currentFile.exists()) {
-					validateFile(currentFile, reporter);
-					if(DEBUG)
-						System.out.println("validating: ["+ uris[i]+"]"); //$NON-NLS-1$ //$NON-NLS-2$
-				}
-			}
-		}
-		else {
-			// it's an entire workspace "clean"
-		    JSPFileVisitor visitor = new JSPFileVisitor(reporter);
-			try {
-				//  collect all jsp files
-				ResourcesPlugin.getWorkspace().getRoot().accept(visitor, IResource.DEPTH_INFINITE);
-			}
-			catch (CoreException e) {
-				if(DEBUG)
-					e.printStackTrace();
-			}
-			IFile[] files = visitor.getFiles();
-			for (int i = 0; i < files.length && !reporter.isCancelled(); i++) {
-				validateFile(files[i], reporter);
-				if(DEBUG)
-					System.out.println("validating: ["+ files[i]+"]"); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		}
-	}
-
-	/**
-	 * Validate one file. It's assumed that the file has JSP content type.
-	 * @param f
-	 * @param reporter
-	 */
-	private void validateFile(IFile f, IReporter reporter) {
-		
-		IDOMModel model = null;
-		try {
-			// get jsp model, get tranlsation
-			model = (IDOMModel)StructuredModelManager.getModelManager().getModelForRead(f);
-			if(model != null) {
-				
-				setupAdapterFactory(model);
-				IDOMDocument xmlDoc = model.getDocument();
-				JSPTranslationAdapter translationAdapter = (JSPTranslationAdapter) xmlDoc.getAdapterFor(IJSPTranslation.class);
-				JSPTranslation translation = translationAdapter.getJSPTranslation();
-				
-				translation.setProblemCollectingActive(true);
-				translation.reconcileCompilationUnit();
-				List problems = translation.getProblems();
-				// remove old messages
-				reporter.removeAllMessages(this, f);
-				// add new messages
-				for (int i = 0; i < problems.size()  && !reporter.isCancelled(); i++) {
-					IMessage m = createMessageFromProblem((IProblem)problems.get(i), f, translation, model.getStructuredDocument());
-					if(m != null)
-						reporter.addMessage(this, m);
-				}
-			}
-		}
-		catch (IOException e) {
-			if(DEBUG)
-				e.printStackTrace();
-		}
-		catch (CoreException e) {
-			if(DEBUG)
-				e.printStackTrace();
-		}
-		finally {
-			if(model != null)
-				model.releaseFromRead();
-		}
-	}
-	
-	/**
-	 * Creates an IMessage from an IProblem
-	 * @param problem
-	 * @param f
-	 * @param translation
-	 * @param structuredDoc
-	 * @return message representation of the problem, or null if it could not create one
-	 */
-	private IMessage createMessageFromProblem(IProblem problem, IFile f, JSPTranslation translation, IStructuredDocument structuredDoc) {
-		
-		int sourceStart = translation.getJspOffset(problem.getSourceStart());
-		int sourceEnd = translation.getJspOffset(problem.getSourceStart());
-		if(sourceStart == -1)
-			return null;
-		// line number for marker starts @ 1
-		// line number from document starts @ 0
-		int lineNo = structuredDoc.getLineOfOffset(sourceStart) +1;
-		
-		int sev = problem.isError() ? IMessage.HIGH_SEVERITY : IMessage.LOW_SEVERITY;
-		
-		IMessage m = new LocalizedMessage(sev, problem.getMessage(), f);
-
-		m.setLineNo(lineNo);
-		m.setOffset(sourceStart);
-		m.setLength(sourceEnd - sourceStart);
-		
-		return m;
-	}
-
-	/**
-	 * When loading model from a file, you need to explicitly add adapter factory.
-	 * @param sm
-	 */
-	private void setupAdapterFactory(IStructuredModel sm) {
-		JSPTranslationAdapterFactory factory = new JSPTranslationAdapterFactory();
-		sm.getFactoryRegistry().addFactory(factory);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/.classpath b/bundles/org.eclipse.jst.jsp.ui/.classpath
deleted file mode 100644
index cb01053..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src/"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.jst.jsp.ui/.cvsignore b/bundles/org.eclipse.jst.jsp.ui/.cvsignore
deleted file mode 100644
index d520a86..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/.cvsignore
+++ /dev/null
@@ -1,6 +0,0 @@
-bin
-jspeditor.jar
-temp.folder
-org.eclipse.jst.jsp.ui_6.0.0.jar
-build.xml
-@dot
diff --git a/bundles/org.eclipse.jst.jsp.ui/.options b/bundles/org.eclipse.jst.jsp.ui/.options
deleted file mode 100644
index 7174d60..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/.options
+++ /dev/null
@@ -1,2 +0,0 @@
-org.eclipse.jst.jsp.ui/debug/jspcontentassist=false
-org.eclipse.jst.jsp.ui/projectionperf=false
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/.project b/bundles/org.eclipse.jst.jsp.ui/.project
deleted file mode 100644
index 2d42e46..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jst.jsp.ui</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.jst.jsp.ui/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.jst.jsp.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 04d30dc..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,69 +0,0 @@
-#Mon May 30 17:57:20 EDT 2005

-eclipse.preferences.version=1

-org.eclipse.jdt.core.builder.cleanOutputFolder=clean

-org.eclipse.jdt.core.builder.duplicateResourceTask=warning

-org.eclipse.jdt.core.builder.invalidClasspath=abort

-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.assertIdentifier=warning

-org.eclipse.jdt.core.compiler.problem.deprecation=warning

-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled

-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled

-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning

-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning

-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning

-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.indirectStaticAccess=warning

-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=warning

-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error

-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.missingSerialVersion=warning

-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=warning

-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=enabled

-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning

-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning

-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning

-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning

-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error

-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore

-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning

-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore

-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled

-org.eclipse.jdt.core.compiler.problem.unusedImport=error

-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning

-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=warning

-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/bundles/org.eclipse.jst.jsp.ui/.settings/org.eclipse.pde.prefs b/bundles/org.eclipse.jst.jsp.ui/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 42fb716..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Fri May 27 23:56:32 EDT 2005
-compilers.p.deprecated=1
-compilers.p.illegal-att-value=0
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=1
-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/bundles/org.eclipse.jst.jsp.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.jst.jsp.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index 83de2e5..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,59 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.jst.jsp.ui; singleton:=true
-Bundle-Version: 0.7.0
-Bundle-Activator: org.eclipse.jst.jsp.ui.internal.JSPUIPlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.jst.jsp.ui.internal,
- org.eclipse.jst.jsp.ui.internal.autoedit,
- org.eclipse.jst.jsp.ui.internal.breakpointproviders,
- org.eclipse.jst.jsp.ui.internal.contentassist,
- org.eclipse.jst.jsp.ui.internal.editor,
- org.eclipse.jst.jsp.ui.internal.format,
- org.eclipse.jst.jsp.ui.internal.hyperlink,
- org.eclipse.jst.jsp.ui.internal.java.refactoring,
- org.eclipse.jst.jsp.ui.internal.java.search,
- org.eclipse.jst.jsp.ui.internal.java.search.ui,
- org.eclipse.jst.jsp.ui.internal.preferences,
- org.eclipse.jst.jsp.ui.internal.preferences.ui,
- org.eclipse.jst.jsp.ui.internal.projection,
- org.eclipse.jst.jsp.ui.internal.provisional,
- org.eclipse.jst.jsp.ui.internal.reconcile,
- org.eclipse.jst.jsp.ui.internal.registry,
- org.eclipse.jst.jsp.ui.internal.style,
- org.eclipse.jst.jsp.ui.internal.style.java,
- org.eclipse.jst.jsp.ui.internal.taginfo,
- org.eclipse.jst.jsp.ui.internal.templates,
- org.eclipse.jst.jsp.ui.internal.text,
- org.eclipse.jst.jsp.ui.internal.views.contentoutline,
- org.eclipse.jst.jsp.ui.internal.wizard
-Require-Bundle: org.eclipse.ui.ide,
- org.eclipse.ui.views,
- org.eclipse.jface.text,
- org.eclipse.ui.workbench.texteditor,
- org.eclipse.ui.editors,
- org.eclipse.ui,
- org.eclipse.wst.sse.ui,
- org.eclipse.wst.html.ui,
- org.eclipse.wst.css.ui,
- org.eclipse.wst.xml.ui,
- org.eclipse.jst.jsp.core,
- org.eclipse.wst.html.core,
- org.eclipse.wst.css.core,
- org.eclipse.wst.xml.core,
- org.eclipse.wst.sse.core,
- org.eclipse.jdt.ui,
- org.eclipse.jdt.core,
- org.eclipse.debug.core,
- org.eclipse.jdt.debug,
- org.eclipse.core.resources,
- org.eclipse.core.runtime,
- org.eclipse.search,
- org.eclipse.ltk.core.refactoring,
- org.eclipse.ltk.ui.refactoring,
- org.eclipse.wst.common.uriresolver,
- org.eclipse.ui.ide,
- org.eclipse.wst.javascript.ui
-Eclipse-AutoStart: true
diff --git a/bundles/org.eclipse.jst.jsp.ui/about.html b/bundles/org.eclipse.jst.jsp.ui/about.html
deleted file mode 100644
index 6f6b96c..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/about.html
+++ /dev/null
@@ -1,22 +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">
-<h2>About This Content</h2>
- 
-<p>February 24, 2005</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; 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 (&quot;Redistributor&quot;) 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.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/build.properties b/bundles/org.eclipse.jst.jsp.ui/build.properties
deleted file mode 100644
index 6b33ae3..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/build.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2004 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
-###############################################################################
-source.. = src/
-bin.includes = .,\
-               templates/,\
-               plugin.xml,\
-               META-INF/,\
-               icons/,\
-               plugin.properties,\
-               about.html
-bin.excludes = @dot/**,\
-               temp.folder/**
-src.includes = build.properties
diff --git a/bundles/org.eclipse.jst.jsp.ui/buildnotes_jsp.html b/bundles/org.eclipse.jst.jsp.ui/buildnotes_jsp.html
deleted file mode 100644
index 1067311..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/buildnotes_jsp.html
+++ /dev/null
@@ -1,207 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta
-	http-equiv="Content-Type"
-	content="text/html; charset=ISO-8859-1" />
-<meta
-	name="GENERATOR"
-	content="WTP" />
-<meta
-	http-equiv="Content-Style-Type"
-	content="text/css" />
-<link
-	href="theme/Master.css"
-	rel="stylesheet"
-	type="text/css" />
-<title>Build Notes for JSP Component</title>
-</head>
-<body>
-<h2>Build Notes for JSP <br />
-<br />
-M3, 02/23/2005</h2>
-
-<h3>What's new in this drop</h3>
-<h3>API Changes from previous Build/Milestone</h3>
-<h3>Problem reports fixed</h3>
-<table
-	class="bz_buglist"
-	cellpadding="4"
-	cellspacing="0"
-	width="100%">
-	<tbody>
-		<tr class="bz_normal bz_P2 bz_RESOLVED bz_FIXED bz_odd">
-			<td class="first-child"><a
-				href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=82333">82333</a>
-			<span style="display: none;"></span></td>
-
-			<td>Taglibs referenced in included files aren't loaded</td>
-
-		</tr>
-
-
-
-
-
-
-		<tr class="bz_major bz_P3 bz_CLOSED bz_FIXED bz_even">
-
-
-			<td class="first-child"><a
-				href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=81687">81687</a>
-			<span style="display: none;"></span></td>
-
-			<td>Format Source on JSP file leads to code loss</td>
-
-		</tr>
-
-
-
-
-
-
-		<tr class="bz_major bz_P3 bz_RESOLVED bz_FIXED bz_odd">
-
-
-			<td class="first-child"><a
-				href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=84046">84046</a>
-			<span style="display: none;"></span></td>
-
-			<td>TLDs in JAR files not found from classpath</td>
-
-		</tr>
-
-
-
-
-
-
-		<tr class="bz_major bz_P3 bz_RESOLVED bz_FIXED bz_even">
-
-
-			<td class="first-child"><a
-				href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=85756">85756</a>
-			<span style="display: none;"></span></td>
-
-			<td>TLD indexing maintains whitepsace in TLD URI value</td>
-
-		</tr>
-
-
-
-
-
-
-		<tr class="bz_major bz_P3 bz_RESOLVED bz_FIXED bz_odd">
-
-
-			<td class="first-child"><a
-				href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=86009">86009</a>
-			<span style="display: none;"></span></td>
-
-			<td>JSP Refactoring doesn't work</td>
-
-		</tr>
-
-
-
-
-
-
-		<tr class="bz_normal bz_P3 bz_RESOLVED bz_FIXED bz_even">
-
-
-			<td class="first-child"><a
-				href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=71224">71224</a>
-			<span style="display: none;"></span></td>
-
-			<td>[IBM WDT] JSP editor cannot link to included files</td>
-
-		</tr>
-
-
-
-
-
-
-		<tr class="bz_normal bz_P3 bz_RESOLVED bz_FIXED bz_odd">
-
-
-			<td class="first-child"><a
-				href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=81686">81686</a>
-			<span style="display: none;"></span></td>
-
-			<td>Could not set JSP breakpoint on last line of file</td>
-
-		</tr>
-
-
-
-
-
-
-		<tr class="bz_normal bz_P3 bz_RESOLVED bz_FIXED bz_even">
-
-
-			<td class="first-child"><a
-				href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=81755">81755</a>
-			<span style="display: none;"></span></td>
-
-			<td>intermitant JUnit Test failure on 12/21 build</td>
-
-		</tr>
-
-
-
-
-
-
-		<tr class="bz_normal bz_P3 bz_RESOLVED bz_FIXED bz_odd">
-
-
-			<td class="first-child"><a
-				href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=82608">82608</a>
-			<span style="display: none;"></span></td>
-
-			<td>TaglibController leaks documents</td>
-
-		</tr>
-
-
-
-
-
-
-		<tr class="bz_normal bz_P3 bz_RESOLVED bz_FIXED bz_even">
-
-
-			<td class="first-child"><a
-				href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=82919">82919</a>
-			<span style="display: none;"></span></td>
-
-			<td>Investigate JSP-Java Content Assist translation</td>
-
-		</tr>
-
-
-
-
-
-
-		<tr class="bz_normal bz_P3 bz_RESOLVED bz_FIXED bz_odd">
-
-
-			<td class="first-child"><a
-				href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=84628">84628</a>
-			<span style="display: none;"></span></td>
-
-			<td>JSP Java hoverhelp should not be using jdt internal classes</td>
-
-		</tr>
-
-
-	</tbody>
-</table>
-</body>
-</html>
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/full/dtool16/newjsp_wiz.gif b/bundles/org.eclipse.jst.jsp.ui/icons/full/dtool16/newjsp_wiz.gif
deleted file mode 100644
index 5ff9b39..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/full/dtool16/newjsp_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/full/etool16/newjsp_wiz.gif b/bundles/org.eclipse.jst.jsp.ui/icons/full/etool16/newjsp_wiz.gif
deleted file mode 100644
index 14944ac..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/full/etool16/newjsp_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/class_obj.gif b/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/class_obj.gif
deleted file mode 100644
index c00118d..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/class_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/default_co.gif b/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/default_co.gif
deleted file mode 100644
index 49a1461..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/default_co.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/field_default_obj.gif b/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/field_default_obj.gif
deleted file mode 100644
index 6929d3d..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/field_default_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/field_private_obj.gif b/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/field_private_obj.gif
deleted file mode 100644
index 1fe064e..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/field_private_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/field_protected_obj.gif b/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/field_protected_obj.gif
deleted file mode 100644
index 3377b1e..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/field_protected_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/field_public_obj.gif b/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/field_public_obj.gif
deleted file mode 100644
index d4cb425..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/field_public_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/innerclass_default_obj.gif b/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/innerclass_default_obj.gif
deleted file mode 100644
index 4244a7f..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/innerclass_default_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/innerclass_private_obj.gif b/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/innerclass_private_obj.gif
deleted file mode 100644
index 7392f19..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/innerclass_private_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/innerclass_protected_obj.gif b/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/innerclass_protected_obj.gif
deleted file mode 100644
index 5105577..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/innerclass_protected_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/innerclass_public_obj.gif b/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/innerclass_public_obj.gif
deleted file mode 100644
index e4c2a83..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/innerclass_public_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/innerinterface_default_obj.gif b/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/innerinterface_default_obj.gif
deleted file mode 100644
index ab1b576..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/innerinterface_default_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/innerinterface_private_obj.gif b/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/innerinterface_private_obj.gif
deleted file mode 100644
index a1cbff3..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/innerinterface_private_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/innerinterface_protected_obj.gif b/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/innerinterface_protected_obj.gif
deleted file mode 100644
index f58eef0..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/innerinterface_protected_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/innerinterface_public_obj.gif b/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/innerinterface_public_obj.gif
deleted file mode 100644
index 2ebc46e..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/innerinterface_public_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/localvariable_obj.gif b/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/localvariable_obj.gif
deleted file mode 100644
index 8adce95..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/localvariable_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/package_obj.gif b/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/package_obj.gif
deleted file mode 100644
index 131c28d..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/package_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/private_co.gif b/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/private_co.gif
deleted file mode 100644
index 5b881d8..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/private_co.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/protected_co.gif b/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/protected_co.gif
deleted file mode 100644
index cd83b96..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/protected_co.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/public.gif b/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/public.gif
deleted file mode 100644
index 7d24707..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/public.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/public_co.gif b/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/public_co.gif
deleted file mode 100644
index a9af5d5..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/public_co.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/sourceEditor.gif b/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/sourceEditor.gif
deleted file mode 100644
index 75ebdb8..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/sourceEditor.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/tag-generic.gif b/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/tag-generic.gif
deleted file mode 100644
index 65f516e..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/tag-generic.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/tag-jsp.gif b/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/tag-jsp.gif
deleted file mode 100644
index 4084602..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/tag-jsp.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/tag-template.gif b/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/tag-template.gif
deleted file mode 100644
index 5d1f81b..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/tag-template.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/full/wizban/newjspfile_wiz.gif b/bundles/org.eclipse.jst.jsp.ui/icons/full/wizban/newjspfile_wiz.gif
deleted file mode 100644
index 972597b..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/full/wizban/newjspfile_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/snippets/jspdecl.gif b/bundles/org.eclipse.jst.jsp.ui/icons/snippets/jspdecl.gif
deleted file mode 100644
index 35f48ef..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/snippets/jspdecl.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/snippets/jspexp.gif b/bundles/org.eclipse.jst.jsp.ui/icons/snippets/jspexp.gif
deleted file mode 100644
index ab4d74b..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/snippets/jspexp.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/snippets/jspincl.gif b/bundles/org.eclipse.jst.jsp.ui/icons/snippets/jspincl.gif
deleted file mode 100644
index 2584c31..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/snippets/jspincl.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/snippets/jspscr.gif b/bundles/org.eclipse.jst.jsp.ui/icons/snippets/jspscr.gif
deleted file mode 100644
index 1753b96..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/snippets/jspscr.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/snippets/jsptaglib.gif b/bundles/org.eclipse.jst.jsp.ui/icons/snippets/jsptaglib.gif
deleted file mode 100644
index cb55e33..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/snippets/jsptaglib.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/snippets/tag-generic.gif b/bundles/org.eclipse.jst.jsp.ui/icons/snippets/tag-generic.gif
deleted file mode 100644
index 5e7fb33..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/snippets/tag-generic.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/snippets/tag-jsp.gif b/bundles/org.eclipse.jst.jsp.ui/icons/snippets/tag-jsp.gif
deleted file mode 100644
index ea4de33..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/snippets/tag-jsp.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/plugin.properties b/bundles/org.eclipse.jst.jsp.ui/plugin.properties
deleted file mode 100644
index 7acd612..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/plugin.properties
+++ /dev/null
@@ -1,65 +0,0 @@
-###############################################################################
-# Copyright (c) 2004 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
-pluginName=SSE JSP Source Editor
-nlFeatureName=SSE JSP Source Editor NL Support
-JSP_Source_Page_Editor.name=JSP Editor
-JSP_Files.name=JSP Files
-JSP_Source.name=JSP Source
-JSP_Templates.name=JSP Templates
-JSP_Styles.name=JSP Styles
-JSP_Annotations.name=JSP Annotations
-
-# Snippets contributions for helping with JSP syntax
-jsp_scriptlet=<%..%> scriptlet
-jsp_scr_content=<%  %>
-jsp_hidden_comment=<%--..--%> comment
-jsp_hidden_comment_content=<%--  --%>
-jsp_declaration=<%!..%> declaration
-jsp_declaration_content=<%!  %>
-jsp_expression=<%=..%> expression
-jsp_expression_content=<%=  %>
-jsp_include_directive=include directive
-jsp_include_directive_content=<%@ include file="" %>
-jsp_page_directive=page directive
-jsp_page_directive_content=<%@ page contentType="text/html; charset=" %>
-jsp_taglib_directive=taglib directive
-jsp_taglib_directive_content=<%@ taglib uri="${uri}" prefix="${prefix}" %>
-jsp_taglib_directive_uri=URI to the containing JAR file or taglib descriptor (.tld)
-jsp_taglib_directive_prefix=Namespace prefix for tags from this library
-JSPFragmentContentSettings.name=JSP Fragment
-command.jsp.refactor.rename.name=Rename
-command.jsp.refactor.rename.description=Rename a Java Element
-command.jsp.refactor.move.name=Move
-command.jsp.refactor.move.description=Move a Java Element to another package
-scope.structured.text.editor.jsp.name=Editing JSP Source
-scope.structured.text.editor.jsp.description=Editing JSP Source
-JSP_Type_Rename_Participant_Extension_Element.name=JSP Type Rename Participant
-JSP_Method_Rename_Participant_Extension_Element.name=JSP Method Rename Participant
-JSP_Package_Rename_Participant_Extension_Element.name=JSP Package Rename Participant
-JSP_Type_Move_Participant_Extension_Element.name=JSP Type Move Participant
-All_JSP_context_type_Extension_Element.name=All JSP
-JSP_New_context_type_Extension_Element.name=New JSP
-JSP_Tag_context_type_Extension_Element.name=JSP Tag
-JSP_Attribute_context_type_Extension_Element.name=JSP Attribute
-JSP_Attribute_value_context_type_Extension_Element.name=JSP Attribute value
-JSP_Query_Participant_Extension_Element.name=JSP Query Participant
-JSP_Extension_Element.label=JSP
-#org.eclipse.ui.newWizards extension point
-_UI_WIZARD_NAME = JSP
-_UI_WIZARD_CREATE_NEW_FILE = Create a new JavaServer Page
-##
-AddTask.label=Add &Task...
-AddTask.tooltip=Add Task...
-AddBookmark.label=Add Boo&kmark...
-AddBookmark.tooltip=Add Bookmark...
-## EL Error Message
-JSPEL_Syntax_Error=JSP EL Syntax Error
diff --git a/bundles/org.eclipse.jst.jsp.ui/plugin.xml b/bundles/org.eclipse.jst.jsp.ui/plugin.xml
deleted file mode 100644
index b10becb..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/plugin.xml
+++ /dev/null
@@ -1,452 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-	<extension point="org.eclipse.ui.editors">
-		<editor
-			name="%JSP_Source_Page_Editor.name"
-			icon="icons//full/obj16/sourceEditor.gif"
-			extensions="jsp, jsf, jspf, jspx, tag, tagf"
-			contributorClass="org.eclipse.jst.jsp.ui.internal.editor.ActionContributorJSP"
-			class="org.eclipse.jst.jsp.ui.internal.editor.StructuredTextEditorJSP"
-			symbolicFontName="org.eclipse.wst.sse.ui.textfont"
-			id="org.eclipse.jst.jsp.core.jspsource.source">
-			<contentTypeBinding
-				contentTypeId="org.eclipse.jst.jsp.core.jspsource" />
-		</editor>
-	</extension>
-
-	<extension point="org.eclipse.wst.sse.ui.extendedconfiguration">
-		<configuration
-			type="textviewerconfiguration"
-			class="org.eclipse.jst.jsp.ui.internal.provisional.StructuredTextViewerConfigurationJSP"
-			target="org.eclipse.jst.jsp.core.jspsource" />
-		<configuration
-			type="contentoutlineconfiguration"
-			class="org.eclipse.jst.jsp.ui.internal.views.contentoutline.JSPContentOutlineConfiguration"
-			target="org.eclipse.jst.jsp.core.jspsource" />
-		<configuration
-			type="propertysheetconfiguration"
-			class="org.eclipse.wst.xml.ui.internal.views.properties.XMLPropertySheetConfiguration"
-			target="org.eclipse.jst.jsp.core.jspsource" />
-		<configuration
-			type="sourceeditingtexttools"
-			class="org.eclipse.jst.jsp.ui.internal.editor.JSPSourceEditingTextTools"
-			target="org.eclipse.jst.jsp.core.jspsource" />
-		<configuration
-			type="characterpairmatcher"
-			class="org.eclipse.jst.jsp.ui.internal.text.JSPDocumentRegionEdgeMatcher"
-			target="org.eclipse.jst.jsp.core.jspsource" />
-		<configuration
-			type="structuredtextfoldingprovider"
-			class="org.eclipse.jst.jsp.ui.internal.projection.StructuredTextFoldingProviderJSP"
-			target="org.eclipse.jst.jsp.core.jspsource" />
-		<definition
-			type="preferencepages"
-			value="org.eclipse.wst.sse.ui.preferences.jsp"
-			target="org.eclipse.jst.jsp.core.jspsource" />
-		<definition
-			type="preferencepages"
-			value="org.eclipse.wst.sse.ui.preferences.jsp.source"
-			target="org.eclipse.jst.jsp.core.jspsource" />
-		<definition
-			type="preferencepages"
-			value="org.eclipse.wst.sse.ui.preferences.jsp.templates"
-			target="org.eclipse.jst.jsp.core.jspsource" />
-		<definition
-			type="preferencepages"
-			value="org.eclipse.wst.sse.ui.preferences.jsp.styles"
-			target="org.eclipse.jst.jsp.core.jspsource" />
-		<definition
-			type="showintarget"
-			value="org.eclipse.jdt.ui.PackageExplorer"
-			target="org.eclipse.jst.jsp.core.jspsource" />
-	</extension>
-
-	<extension
-		point="org.eclipse.wst.sse.ui.adapterFactoryDescription">
-		<adapterFactoryDescription
-			class="org.eclipse.jst.jsp.ui.internal.registry.AdapterFactoryProviderForJSP">
-			<contentType id="org.eclipse.jst.jsp.core.jspsource" />
-		</adapterFactoryDescription>
-	</extension>
-
-	<extension
-		point="org.eclipse.core.filebuffers.annotationModelCreation">
-		<factory
-			contentTypeId="org.eclipse.jst.jsp.core.jspsource"
-			class="org.eclipse.wst.sse.ui.internal.StructuredResourceMarkerAnnotationModelFactory" />
-	</extension>
-
-	<extension point="org.eclipse.ui.preferencePages">
-
-		<!--======================================================================================-->
-		<!-- JSP PREFERENCE PAGES                                                                 -->
-		<!--======================================================================================-->
-		<page
-			name="%JSP_Files.name"
-			category="org.eclipse.wst.sse.ui.internal.provisional.preferences"
-			class="org.eclipse.jst.jsp.ui.internal.preferences.ui.JSPFilesPreferencePage"
-			id="org.eclipse.wst.sse.ui.preferences.jsp" />
-
-		<page
-			name="%JSP_Source.name"
-			category="org.eclipse.wst.sse.ui.preferences.jsp"
-			class="org.eclipse.jst.jsp.ui.internal.preferences.ui.JSPSourcePreferencePage"
-			id="org.eclipse.wst.sse.ui.preferences.jsp.source" />
-
-		<page
-			name="%JSP_Templates.name"
-			category="org.eclipse.wst.sse.ui.preferences.jsp"
-			class="org.eclipse.jst.jsp.ui.internal.preferences.ui.JSPTemplatePreferencePage"
-			id="org.eclipse.wst.sse.ui.preferences.jsp.templates" />
-
-		<page
-			name="%JSP_Styles.name"
-			category="org.eclipse.wst.sse.ui.preferences.jsp"
-			class="org.eclipse.jst.jsp.ui.internal.preferences.ui.JSPColorPage"
-			id="org.eclipse.wst.sse.ui.preferences.jsp.styles" />
-
-	</extension>
-
-	<!--======================================================================================-->
-	<!-- FOR JSP/JAVA RENAME PARTICIPATION                                                    -->
-	<!--======================================================================================-->
-	<extension
-		point="org.eclipse.ltk.core.refactoring.renameParticipants">
-		<renameParticipant
-			name="%JSP_Type_Rename_Participant_Extension_Element.name"
-			class="org.eclipse.jst.jsp.ui.internal.java.refactoring.JSPTypeRenameParticipant"
-			id="org.eclipse.jst.jsp.ui.java.refactoring.JSPTypeRenameParticipant">
-			<enablement>
-				<with variable="affectedNatures">
-					<iterate operator="or">
-						<equals value="org.eclipse.jdt.core.javanature" />
-
-					</iterate>
-				</with>
-				<with variable="element">
-					<instanceof value="org.eclipse.jdt.core.IType" />
-
-				</with>
-			</enablement>
-		</renameParticipant>
-
-		<renameParticipant
-			name="%JSP_Method_Rename_Participant_Extension_Element.name"
-			class="org.eclipse.jst.jsp.ui.internal.java.refactoring.JSPMethodRenameParticipant"
-			id="org.eclipse.jst.jsp.ui.java.refactoring.JSPMethodRenameParticipant">
-			<enablement>
-				<with variable="affectedNatures">
-					<iterate operator="or">
-						<equals value="org.eclipse.jdt.core.javanature" />
-
-					</iterate>
-				</with>
-				<with variable="element">
-					<instanceof value="org.eclipse.jdt.core.IMethod" />
-
-				</with>
-			</enablement>
-		</renameParticipant>
-
-		<renameParticipant
-			name="%JSP_Package_Rename_Participant_Extension_Element.name"
-			class="org.eclipse.jst.jsp.ui.internal.java.refactoring.JSPPackageRenameParticipant"
-			id="org.eclipse.jst.jsp.ui.java.refactoring.JSPPackageRenameParticipant">
-			<enablement>
-				<with variable="affectedNatures">
-					<iterate operator="or">
-						<equals value="org.eclipse.jdt.core.javanature" />
-
-					</iterate>
-				</with>
-				<with variable="element">
-					<instanceof
-						value="org.eclipse.jdt.core.IPackageFragment" />
-
-				</with>
-			</enablement>
-		</renameParticipant>
-	</extension>
-
-	<!--======================================================================================-->
-	<!-- FOR JSP/JAVA MOVE PARTICIPATION                                                      -->
-	<!--======================================================================================-->
-	<extension
-		point="org.eclipse.ltk.core.refactoring.moveParticipants">
-
-		<moveParticipant
-			id="org.eclipse.jst.jsp.ui.java.refactoring.JSPTypeMoveParticipant"
-			name="%JSP_Type_Move_Participant_Extension_Element.name"
-			class="org.eclipse.jst.jsp.ui.internal.java.refactoring.JSPTypeMoveParticipant">
-			<enablement>
-				<with variable="affectedNatures">
-					<iterate operator="or">
-						<equals value="org.eclipse.jdt.core.javanature" />
-					</iterate>
-				</with>
-				<with variable="element">
-					<instanceof value="org.eclipse.jdt.core.IType" />
-
-				</with>
-			</enablement>
-		</moveParticipant>
-	</extension>
-
-	<!--======================================================================================-->
-	<!-- for breakpoint                                                                       -->
-	<!--======================================================================================-->
-	<extension point="org.eclipse.wst.sse.ui.breakpoint">
-		<breakpointContribution id="org.eclipse.jst.jsp.ui.providers">
-			<!-- 
-				<provider
-				extensions="jsp, jspf, jsf"
-				class="org.eclipse.jst.jsp.ui.internal.breakpointproviders.JavaStratumBreakpointProvider"
-				id="org.eclipse.jst.jsp.ui.internal.breakpointproviders.JavaStratumBreakpointProvider">
-				</provider>
-			-->
-			<provider
-				contentTypes="org.eclipse.jst.jsp.core.jspsource"
-				class="org.eclipse.jst.jsp.ui.internal.breakpointproviders.JavaStratumBreakpointProvider:*jsp"
-				id="org.eclipse.jst.jsp.ui.internal.breakpointproviders.JavaStratumBreakpointProvider" />
-		</breakpointContribution>
-	</extension>
-
-	<!--======================================================================================-->
-	<!-- Snippet View contributions                                                           -->
-	<!--======================================================================================-->
-	<extension
-		point="org.eclipse.wst.common.snippets.SnippetContributions">
-		<category
-			label="%JSP_Extension_Element.label"
-			icon="icons/snippets/tag-jsp.gif"
-			id="org.eclipse.jst.jsp.ui.category0"
-			contenttypes="org.eclipse.jst.jsp.core.jspsource">
-			<item
-				label="%jsp_hidden_comment"
-				icon="icons/snippets/tag-generic.gif"
-				id="org.eclipse.jst.jsp.ui.jsp_hidden_comment">
-				<content>%jsp_hidden_comment_content</content>
-			</item>
-			<item
-				label="%jsp_scriptlet"
-				icon="icons/snippets/jspscr.gif"
-				id="org.eclipse.jst.jsp.ui.jsp_scriptlet">
-				<content>%jsp_scr_content</content>
-			</item>
-			<item
-				label="%jsp_expression"
-				icon="icons/snippets/jspexp.gif"
-				id="org.eclipse.jst.jsp.ui.jsp_expression">
-				<content>%jsp_expression_content</content>
-			</item>
-			<item
-				label="%jsp_declaration"
-				icon="icons/snippets/jspdecl.gif"
-				id="org.eclipse.jst.jsp.ui.jsp_declaration">
-				<content>%jsp_declaration_content</content>
-			</item>
-			<item
-				label="%jsp_include_directive"
-				icon="icons/snippets/jspincl.gif"
-				id="org.eclipse.jst.jsp.ui.jsp_include_directive">
-				<content>%jsp_include_directive_content</content>
-			</item>
-			<item
-				label="%jsp_page_directive"
-				id="org.eclipse.jst.jsp.ui.jsp_page_directive">
-				<content>%jsp_page_directive_content</content>
-			</item>
-			<item
-				label="%jsp_taglib_directive"
-				icon="icons/snippets/jsptaglib.gif"
-				id="org.eclipse.jst.jsp.ui.jsp_taglib_directive">
-				<content>%jsp_taglib_directive_content</content>
-				<variable
-					description="%jsp_taglib_directive_uri"
-					id="uri" />
-
-				<variable
-					default="mylib"
-					description="%jsp_taglib_directive_prefix"
-					id="prefix" />
-
-			</item>
-		</category>
-	</extension>
-
-	<!-- Editor actionsets -->
-	<extension point="org.eclipse.ui.actionSetPartAssociations">
-		<actionSetPartAssociation
-			targetID="org.eclipse.ui.edit.text.actionSet.annotationNavigation">
-			<part id="org.eclipse.jst.jsp.core.jspsource.source" />
-		</actionSetPartAssociation>
-		<actionSetPartAssociation
-			targetID="org.eclipse.ui.NavigateActionSet">
-			<part id="org.eclipse.jst.jsp.core.jspsource.source" />
-		</actionSetPartAssociation>
-	</extension>
-
-	<!--======================================================================================-->
-	<!-- JSP Editor specific actions                                                          -->
-	<!--======================================================================================-->
-	<extension point="org.eclipse.ui.commands">
-		<scope
-			name="%scope.structured.text.editor.jsp.name"
-			parent="org.eclipse.ui.textEditorScope"
-			description="%scope.structured.text.editor.jsp.description"
-			id="org.eclipse.jst.jsp.ui.structured.text.editor.jsp.scope" />
-
-		<!-- dmw 6/6 removed from 'scope'      parentId="org.eclipse.ui.textEditorScope" -->
-		<!-- rename refactor -->
-		<command
-			name="%command.jsp.refactor.rename.name"
-			description="%command.jsp.refactor.rename.description"
-			category="org.eclipse.ui.category.edit"
-			id="org.eclipse.jst.jsp.ui.refactor.rename" />
-
-		<keyBinding
-			string="Alt+Shift+R"
-			scope="org.eclipse.jst.jsp.ui.structured.text.editor.jsp.scope"
-			command="org.eclipse.jst.jsp.ui.refactor.rename"
-			configuration="org.eclipse.ui.defaultAcceleratorConfiguration" />
-
-		<!-- move refactor -->
-		<command
-			name="%command.jsp.refactor.move.name"
-			description="%command.jsp.refactor.move.description"
-			category="org.eclipse.ui.category.edit"
-			id="org.eclipse.jst.jsp.ui.refactor.move" />
-
-		<keyBinding
-			string="Alt+Shift+V"
-			scope="org.eclipse.jst.jsp.ui.structured.text.editor.jsp.scope"
-			command="org.eclipse.jst.jsp.ui.refactor.move"
-			configuration="org.eclipse.ui.defaultAcceleratorConfiguration" />
-
-	</extension>
-
-	<!--======================================================================================-->
-	<!-- Templates                                                                            -->
-	<!--======================================================================================-->
-	<extension point="org.eclipse.ui.editors.templates">
-		<contextType
-			name="%All_JSP_context_type_Extension_Element.name"
-			class="org.eclipse.jst.jsp.ui.internal.templates.TemplateContextTypeJSP"
-			id="jsp_all" />
-
-		<contextType
-			name="%JSP_New_context_type_Extension_Element.name"
-			class="org.eclipse.jst.jsp.ui.internal.templates.TemplateContextTypeJSP"
-			id="jsp_new" />
-
-		<contextType
-			name="%JSP_Tag_context_type_Extension_Element.name"
-			class="org.eclipse.jst.jsp.ui.internal.templates.TemplateContextTypeJSP"
-			id="jsp_tag" />
-
-		<contextType
-			name="%JSP_Attribute_context_type_Extension_Element.name"
-			class="org.eclipse.jst.jsp.ui.internal.templates.TemplateContextTypeJSP"
-			id="jsp_attribute" />
-
-		<contextType
-			name="%JSP_Attribute_value_context_type_Extension_Element.name"
-			class="org.eclipse.jst.jsp.ui.internal.templates.TemplateContextTypeJSP"
-			id="jsp_attribute_value" />
-
-		<include
-			file="templates/jspdefault-templates.xml"
-			translations="templates/jspdefault-templates.properties" />
-
-	</extension>
-
-	<!--======================================================================================-->
-	<!-- queryParticipant to participate in java seraches                                     -->
-	<!--======================================================================================-->
-	<extension point="org.eclipse.jdt.ui.queryParticipants">
-		<queryParticipant
-			name="%JSP_Query_Participant_Extension_Element.name"
-			nature="org.eclipse.jdt.core.javanature"
-			class="org.eclipse.jst.jsp.ui.internal.java.search.ui.JSPQueryParticipant"
-			id="org.eclipse.jst.jsp.ui.java.search.ui.JSPQueryParticipant" />
-
-	</extension>
-	<!-- initialize xml ui preferences -->
-	<extension point="org.eclipse.core.runtime.preferences">
-		<initializer
-			class="org.eclipse.jst.jsp.ui.internal.preferences.JSPUIPreferenceInitializer" />
-	</extension>
-
-	<!--======================================================================================-->
-	<!-- Document provider for ExternalFileEditorInput                                        -->
-	<!--======================================================================================-->
-	<extension point="org.eclipse.ui.editors.documentProviders">
-		<provider
-			inputTypes="org.eclipse.jst.jsp.ui.internal.hyperlink.ExternalFileEditorInput"
-			class="org.eclipse.ui.editors.text.TextFileDocumentProvider"
-			id="org.eclipse.jst.jsp.ui.internal.ExternalFileDocumentProvider" />
-
-	</extension>
-
-	<!-- New JSP wizard -->
-	<extension point="org.eclipse.ui.newWizards">
-		<wizard
-			id="org.eclipse.jst.jsp.ui.internal.wizard.NewJSPWizard"
-			name="%_UI_WIZARD_NAME"
-			class="org.eclipse.jst.jsp.ui.internal.wizard.NewJSPWizard"
-			category="org.eclipse.wst.web.ui"
-			icon="icons/full/etool16/newjsp_wiz.gif">
-			<description>%_UI_WIZARD_CREATE_NEW_FILE</description>
-			<selection class="org.eclipse.core.resources.IResource" />
-		</wizard>
-	</extension>
-
-	<!-- Add new JSP wizard to J2EE Project Navigator -->
-	<extension
-		point="org.eclipse.wst.common.navigator.workbench.commonWizard">
-		<commonWizard
-			type="new"
-			wizardId="org.eclipse.jst.jsp.ui.internal.wizard.NewJSPWizard">
-			<enablement>
-				<or>
-					<objectClass
-						name="org.eclipse.core.resources.IProject" />
-
-					<objectClass
-						name="org.eclipse.core.resources.IFolder" />
-
-					<objectClass
-						name="org.eclipse.core.resources.IFile" />
-
-				</or>
-			</enablement>
-		</commonWizard>
-	</extension>
-
-	<extension point="org.eclipse.ui.popupMenus">
-		<viewerContribution
-			targetID="org.eclipse.jst.jsp.core.jspsource.source.RulerContext"
-			id="org.eclipse.ui.texteditor.ruler.context.actions">
-			<action
-				label="%AddTask.label"
-				helpContextId="org.eclipse.ui.AddTask_action_context"
-				class="org.eclipse.ui.texteditor.TaskRulerAction"
-				tooltip="%AddTask.tooltip"
-				menubarPath="additions"
-				id="org.eclipse.ui.texteditor.TaskRulerAction" />
-
-			<action
-				label="%AddBookmark.label"
-				helpContextId="org.eclipse.ui.bookmark_action_context"
-				class="org.eclipse.ui.texteditor.BookmarkRulerAction"
-				tooltip="%AddBookmark.tooltip"
-				menubarPath="additions"
-				id="org.eclipse.ui.texteditor.BookmarkRulerAction" />
-
-		</viewerContribution>
-	</extension>
-
-
-</plugin>
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/IActionConstantsJSP.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/IActionConstantsJSP.java
deleted file mode 100644
index a400780..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/IActionConstantsJSP.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal;
-
-/**
- * @author pavery
- */
-public interface IActionConstantsJSP {
-	public final static String ACTION_NAME_RENAME_ELEMENT = "RenameElement"; //$NON-NLS-1$
-	public final static String ACTION_NAME_MOVE_ELEMENT = "MoveElement"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/IActionDefinitionIdsJSP.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/IActionDefinitionIdsJSP.java
deleted file mode 100644
index f90607e..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/IActionDefinitionIdsJSP.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal;
-
-import org.eclipse.jdt.ui.actions.IJavaEditorActionDefinitionIds;
-
-/**
- * @author pavery
- */
-public interface IActionDefinitionIdsJSP {
-	public final static String RENAME_ELEMENT = IJavaEditorActionDefinitionIds.RENAME_ELEMENT;
-	public final static String MOVE_ELEMENT = IJavaEditorActionDefinitionIds.MOVE_ELEMENT;
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/JSPUIMessages.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/JSPUIMessages.java
deleted file mode 100644
index 5cb079a..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/JSPUIMessages.java
+++ /dev/null
@@ -1,94 +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.jst.jsp.ui.internal;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Strings used by JSP UI
- * 
- * @plannedfor 1.0
- */
-public class JSPUIMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.jst.jsp.ui.internal.JSPUIPluginResources";//$NON-NLS-1$
-	private static ResourceBundle fResourceBundle;
-
-	public static String Sample_JSP_doc;
-	public static String JSP_Delimiters_UI_;
-	public static String Refactor_label;
-	public static String RenameElement_label; // resource bundle
-	public static String MoveElement_label; // resource bundle
-	public static String MoveElementWizard;
-	public static String OK;
-	public static String JSP_changes;
-	public static String ActionContributorJSP_0;
-	public static String JSPRenameElementAction_0;
-	public static String JSPMoveElementAction_0;
-	public static String BasicRefactorSearchRequestor_0;
-	public static String BasicRefactorSearchRequestor_1;
-	public static String BasicRefactorSearchRequestor_2;
-	public static String BasicRefactorSearchRequestor_3;
-	public static String BasicRefactorSearchRequestor_4;
-	public static String BasicRefactorSearchRequestor_5;
-	public static String BasicRefactorSearchRequestor_6;
-	public static String _UI_WIZARD_NEW_TITLE;
-	public static String _UI_WIZARD_NEW_HEADING;
-	public static String _UI_WIZARD_NEW_DESCRIPTION;
-	public static String _ERROR_FILENAME_MUST_END_JSP;
-	public static String NewJSPTemplatesWizardPage_0;
-	public static String NewJSPTemplatesWizardPage_1;
-	public static String NewJSPTemplatesWizardPage_2;
-	public static String NewJSPTemplatesWizardPage_3;
-	public static String NewJSPTemplatesWizardPage_4;
-	public static String NewJSPTemplatesWizardPage_5;
-	public static String NewJSPTemplatesWizardPage_6;
-	public static String ToggleComment_label; // resource bundle
-	public static String ToggleComment_tooltip; // resource bundle
-	public static String ToggleComment_description; // resource bundle
-	public static String AddBlockComment_label; // resource bundle
-	public static String AddBlockComment_tooltip; // resource bundle
-	public static String AddBlockComment_description; // resource bundle
-	public static String RemoveBlockComment_label; // resource bundle
-	public static String RemoveBlockComment_tooltip; // resource bundle
-	public static String RemoveBlockComment_description; // resource bundle
-	public static String CleanupDocument_label; // resource bundle
-	public static String CleanupDocument_tooltip; // resource bundle
-	public static String CleanupDocument_description; // resource bundle
-	public static String FindOccurrences_label;	// resource bundle
-	public static String OccurrencesSearchQuery_0;
-	public static String OccurrencesSearchQuery_2;
-	public static String Override_method_in;
-	public static String Creating_files_encoding;
-	public static String Content_Assist_not_availab_UI_;
-	public static String Java_Content_Assist_is_not_UI_;
-	public static String JSPSourcePreferencePage_0;
-	public static String JSPSourcePreferencePage_1;
-	public static String JSPSourcePreferencePage_2;
-	public static String JSPColorPage_jsp_content;
-	
-	static {
-		// load message values from bundle file
-		NLS.initializeMessages(BUNDLE_NAME, JSPUIMessages.class);
-	}
-
-	public static ResourceBundle getResourceBundle() {
-		try {
-			if (fResourceBundle == null)
-				fResourceBundle = ResourceBundle.getBundle(BUNDLE_NAME);
-		}
-		catch (MissingResourceException x) {
-			fResourceBundle = null;
-		}
-		return fResourceBundle;
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/JSPUIPlugin.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/JSPUIPlugin.java
deleted file mode 100644
index ac621e0..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/JSPUIPlugin.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal;
-
-import java.io.IOException;
-
-import org.eclipse.jface.text.templates.ContextTypeRegistry;
-import org.eclipse.jface.text.templates.persistence.TemplateStore;
-import org.eclipse.jst.jsp.ui.internal.preferences.JSPUIPreferenceNames;
-import org.eclipse.jst.jsp.ui.internal.templates.TemplateContextTypeIdsJSP;
-import org.eclipse.ui.editors.text.templates.ContributionContextTypeRegistry;
-import org.eclipse.ui.editors.text.templates.ContributionTemplateStore;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.wst.sse.ui.internal.provisional.registry.AdapterFactoryRegistry;
-import org.eclipse.wst.sse.ui.internal.provisional.registry.AdapterFactoryRegistryImpl;
-import org.eclipse.wst.sse.ui.internal.provisional.registry.embedded.EmbeddedAdapterFactoryRegistryImpl;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class JSPUIPlugin extends AbstractUIPlugin {
-	public final static String ID = "org.eclipse.jst.jsp.ui"; //$NON-NLS-1$
-
-	protected static JSPUIPlugin instance = null;	
-	
-	/**
-	 * The template store for the jsp editor. 
-	 */
-	private TemplateStore fTemplateStore;
-	
-	/** 
-	 * The template context type registry for the jsp editor. 
-	 */
-	private ContextTypeRegistry fContextTypeRegistry;
-
-	public JSPUIPlugin() {
-		super();
-		instance = this;
-	}
-
-	public static JSPUIPlugin getDefault() {
-		return instance;
-	}
-
-	public synchronized static JSPUIPlugin getInstance() {
-		return instance;
-	}
-
-	public AdapterFactoryRegistry getAdapterFactoryRegistry() {
-		return AdapterFactoryRegistryImpl.getInstance();
-
-	}
-
-	public AdapterFactoryRegistry getEmbeddedAdapterFactoryRegistry() {
-		return EmbeddedAdapterFactoryRegistryImpl.getInstance();
-
-	}
-
-	/**
-	 * Returns the template store for the jsp editor templates.
-	 * 
-	 * @return the template store for the jsp editor templates
-	 */
-	public TemplateStore getTemplateStore() {
-		if (fTemplateStore == null) {
-			fTemplateStore= new ContributionTemplateStore(getTemplateContextRegistry(), getPreferenceStore(), JSPUIPreferenceNames.TEMPLATES_KEY);
-
-			try {
-				fTemplateStore.load();
-			} catch (IOException e) {
-				Logger.logException(e);
-			}
-		}		
-		return fTemplateStore;
-	}
-	
-	/**
-	 * Returns the template context type registry for the jsp plugin.
-	 * 
-	 * @return the template context type registry for the jsp plugin
-	 */
-	public ContextTypeRegistry getTemplateContextRegistry() {
-		if (fContextTypeRegistry == null) {
-			ContributionContextTypeRegistry registry = new ContributionContextTypeRegistry();
-			registry.addContextType(TemplateContextTypeIdsJSP.ALL);
-			registry.addContextType(TemplateContextTypeIdsJSP.NEW);
-			registry.addContextType(TemplateContextTypeIdsJSP.TAG);
-			registry.addContextType(TemplateContextTypeIdsJSP.ATTRIBUTE);
-			registry.addContextType(TemplateContextTypeIdsJSP.ATTRIBUTE_VALUE);
-			
-			fContextTypeRegistry= registry;
-		}
-
-		return fContextTypeRegistry;
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/JSPUIPluginResources.properties b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/JSPUIPluginResources.properties
deleted file mode 100644
index 035fdcb..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/JSPUIPluginResources.properties
+++ /dev/null
@@ -1,72 +0,0 @@
-###############################################################################
-# Copyright (c) 2004 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
-###############################################################################
-## The following line is a sample JSP document.  Please translate only the following parts:
-## Use below tags ONLY for JSP 1.1
-## Welcome!
-## Use below tags ONLY for JSP 1.2
-## Welcome!
-Sample_JSP_doc=<%@ page \n\tlanguage=\"java\" \n\tcontentType=\"text/html; charset=ISO-8859-1\"\n%>\n<jsp:include flush=\"true\" page=\"titleBar.jsp\"/>\n\n<%-- Use below tags ONLY for JSP 1.1 --%>\n<%\n\tSystem.out.println(\"Welcome!\");\n%>\n<%-- Use below tags ONLY for JSP 1.2 --%>\n<jsp:scriptlet>\n\tSystem.out.println(\"Welcome!\");\n</jsp:scriptlet>
-JSP_Delimiters_UI_=JSP Delimiters
-Refactor_label=R&efactor
-RenameElement_label=Re&name
-MoveElement_label=Mo&ve
-MoveElementWizard=Move the selected elements
-#
-OK=OK
-JSP_changes=JSP changes
-ActionContributorJSP_0=Refa&ctor
-JSPRenameElementAction_0=Editor selection does not resolve to a renamable Java element
-JSPMoveElementAction_0=Editor selection does not resolve to movable Java elements
-BasicRefactorSearchRequestor_0=JSP Rename
-BasicRefactorSearchRequestor_1=in file: {0} line: {1}
-BasicRefactorSearchRequestor_2=Move Type ''{0}'' to package ''{1}''
-BasicRefactorSearchRequestor_3=Rename Method ''{0}'' to ''{1}''
-BasicRefactorSearchRequestor_4=Rename Type ''{0}'' to ''{1}''
-BasicRefactorSearchRequestor_5=Rename Package ''{0}'' to ''{1}''
-BasicRefactorSearchRequestor_6=JSP Rename Change
-#
-_UI_WIZARD_NEW_TITLE = New JavaServer Page
-_UI_WIZARD_NEW_HEADING = JavaServer Page
-_UI_WIZARD_NEW_DESCRIPTION = Create a new JavaServer Page.
-_ERROR_FILENAME_MUST_END_JSP = The file name must end in one of the following extensions {0}.
-NewJSPTemplatesWizardPage_0=Select JSP Template
-NewJSPTemplatesWizardPage_1=Select a template as initial content in the JSP page.
-NewJSPTemplatesWizardPage_2=Name
-NewJSPTemplatesWizardPage_3=Description
-NewJSPTemplatesWizardPage_4=Use JSP Template
-NewJSPTemplatesWizardPage_5=Preview
-NewJSPTemplatesWizardPage_6=Templates are 'New JSP' templates found in the <a>JSP Templates</a> preference page.
-# Copied from sse.ui
-CleanupDocument_label=C&leanup Document...
-CleanupDocument_tooltip=Cleanup Document
-CleanupDocument_description=Cleanup Document
-ToggleComment_label=Togg&le Comment
-ToggleComment_tooltip=Toggle Comment
-ToggleComment_description=Toggle Comment
-AddBlockComment_label=Add &Block Comment
-AddBlockComment_tooltip=Add Block Comment
-AddBlockComment_description=Add Block Comment
-RemoveBlockComment_label=Remove Bloc&k Comment
-RemoveBlockComment_tooltip=Remove Block Comment
-RemoveBlockComment_description=Remove Block Comment
-FindOccurrences_label=O&ccurrences in File
-OccurrencesSearchQuery_0={0} - {1} Occurrences in {2}
-OccurrencesSearchQuery_2=file
-Content_Assist_not_availab_UI_=Content Assist not available at the current location
-Java_Content_Assist_is_not_UI_=Java Content Assist is not available for the current cursor location
-#
-Override_method_in=Override method in '
-Creating_files_encoding=Creating files encoding preference
-#
-JSPSourcePreferencePage_0=JSP Source preferences are based on the content within the JSP.
-JSPSourcePreferencePage_1=See <a>''{0}''</a> for JSP with HTML content.
-JSPSourcePreferencePage_2=See <a>''{0}''</a> for JSP with XML content.
-JSPColorPage_jsp_content=JSP Content
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/Logger.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/Logger.java
deleted file mode 100644
index a4373ab..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/Logger.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal;
-
-import java.util.StringTokenizer;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.osgi.framework.Bundle;
-
-/**
- * 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 {
-	private static final String PLUGIN_ID = "org.eclipse.jst.jsp.ui"; //$NON-NLS-1$
-
-	private static final String TRACEFILTER_LOCATION = "/debug/tracefilter"; //$NON-NLS-1$
-
-	public static final int OK = IStatus.OK; // 0
-	public static final int INFO = IStatus.INFO; // 1
-	public static final int WARNING = IStatus.WARNING; // 2
-	public static final int ERROR = IStatus.ERROR; // 4
-
-	public static final int OK_DEBUG = 200 + OK;
-	public static final int INFO_DEBUG = 200 + INFO;
-	public static final int WARNING_DEBUG = 200 + WARNING;
-	public static final int ERROR_DEBUG = 200 + ERROR;
-
-	/**
-	 * 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, PLUGIN_ID, severity, message, exception);
-		Bundle bundle = Platform.getBundle(PLUGIN_ID);
-		if (bundle != null) 
-			Platform.getLog(bundle).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, PLUGIN_ID, IStatus.OK, message, exception);
-			Bundle bundle = Platform.getBundle(PLUGIN_ID);
-			if (bundle != null) 
-				Platform.getLog(bundle).log(statusObj);
-		}
-	}
-
-	/**
-	 * @return true if the platform is debugging
-	 */
-	public static boolean isDebugging() {
-		return Platform.inDebugMode();
-	}
-
-	/**
-	 * 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(PLUGIN_ID + 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 traceException(String category, String message, Throwable exception) {
-		_trace(category, message, exception);
-	}
-
-	public static void traceException(String category, Throwable exception) {
-		_trace(category, exception.getMessage(), exception);
-	}
-
-	public static void trace(String category, String message) {
-		_trace(category, message, null);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/autoedit/StructuredAutoEditStrategyJSP.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/autoedit/StructuredAutoEditStrategyJSP.java
deleted file mode 100644
index 5dacd31..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/autoedit/StructuredAutoEditStrategyJSP.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.autoedit;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.DocumentCommand;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jst.jsp.ui.internal.Logger;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.ui.texteditor.ITextEditorExtension3;
-import org.eclipse.wst.html.ui.internal.autoedit.StructuredAutoEditStrategyHTML;
-import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-import org.eclipse.wst.sse.core.internal.provisional.StructuredModelManager;
-import org.eclipse.wst.sse.ui.internal.StructuredDocumentCommand;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-
-public class StructuredAutoEditStrategyJSP extends StructuredAutoEditStrategyHTML {
-	public void customizeDocumentCommand(IDocument document, DocumentCommand command) {
-		StructuredDocumentCommand structuredDocumentCommand = (StructuredDocumentCommand) command;
-		Object textEditor = getActiveTextEditor();
-		if (!(textEditor instanceof ITextEditorExtension3 && ((ITextEditorExtension3) textEditor).getInsertMode() == ITextEditorExtension3.SMART_INSERT))
-			return;
-		
-		IStructuredModel model = null;
-		try {
-			model = StructuredModelManager.getModelManager().getExistingModelForRead(document);
-
-			if (model != null) {
-				if (structuredDocumentCommand.text != null) {
-					if (structuredDocumentCommand.text.equals("%")) { //$NON-NLS-1$
-						// scriptlet - add end %>
-						IDOMNode node = (IDOMNode) model.getIndexedRegion(structuredDocumentCommand.offset);
-						try {
-							if (prefixedWith(document, structuredDocumentCommand.offset, "<") && !node.getSource().endsWith("%>")) { //$NON-NLS-1$ //$NON-NLS-2$
-								structuredDocumentCommand.doit = false;
-								structuredDocumentCommand.addCommand(structuredDocumentCommand.offset, 0, " %>", null); //$NON-NLS-1$
-							}
-						}
-						catch (BadLocationException e) {
-							Logger.logException(e);
-						}
-
-					} if (structuredDocumentCommand.text.equals("{")) { //$NON-NLS-1$
-						IDOMNode node = (IDOMNode) model.getIndexedRegion(structuredDocumentCommand.offset);
-						try {
-							if ((prefixedWith(document, structuredDocumentCommand.offset, "$") || prefixedWith(document, structuredDocumentCommand.offset, "#")) &&  //$NON-NLS-1$ //$NON-NLS-2$
-									!node.getSource().endsWith("}")) { //$NON-NLS-1$ //$NON-NLS-2$
-								structuredDocumentCommand.doit = false;
-								structuredDocumentCommand.addCommand(structuredDocumentCommand.offset, 0, " }", null); //$NON-NLS-1$
-							}
-						}
-						catch (BadLocationException e) {
-							Logger.logException(e);
-						}
-					}
-					else {
-						super.customizeDocumentCommand(document, structuredDocumentCommand);
-					}
-				}
-			}
-		}
-		finally {
-			if (model != null)
-				model.releaseFromRead();
-		}
-	}
-	
-	/**
-	 * Return the active text editor if possible, otherwise the active editor
-	 * part.
-	 * 
-	 * @return
-	 */
-	private Object getActiveTextEditor() {
-		IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-		if (window != null) {
-			IWorkbenchPage page = window.getActivePage();
-			if (page != null) {
-				IEditorPart editor = page.getActiveEditor();
-				if (editor != null) {
-					if (editor instanceof ITextEditor)
-						return editor;
-					ITextEditor textEditor = (ITextEditor) editor.getAdapter(ITextEditor.class);
-					if (textEditor != null)
-						return textEditor;
-					return editor;
-				}
-			}
-		}
-		return null;
-	}
-	
-	private boolean prefixedWith(IDocument document, int offset, String string) {
-
-		try {
-			return document.getLength() >= string.length() && document.get(offset - string.length(), string.length()).equals(string);
-		} catch (BadLocationException e) {
-			Logger.logException(e);
-			return false;
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/breakpointproviders/AbstractBreakpointProvider.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/breakpointproviders/AbstractBreakpointProvider.java
deleted file mode 100644
index f074770..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/breakpointproviders/AbstractBreakpointProvider.java
+++ /dev/null
@@ -1,268 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.breakpointproviders;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDElementDeclaration;
-import org.eclipse.jst.jsp.core.internal.provisional.JSP12Namespace;
-import org.eclipse.jst.jsp.core.internal.regions.DOMJSPRegionContexts;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-import org.eclipse.wst.sse.core.internal.provisional.IndexedRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegionCollection;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegionList;
-import org.eclipse.wst.sse.ui.internal.provisional.extensions.ISourceEditingTextTools;
-import org.eclipse.wst.sse.ui.internal.provisional.extensions.breakpoint.IBreakpointProvider;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMNode;
-import org.eclipse.wst.xml.core.internal.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.xml.core.internal.modelquery.ModelQueryUtil;
-import org.eclipse.wst.xml.core.internal.provisional.contentmodel.CMNodeWrapper;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument;
-import org.eclipse.wst.xml.core.internal.regions.DOMRegionContext;
-import org.eclipse.wst.xml.ui.internal.provisional.IDOMSourceEditingTextTools;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * Abstract breakpoint provider class which implements breakpoint provider
- * interface.
- * 
- * This is a temporary class for JavaBreakpointProvider and
- * JavaScriptBreakpointProvider, and should be refactored to separate Java and
- * JavaScript parts.
- */
-public abstract class AbstractBreakpointProvider implements IBreakpointProvider {
-
-	protected static final int END_OF_LINE = -1;
-	protected static final int JAVA = 1;
-	protected static final int JAVASCRIPT = 2;
-	private static final String[] JAVASCRIPT_LANGUAGE_KEYS = new String[]{"javascript", "javascript1.0", "javascript1.1_3", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				"javascript1.2", "javascript1.3", "javascript1.4", "javascript1.5", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-				"javascript1.6", "jscript", "sashscript"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	private static final String JSP_DIRECTIVE_PAGE = "jsp:directive.page"; //$NON-NLS-1$
-
-	protected static final int NO_VALID_CONTENT = -2;
-	protected static final int UNSUPPORTED = 0;
-
-	protected static boolean contains(String[] haystack, String needle) {
-		for (int i = 0; i < haystack.length; i++) {
-			if (haystack[i].equals(needle)) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	/*
-	 * Return the page language
-	 */
-	protected static int getPageLanguage(Document doc) {
-		if (doc == null)
-			return UNSUPPORTED;
-
-		NodeList pageDirectives = doc.getElementsByTagName(JSP_DIRECTIVE_PAGE);
-		// Search for first language directive
-		for (int i = 0; i < pageDirectives.getLength(); i++) {
-			Node child = pageDirectives.item(i);
-			Node languageAttr = child.getAttributes().getNamedItem("language"); //$NON-NLS-1$
-			if (languageAttr != null) {
-				String pageLanguage = languageAttr.getNodeValue();
-				if (pageLanguage == null || pageLanguage.length() == 0)
-					return UNSUPPORTED;
-				pageLanguage = pageLanguage.toLowerCase();
-				if (contains(JAVASCRIPT_LANGUAGE_KEYS, pageLanguage))
-					return JAVASCRIPT;
-				else if (pageLanguage.equals("java"))//$NON-NLS-1$
-					return JAVA;
-				else
-					return UNSUPPORTED;
-			}
-		}
-		return JAVA; // Java is default if no language directive
-	}
-
-	/*
-	 * Search the RegionContainer's regions looking for JSP content. If valid
-	 * content is found, return the position >= 0 If no valid content is
-	 * found, return NO_VALID_CONTENT. If a region starts after the line's
-	 * endOffset, return END_OF_LINE.
-	 */
-	private static int getValidRegionPosition(IStructuredModel model, ITextRegionCollection regionContainer, int startOffset, int endOffset) {
-
-		ITextRegionList regions = regionContainer.getRegions();
-		for (int i = 0; i < regions.size(); i++) {
-			ITextRegion region = regions.get(i);
-			if (region instanceof ITextRegionCollection) {
-				int validPosition = getValidRegionPosition(model, (ITextRegionCollection) region, startOffset, endOffset);
-				if (validPosition == END_OF_LINE || validPosition >= 0)
-					return validPosition;
-			}
-			else {
-				// region must be at least partially on selected line
-				if (regionContainer.getEndOffset(region) > startOffset) {
-
-					int regionStartOffset = regionContainer.getStartOffset(region);
-					// if region starts after line's endOffset, we're done
-					// searching
-					if (regionStartOffset > endOffset)
-						return END_OF_LINE;
-
-					// If region is JSP content, make sure the language is
-					// Java not Javascript by
-					// checking the content assist adapter's type.
-					if (region.getType().equals(DOMJSPRegionContexts.JSP_CONTENT)) {
-						// DWM: this logic is not incorrect ... given changes
-						// to adapters, etc.
-						// but probably don't need anything here, since both
-						// Java and JavaScript
-						// are supported in V5.
-
-						// nsd_TODO: verify this!!!
-
-						// INodeNotifier notifier =
-						// (INodeNotifier)model.getNode(region.getStartOffset());
-						// IAdapterFactory factory =
-						// model.getFactoryRegistry().getFactoryFor(ContentAssistAdapter.class);
-						// if(factory instanceof
-						// HTMLContentAssistAdapterFactory) {
-						// INodeAdapter adapter =
-						// ((HTMLContentAssistAdapterFactory)factory).createAdapter(notifier,
-						// region);
-						// if(adapter != null && adapter instanceof
-						// JSPJavaContentAssistAdapter)
-
-						if (regionStartOffset > startOffset)
-							return regionStartOffset;
-						else
-							return startOffset;
-						// }
-					}
-					// a custom tag, jsp:useBean, getproperty or setproperty
-					// statement is also a valid breakpoint location
-					else if (region.getType().equals(DOMRegionContext.XML_TAG_NAME) && (isCustomTagRegion(model.getIndexedRegion(regionStartOffset)) || regionContainer.getText(region).equals(JSP12Namespace.ElementName.USEBEAN) || regionContainer.getText(region).equals(JSP12Namespace.ElementName.GETPROPERTY) || regionContainer.getText(region).equals(JSP12Namespace.ElementName.SETPROPERTY))) {
-
-						if (regionStartOffset > startOffset)
-							return regionStartOffset;
-						else
-							return startOffset;
-					}
-					else {
-						// Defect #241090, the Text Nodes inside of JSP
-						// scriptlets, expressions, and declarations are valid
-						// breakpoint-able locations
-						boolean isCodeNode = false;
-						IndexedRegion node = model.getIndexedRegion(regionStartOffset);
-						if (node != null && node instanceof Node) {
-							Node domNode = (Node) node;
-							Node root = domNode.getOwnerDocument().getDocumentElement();
-							if (root != null && root.getNodeName().equals(JSP12Namespace.ElementName.ROOT) && domNode.getNodeType() == Node.TEXT_NODE && domNode.getParentNode() != null) {
-								String parentName = domNode.getParentNode().getNodeName();
-								isCodeNode = parentName.equals(JSP12Namespace.ElementName.SCRIPTLET) || parentName.equals(JSP12Namespace.ElementName.EXPRESSION) || parentName.equals(JSP12Namespace.ElementName.DECLARATION);
-							}
-						}
-						if (isCodeNode) {
-							if (regionStartOffset > startOffset)
-								return regionStartOffset;
-							else
-								return startOffset;
-						}
-					}
-				}
-			}
-		}
-		return NO_VALID_CONTENT;
-	}
-
-	private static boolean isCustomTagRegion(IndexedRegion node) {
-
-		if (node instanceof Element) {
-			Element xmlElement = (Element) node;
-			ModelQuery mq = ModelQueryUtil.getModelQuery(xmlElement.getOwnerDocument());
-			CMElementDeclaration decl = mq.getCMElementDeclaration(xmlElement);
-			if (decl instanceof CMNodeWrapper) {
-				CMNode cmNode = ((CMNodeWrapper) decl).getOriginNode();
-				return cmNode instanceof TLDElementDeclaration;
-			}
-		}
-		return false;
-	}
-
-	private ISourceEditingTextTools fSourceEditingTextTools;
-
-
-	protected IResource getEditorInputResource(IEditorInput input) {
-		IResource resource = (IResource) input.getAdapter(IFile.class);
-		if (resource == null) {
-			resource = (IResource) input.getAdapter(IResource.class);
-		}
-		return resource;
-	}
-
-	public ISourceEditingTextTools getSourceEditingTextTools() {
-		return fSourceEditingTextTools;
-	}
-
-	protected int getValidPosition(IDocument idoc, int lineNumber) {
-		if (!(getSourceEditingTextTools() instanceof IDOMSourceEditingTextTools)) {
-			return NO_VALID_CONTENT;
-		}
-		if (idoc == null)
-			return NO_VALID_CONTENT;
-
-		int startOffset, endOffset;
-		try {
-			startOffset = idoc.getLineOffset(lineNumber - 1);
-			endOffset = idoc.getLineOffset(lineNumber) - 1;
-
-			if (idoc == null)
-				return NO_VALID_CONTENT;
-			String lineText = idoc.get(startOffset, endOffset - startOffset).trim();
-
-			// blank lines or lines with only an open or close brace or
-			// scriptlet tag cannot have a breakpoint
-			if (lineText.equals("") || lineText.equals("{") || //$NON-NLS-2$//$NON-NLS-1$
-						lineText.equals("}") || lineText.equals("<%"))//$NON-NLS-2$//$NON-NLS-1$
-				return NO_VALID_CONTENT;
-		}
-		catch (BadLocationException e) {
-			return NO_VALID_CONTENT;
-		}
-
-		IStructuredDocumentRegion flatNode = ((IStructuredDocument) idoc).getRegionAtCharacterOffset(startOffset);
-		// go through the node's regions looking for JSP content
-		// until reaching the end of the line
-		while (flatNode != null) {
-			int validPosition = getValidRegionPosition(((IDOMDocument) ((IDOMSourceEditingTextTools) getSourceEditingTextTools()).getDOMDocument()).getModel(), flatNode, startOffset, endOffset);
-
-			if (validPosition == END_OF_LINE)
-				return NO_VALID_CONTENT;
-
-			if (validPosition >= 0)
-				return validPosition;
-
-			flatNode = flatNode.getNext();
-		}
-		return NO_VALID_CONTENT;
-	}
-
-	public void setSourceEditingTextTools(ISourceEditingTextTools sourceEditingTextTools) {
-		fSourceEditingTextTools = sourceEditingTextTools;
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/breakpointproviders/JavaBreakpointProvider.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/breakpointproviders/JavaBreakpointProvider.java
deleted file mode 100644
index f436070..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/breakpointproviders/JavaBreakpointProvider.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.breakpointproviders;
-
-import org.eclipse.core.resources.IResource;
-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.jdt.debug.core.JDIDebugModel;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jst.jsp.ui.internal.JSPUIMessages;
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.wst.xml.ui.internal.provisional.IDOMSourceEditingTextTools;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-
-/**
- * A BreakpointProvider supporting server-side Java as a JSP language
- * 
- * @deprecated
- */
-public class JavaBreakpointProvider extends AbstractBreakpointProvider {
-
-	/*
-	 * @param res @return String
-	 */
-	private static final String getTypeName(IResource res) {
-		IPath path = res.getFullPath();
-		// Assume under Web Content folder if more than 2 segments
-		if (path.segmentCount() > 2) {
-			path = path.removeFirstSegments(2);
-		}
-		else {
-			path = path.removeFirstSegments(1);
-		}
-		String typeName = path.toString().replace(IPath.SEPARATOR, '.');
-		if (res.getFileExtension() != null) {
-			typeName = typeName.substring(0, typeName.lastIndexOf('.'));
-		}
-		return typeName;
-	}
-
-
-
-	public IStatus addBreakpoint(IDocument document, IEditorInput input, int lineNumber, int offset) throws CoreException {
-		int pos = getValidPosition(document, lineNumber);
-		if (pos != NO_VALID_CONTENT) {
-			IResource res = getEditorInputResource(input);
-			if (res != null) {
-				String typeName = getTypeName(res);
-				try {
-					JDIDebugModel.createLineBreakpoint(res, typeName, lineNumber, pos, pos, 0, true, null);
-				}
-				catch (CoreException e) {
-					return e.getStatus();
-				}
-			}
-		}
-		return new Status(IStatus.OK, JSPUIPlugin.ID, IStatus.OK, JSPUIMessages.OK, null); //$NON-NLS-1$
-	}
-
-	public boolean canAddBreakpoint(IDocument document, IEditorInput input, Node node, int lineNumber, int offset) {
-		IResource res = input instanceof IFileEditorInput ? ((IFileEditorInput) input).getFile() : null;
-		Document doc = null;
-		if (getSourceEditingTextTools() instanceof IDOMSourceEditingTextTools) {
-			doc = ((IDOMSourceEditingTextTools) getSourceEditingTextTools()).getDOMDocument();
-		}
-
-		return res != null && !isBreakpointExist(res, lineNumber) && isValidPosition(document, lineNumber) && (getPageLanguage(doc) == JAVA);
-	}
-
-	public IResource getResource(IEditorInput input) {
-		return getEditorInputResource(input);
-	}
-
-	/*
-	 * @param res @param lineNumber @return boolean
-	 */
-	private boolean isBreakpointExist(IResource res, int lineNumber) {
-		try {
-			return JDIDebugModel.lineBreakpointExists(getTypeName(res), lineNumber) != null;
-		}
-		catch (CoreException e) {
-			return false;
-		}
-	}
-
-	/*
-	 * @param doc @param idoc @param lineNumber @return boolean
-	 */
-	private boolean isValidPosition(IDocument idoc, int lineNumber) {
-		return getValidPosition(idoc, lineNumber) != NO_VALID_CONTENT;
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/breakpointproviders/JavaScriptBreakpointProvider.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/breakpointproviders/JavaScriptBreakpointProvider.java
deleted file mode 100644
index d32295c..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/breakpointproviders/JavaScriptBreakpointProvider.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.breakpointproviders;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IBreakpointManager;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jst.jsp.ui.internal.JSPUIMessages;
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-import org.eclipse.ui.IEditorInput;
-import org.w3c.dom.Document;
-
-/**
- * A IBreakpointProvider supporting server-side JavaScript as a JSP language
- * 
- */
-public class JavaScriptBreakpointProvider extends AbstractBreakpointProvider {
-	public boolean canAddBreakpoint(IDocument document, IEditorInput input, int lineNumber, int offset) {
-		IResource res = getEditorInputResource(input);
-		Document doc = null;
-		return res != null && !isBreakpointExist(res, lineNumber) && isValidPosition(document, lineNumber) && (getPageLanguage(doc) != JAVA);
-	}
-
-
-	public IStatus addBreakpoint(IDocument document, IEditorInput input, int lineNumber, int offset) {
-		int pos = getValidPosition(document, lineNumber);
-		if (pos != NO_VALID_CONTENT && canAddBreakpoint(document, input, lineNumber, offset)) {
-			IResource res = getEditorInputResource(input);
-			if (res != null) {
-				new JavascriptLineBreakpoint(res, lineNumber, pos, pos);
-			}
-		}
-		return new Status(IStatus.OK, JSPUIPlugin.ID, IStatus.OK, JSPUIMessages.OK, null); //$NON-NLS-1$
-	}
-
-	/*
-	 * @param res @param lineNumber @return boolean
-	 */
-	private boolean isBreakpointExist(IResource res, int lineNumber) {
-		IBreakpointManager manager = DebugPlugin.getDefault().getBreakpointManager();
-		IBreakpoint[] breakpoints = manager.getBreakpoints();
-		for (int i = 0; i < breakpoints.length; i++) {
-			if (!(breakpoints[i] instanceof JavascriptLineBreakpoint))
-				continue;
-			JavascriptLineBreakpoint breakpoint = (JavascriptLineBreakpoint) breakpoints[i];
-			try {
-				if (breakpoint.getResource().equals(res) && breakpoint.getLineNumber() == lineNumber) {
-					return true;
-				}
-			}
-			catch (CoreException e) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	/*
-	 * @param doc @param idoc @param lineNumber @return boolean
-	 */
-	private boolean isValidPosition(IDocument idoc, int lineNumber) {
-		return getValidPosition(idoc, lineNumber) != NO_VALID_CONTENT;
-	}
-
-	public IResource getResource(IEditorInput input) {
-		return getEditorInputResource(input);
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/breakpointproviders/JavaStratumBreakpointProvider.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/breakpointproviders/JavaStratumBreakpointProvider.java
deleted file mode 100644
index 94587e2..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/breakpointproviders/JavaStratumBreakpointProvider.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.breakpointproviders;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExecutableExtension;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.jdt.debug.core.JDIDebugModel;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITypedRegion;
-import org.eclipse.jst.jsp.core.internal.provisional.text.IJSPPartitionTypes;
-import org.eclipse.jst.jsp.ui.internal.JSPUIMessages;
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IStorageEditorInput;
-import org.eclipse.wst.sse.ui.internal.StructuredResourceMarkerAnnotationModel;
-import org.eclipse.wst.sse.ui.internal.provisional.extensions.ISourceEditingTextTools;
-import org.eclipse.wst.sse.ui.internal.provisional.extensions.breakpoint.IBreakpointProvider;
-
-/**
- * A IBreakpointProvider supporting JSP breakpoints for a Non-Java Language
- * Source JSP page
- */
-public class JavaStratumBreakpointProvider implements IBreakpointProvider, IExecutableExtension {
-	private String fClassPattern = null; 
-
-	public IStatus addBreakpoint(IDocument document, IEditorInput input, int editorLineNumber, int offset) throws CoreException {
-		// check if there is a valid position to set breakpoint
-		int pos = getValidPosition(document, editorLineNumber);
-		IStatus status = null;
-		if (pos >= 0) {
-			IResource res = getResourceFromInput(input);
-			if (res != null) {
-				IBreakpoint point = JDIDebugModel.createStratumBreakpoint(res, "JSP", res.getName(), null, getClassPattern(), editorLineNumber, pos, pos, 0, true, null); //$NON-NLS-1$
-				if (point == null) {
-					status = new Status(IStatus.ERROR, JSPUIPlugin.ID, IStatus.ERROR, "unsupported input type", null); //$NON-NLS-1$
-				}
-			}
-			else if (input instanceof IStorageEditorInput) {
-				// For non-resources, use the workspace root and a coordinated
-				// attribute that is used to
-				// prevent unwanted (breakpoint) markers from being loaded
-				// into the editors.
-				res = ResourcesPlugin.getWorkspace().getRoot();
-				String id = input.getName();
-				if (input instanceof IStorageEditorInput && ((IStorageEditorInput) input).getStorage() != null) {
-					id = ((IStorageEditorInput) input).getStorage().getFullPath().toString();
-				}
-				Map attributes = new HashMap();
-				attributes.put(StructuredResourceMarkerAnnotationModel.SECONDARY_ID_KEY, id);
-				IBreakpoint point = JDIDebugModel.createStratumBreakpoint(res, "JSP", input.getName(), null, getClassPattern(), editorLineNumber, pos, pos, 0, true, attributes); //$NON-NLS-1$
-				if (point == null) {
-					status = new Status(IStatus.ERROR, JSPUIPlugin.ID, IStatus.ERROR, "unsupported input type", null); //$NON-NLS-1$
-				}
-			}
-		}
-		if (status == null) {
-			status = new Status(IStatus.OK, JSPUIPlugin.ID, IStatus.OK, JSPUIMessages.OK, null);
-		}
-		return status;
-	}
-
-	private String getClassPattern() {
-		return fClassPattern;
-	}
-
-
-	public IResource getResource(IEditorInput input) {
-		return getResourceFromInput(input);
-	}
-
-	private IResource getResourceFromInput(IEditorInput input) {
-		IResource resource = (IResource) input.getAdapter(IFile.class);
-		if (resource == null) {
-			resource = (IResource) input.getAdapter(IResource.class);
-		}
-		return resource;
-	}
-
-	/**
-	 * Finds a valid position somewhere on lineNumber in document, idoc, where
-	 * a breakpoint can be set and returns that position. -1 is returned if a
-	 * position could not be found.
-	 * 
-	 * @param idoc
-	 * @param editorLineNumber
-	 * @return position to set breakpoint or -1 if no position could be found
-	 */
-	private int getValidPosition(IDocument idoc, int editorLineNumber) {
-		int result = -1;
-		if (idoc != null) {
-
-			int startOffset = 0;
-			int endOffset = 0;
-			try {
-				IRegion line = idoc.getLineInformation(editorLineNumber - 1);
-				startOffset = line.getOffset();
-				endOffset = Math.max(line.getOffset(), line.getOffset() + line.getLength());
-
-				String lineText = idoc.get(startOffset, endOffset - startOffset).trim();
-
-				// blank lines or lines with only an open or close brace or
-				// scriptlet tag cannot have a breakpoint
-				if (lineText.equals("") || lineText.equals("{") ||  //$NON-NLS-1$ //$NON-NLS-2$
-							lineText.equals("}") || lineText.equals("<%")) //$NON-NLS-1$ //$NON-NLS-2$
-				{
-					result = -1;
-				}
-				else {
-					// get all partitions for current line
-					ITypedRegion[] partitions = null;
-
-					partitions = idoc.computePartitioning(startOffset, endOffset - startOffset);
-
-
-					for (int i = 0; i < partitions.length; ++i) {
-						String type = partitions[i].getType();
-						// if found jsp java content, jsp directive tags,
-						// custom
-						// tags,
-						// return that position
-						if (type == IJSPPartitionTypes.JSP_CONTENT_JAVA || type == IJSPPartitionTypes.JSP_DIRECTIVE) {
-							result = partitions[i].getOffset();
-						}
-					}
-				}
-			}
-			catch (BadLocationException e) {
-				result = -1;
-			}
-		}
-
-		return result;
-	}
-
-	/**
-	 * @see org.eclipse.core.runtime.IExecutableExtension#setInitializationData(org.eclipse.core.runtime.IConfigurationElement,
-	 *      java.lang.String, java.lang.Object)
-	 */
-	public void setInitializationData(IConfigurationElement config, String propertyName, Object data) throws CoreException {
-		if (data != null) {
-			if (data instanceof String && data.toString().length() > 0) {
-				fClassPattern = (String) data;
-			}
-		}
-	}
-
-	public void setSourceEditingTextTools(ISourceEditingTextTools tools) {
-		// not used
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/breakpointproviders/JavascriptLineBreakpoint.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/breakpointproviders/JavascriptLineBreakpoint.java
deleted file mode 100644
index 68580d9..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/breakpointproviders/JavascriptLineBreakpoint.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * Created on Jul 20, 2003
- *
- * To change the template for this generated file go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.jst.jsp.ui.internal.breakpointproviders;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * @author davidw
- * 
- * To change the template for this generated type comment go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-public class JavascriptLineBreakpoint {
-
-	/**
-	 * @param res
-	 * @param lineNumber
-	 * @param pos
-	 * @param pos1
-	 */
-	public JavascriptLineBreakpoint(IResource res, int lineNumber, int pos, int pos1) {
-
-		// TODO Should be deleted? Along with calling class?
-	}
-
-	/**
-	 * 
-	 */
-	public JavascriptLineBreakpoint() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	public IResource getResource() throws CoreException {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/**
-	 * @return
-	 */
-	public int getLineNumber() {
-		// TODO Auto-generated method stub
-		return 0;
-	}
-
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/BeanInfoProvider.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/BeanInfoProvider.java
deleted file mode 100644
index 1b74c67..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/BeanInfoProvider.java
+++ /dev/null
@@ -1,442 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.contentassist;
-
-import java.beans.Introspector;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.jdt.core.Flags;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IMethod;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.ITypeHierarchy;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jst.jsp.ui.internal.Logger;
-
-/**
- * Navigates the IJavaProject classpath (incl. source) on a given resource and infers bean properties
- * given a fully qualified beanname. Bean properties can be retrieved using:
- * <code>getRuntimeProperties(IResource baseResource, String typeName)</code>
- * 
- * @plannedfor 1.0
- */
-public class BeanInfoProvider implements IBeanInfoProvider {
-
-	public class JavaPropertyDescriptor implements IJavaPropertyDescriptor {
-		String fType = null;
-		String fName = null;
-		boolean fReadable = true;
-		boolean fWritable = true;
-
-		public JavaPropertyDescriptor(String name, String type, boolean readable, boolean writable) {
-			fName = name;
-			fType = type;
-			fReadable = readable;
-			fWritable = writable;
-		}
-
-		public String getDeclaredType() {
-			return fType;
-		}
-
-		public String getDisplayName() {
-			return fName;
-		}
-
-		public String getName() {
-			return fName;
-		}
-
-		public boolean getReadable() {
-			return fReadable;
-		}
-
-		public boolean getWriteable() {
-			return fWritable;
-		}
-	}
-
-	// looks up encoded type (see Class.getName), and gives you a displayable string
-	private HashMap fEncodedTypeMap = null;
-	// to avoid repeat properties from showing up
-	private HashSet fRepeatMethods = null;
-
-	public BeanInfoProvider() {
-		fRepeatMethods = new HashSet();
-	}
-
-	/**
-	 * Returns the inferred properties of a bean based on the project from the baseResource,
-	 * and the fully qualified name of the bean.
-	 * 
-	 * @param baseResource the base resource where the bean is being used
-	 * @param typeName the <i>fully qualified</i> type name (eg. javax.swing.JButton) of the bean
-	 */
-	public IJavaPropertyDescriptor[] getRuntimeProperties(IResource baseResource, String typeName) {
-		IJavaProject javaProject = JavaCore.create(baseResource.getProject());
-		QualifiedName typeQualifiedName = getTypeQualifiedName(typeName);
-		List getMethodResults = new ArrayList();
-		List isMethodResults = new ArrayList();
-		List setMethodResults = new ArrayList();
-		List descriptorResults = new ArrayList();
-		try {
-			IType type = javaProject.findType(typeQualifiedName.getQualifier() + "." + typeQualifiedName.getLocalName()); //$NON-NLS-1$
-			// type must exist
-			if(type != null) {
-				ITypeHierarchy hierarchy = type.newTypeHierarchy(null);
-				IType[] supers = hierarchy.getAllSuperclasses(type);
-	
-				IMethod[] methods = type.getMethods();
-				// iterate the bean's methods
-				for (int i = 0; i < methods.length; i++)
-					acceptMethod(getMethodResults, isMethodResults, setMethodResults, methods[i]);
-				// the bean hierarchy's methods
-				for (int i = 0; i < supers.length; i++) {
-					methods = supers[i].getMethods();
-					for (int j = 0; j < methods.length; j++)
-						acceptMethod(getMethodResults, isMethodResults, setMethodResults, methods[j]);
-				}
-				adaptMethodsToPropertyDescriptors(getMethodResults, isMethodResults, setMethodResults, descriptorResults);
-			}
-		}
-		catch (JavaModelException jmex) {
-			Logger.logException("Problem navigating JavaProject in BeanInfoProvider", jmex); //$NON-NLS-1$
-		}
-
-		IJavaPropertyDescriptor[] finalResults = new IJavaPropertyDescriptor[descriptorResults.size()];
-		System.arraycopy(descriptorResults.toArray(), 0, finalResults, 0, descriptorResults.size());
-		return finalResults;
-	}
-
-	/**
-	 * Retrieves the necessary information from method declaration lists, creates and fills a list of JavaPropertyDescriptors.
-	 * @param getMethods
-	 * @param isMethods
-	 * @param setMethods
-	 * @param descriptorResults
-	 */
-	private void adaptMethodsToPropertyDescriptors(List getMethods, List isMethods, List setMethods, List descriptors) throws JavaModelException {
-		List readable = new ArrayList();
-		HashMap types = new HashMap();
-
-		// iterate through get* and is* methods, updating 'readable' list and 'types' map
-		filterGetMethods(getMethods, readable, types);
-		filterIsMethods(isMethods, readable, types);
-
-		// iterate set* methods, checking overlap w/ readable
-		Iterator it = setMethods.iterator();
-		IMethod temp = null;
-		String name = ""; //$NON-NLS-1$
-		String type = ""; //$NON-NLS-1$
-		String[] encodedParams = null;
-		String returnType = ""; //$NON-NLS-1$
-		String param0 = ""; //$NON-NLS-1$
-
-		while (it.hasNext()) {
-			temp = (IMethod) it.next();
-			name = createPropertyNameFromMethod(temp);
-			// invalid naming convention
-			if (name == null)
-				continue;
-
-			returnType = getDecodedTypeName(temp.getReturnType());
-			// setter should have no return type
-			if (!returnType.equals("void")) //$NON-NLS-1$
-				continue;
-
-			// need to get type from parameter
-			encodedParams = temp.getParameterTypes();
-			if (encodedParams != null && encodedParams.length > 0) {
-				if (encodedParams.length > 1) {
-					// multiple params
-					param0 = getDecodedTypeName(encodedParams[0]);
-					if (!param0.equals("int")) //$NON-NLS-1$
-						// not a valid indexed property
-						continue;
-					
-					type = getDecodedTypeName(encodedParams[1]);
-				}
-				else {
-					// one param, regular setter
-					if (isArray(encodedParams[0]))
-						type = getDecodedTypeName(encodedParams[0]);
-				}
-			}
-
-			if (readable.contains(name)) {
-				// writable and readable
-				if (!fRepeatMethods.contains(name)) {
-					descriptors.add(new JavaPropertyDescriptor(name, (String) types.get(name), true, true));
-					readable.remove(name);
-					fRepeatMethods.add(name);
-				}
-			}
-			else {
-				// wasn't readable, just writable
-				String[] params = temp.getParameterTypes();
-				// can't be setProperty if no parameters
-				if (!(params.length > 0))
-					continue;
-				if (!fRepeatMethods.contains(name)) {
-					type = getDecodedTypeName(params[0]);
-					descriptors.add(new JavaPropertyDescriptor(name, type, false, true));
-					fRepeatMethods.add(name);
-				}
-			}
-		}
-		// add leftover from readable, get* and is* methods (readable = true, writable = false)
-		it = readable.iterator();
-		while (it.hasNext()) {
-			name = (String) it.next();
-			if (!fRepeatMethods.contains(name)) {
-				descriptors.add(new JavaPropertyDescriptor(name, (String) types.get(name), true, false));
-				fRepeatMethods.add(name);
-			}
-		}
-	}
-
-	private void filterGetMethods(List getMethods, List readable, HashMap types) throws JavaModelException {
-		IMethod temp;
-		String name;
-		String encodedReturnType;
-		String returnType;
-		Iterator it = getMethods.iterator();
-		String[] encodedParams;
-		String paramType;
-		// iterate get* methods
-		while (it.hasNext()) {
-			temp = (IMethod) it.next();
-			name = createPropertyNameFromMethod(temp);
-			// invalid bean naming convention
-			if (name == null)
-				continue;
-
-			encodedReturnType = temp.getReturnType();
-			returnType = getDecodedTypeName(encodedReturnType);
-
-			//  can't get be a getProperty if returns void
-			if (returnType.equals("void")) //$NON-NLS-1$
-				continue;
-
-			// check params in case it's indexed propety
-			encodedParams = temp.getParameterTypes();
-			if (encodedParams != null && encodedParams.length == 1) {
-				paramType = getDecodedTypeName(encodedParams[0]);
-				// syntax is > Type getter(int);
-				if (!paramType.equals("int")) { //$NON-NLS-1$
-					//it's not an indexed property
-					continue;
-				}
-				// it is indexed, prop type is an ARRAY
-				returnType += "[]"; //$NON-NLS-1$
-			}
-
-			readable.add(name);
-			types.put(name, returnType);
-		}
-
-	}
-
-	private void filterIsMethods(List isMethodResults, List readable, HashMap types) throws JavaModelException {
-		IMethod temp;
-		String name;
-		String encodedReturnType;
-		String returnType;
-		String[] encodedParams;
-		String paramType;
-		// iterate is* methods
-		Iterator it = isMethodResults.iterator();
-		while (it.hasNext()) {
-			temp = (IMethod) it.next();
-			name = createPropertyNameFromMethod(temp);
-			// invalid bean naming convention
-			if (name == null)
-				continue;
-			encodedReturnType = temp.getReturnType();
-			returnType = getDecodedTypeName(encodedReturnType);
-
-			// isProperty only valid for boolean
-			if (!returnType.equals("boolean")) //$NON-NLS-1$
-				continue;
-
-			// check params in case it's indexed propety
-			encodedParams = temp.getParameterTypes();
-			if (encodedParams != null && encodedParams.length == 1) {
-				paramType = getDecodedTypeName(encodedParams[0]);
-				// syntax is > Type getter(int);
-				if (!paramType.equals("int")) { //$NON-NLS-1$
-					//it's not a valid indexed property
-					continue;
-				}
-			}
-
-			readable.add(name);
-			types.put(name, returnType);
-		}
-	}
-
-	/**
-	 * Pass in a get*|set*|is* method and it will return an inferred property name using <code>Introspector.decapitalize(String)</code>
-	 * @param temp
-	 * @return an inferred property name based on the IMethod name, null if the name is not valid according to bean spec
-	 */
-	private String createPropertyNameFromMethod(IMethod temp) {
-		String name = temp.getElementName();
-		if (name.startsWith("is")) //$NON-NLS-1$
-			name = Introspector.decapitalize(name.substring(2));
-		else
-			// must be get or set
-			name = Introspector.decapitalize(name.substring(3));
-		return name;
-	}
-
-	/**
-	 * Initial filtering of methods.  Checks prefix if it's valid length.  If the prefix is "get" the  method name 
-	 * is placed in the getMethodResults List.  If the prefix is "is", the name is added to the isMethodResults list.  If the
-	 * prefix is "set", it's added to the setMethodResultsList.
-	 * 
-	 * @param getMethodResults
-	 * @param isMethodResults
-	 * @param setMethodResults
-	 * @param method
-	 */
-	private void acceptMethod(List getMethodResults, List isMethodResults, List setMethodResults, IMethod method) throws JavaModelException {
-		if (!fRepeatMethods.contains(method.getElementName())) {
-			fRepeatMethods.add(method.getElementName());
-			int flags = method.getFlags();
-			String methodName = method.getElementName();
-			if (Flags.isPublic(flags)) {
-				if (methodName.length() > 3 && methodName.startsWith("get")) //$NON-NLS-1$
-					getMethodResults.add(method);
-				else if (methodName.length() > 2 && methodName.startsWith("is")) //$NON-NLS-1$
-					isMethodResults.add(method);
-				else if (methodName.length() > 3 && methodName.startsWith("set")) //$NON-NLS-1$
-					setMethodResults.add(method);
-			}
-		}
-	}
-
-	/**
-	 * @param typeName
-	 * @return a Qualified name with the package as the qualifier, and class name as LocalName
-	 */
-	private QualifiedName getTypeQualifiedName(String typeName) {
-		StringTokenizer st = new StringTokenizer(typeName, ".", false); //$NON-NLS-1$
-		int length = st.countTokens();
-		int count = 0;
-		StringBuffer root = new StringBuffer();
-		while (count++ < length - 1) {
-			root.append(st.nextToken());
-			if (count < length - 1)
-				root.append('.');
-		}
-		return new QualifiedName(root.toString(), st.nextToken());
-	}
-
-	/**
-	 * Checks if encodedTypeName is an array
-	 * @param encodedTypeName
-	 * @return true if encodedTypeName is an array, false otherwise.
-	 */
-	private boolean isArray(String encodedTypeName) {
-		if (encodedTypeName != null && encodedTypeName.length() > 0) {
-			if (encodedTypeName.charAt(0) == '[')
-				return true;
-		}
-		return false;
-	}
-
-	/**
-	 * Returns the decoded (displayable) name fo the type.
-	 * Either a primitive type (int, long, float...) Object (String)
-	 * @param type
-	 * @return decoded name for the encoded string
-	 */
-	private String getDecodedTypeName(String encoded) {
-		HashMap map = getEncodedTypeMap();
-
-		StringBuffer decoded = new StringBuffer();
-		char BRACKET = '[';
-		String BRACKETS = "[]"; //$NON-NLS-1$
-		char identifier = ' ';
-		int last = 0;
-		// count brackets
-		while (encoded.indexOf(BRACKET, last) != -1) {
-			last++;
-		}
-		identifier = encoded.charAt(last);
-		Object primitiveType = map.get(String.valueOf(identifier));
-		// L > binary type name, Q > source type name
-		if (identifier == 'L' || identifier == 'Q') {
-			// handle object
-			String classname = encoded.substring(last + 1, encoded.length() - 1);
-			decoded.append(classname);
-		}
-		else if (primitiveType != null) {
-			// handle primitive type (from IField.getSignature())
-			decoded.append((String) primitiveType);
-		}
-		else {
-			// handle primitive type (from Class.getName())
-			decoded.append(encoded);
-		}
-		// handle arrays
-		if (last > 0) {
-			for (int i = 0; i < last; i++) {
-				decoded.append(BRACKETS);
-			}
-		}
-		return decoded.toString();
-	}
-
-	/**
-	 *	from Class.getName() javadoc
-	 *	also see Signature in jdt.core api
-	 *<pre>
-	 *			B            byte
-	 *			C            char
-	 *			D            double
-	 *			F            float
-	 *			I            int
-	 *			J            long
-	 *			Lclassname;  class or interface
-	 *			Qsourcename; source
-	 *			S            short
-	 *			Z            boolean
-	 *			V	   		 void
-	 *</pre>
-	 *
-	 * @return the "encoding letter" to "type" map.
-	 */
-	private HashMap getEncodedTypeMap() {
-		if (fEncodedTypeMap == null) {
-			fEncodedTypeMap = new HashMap();
-			fEncodedTypeMap.put("B", "byte"); //$NON-NLS-1$ //$NON-NLS-2$
-			fEncodedTypeMap.put("C", "char"); //$NON-NLS-1$ //$NON-NLS-2$
-			fEncodedTypeMap.put("D", "double"); //$NON-NLS-1$ //$NON-NLS-2$
-			fEncodedTypeMap.put("F", "float"); //$NON-NLS-1$ //$NON-NLS-2$
-			fEncodedTypeMap.put("I", "int"); //$NON-NLS-1$ //$NON-NLS-2$
-			fEncodedTypeMap.put("J", "long"); //$NON-NLS-1$ //$NON-NLS-2$
-			fEncodedTypeMap.put("S", "short"); //$NON-NLS-1$ //$NON-NLS-2$
-			fEncodedTypeMap.put("Z", "boolean"); //$NON-NLS-1$ //$NON-NLS-2$
-			fEncodedTypeMap.put("V", "void"); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		return fEncodedTypeMap;
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/CustomTemplateProposal.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/CustomTemplateProposal.java
deleted file mode 100644
index d95c7fb..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/CustomTemplateProposal.java
+++ /dev/null
@@ -1,42 +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 Corporation - initial API and implementation
- *     
- *******************************************************************************/
-package org.eclipse.jst.jsp.ui.internal.contentassist;
-
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.templates.Template;
-import org.eclipse.jface.text.templates.TemplateContext;
-import org.eclipse.jface.text.templates.TemplateProposal;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.sse.core.internal.util.StringUtils;
-import org.eclipse.wst.sse.ui.internal.contentassist.IRelevanceCompletionProposal;
-
-/**
- * Purpose of this class is to make the additional proposal info into content
- * fit for an HTML viewer (by escaping characters)
- * 
- * @plannedfor 1.0
- */
-class CustomTemplateProposal extends TemplateProposal implements IRelevanceCompletionProposal {
-	// copies of this class exist in:
-	// org.eclipse.jst.jsp.ui.internal.contentassist
-	// org.eclipse.wst.html.ui.internal.contentassist
-	// org.eclipse.wst.xml.ui.internal.contentassist
-
-	public CustomTemplateProposal(Template template, TemplateContext context, IRegion region, Image image, int relevance) {
-		super(template, context, region, image, relevance);
-	}
-
-	public String getAdditionalProposalInfo() {
-		String additionalInfo = super.getAdditionalProposalInfo();
-		return StringUtils.convertToHTMLContent(additionalInfo);
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/IBeanInfoProvider.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/IBeanInfoProvider.java
deleted file mode 100644
index 7487e3c..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/IBeanInfoProvider.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.contentassist;
-
-import org.eclipse.core.resources.IResource;
-
-/**
- * @plannedfor 1.0
- */
-public interface IBeanInfoProvider {
-	IJavaPropertyDescriptor[] getRuntimeProperties(IResource baseResource, String typeName);
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/IJavaPropertyDescriptor.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/IJavaPropertyDescriptor.java
deleted file mode 100644
index 1606a2e..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/IJavaPropertyDescriptor.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.contentassist;
-
-/**
- * @plannedfor 1.0
- */
-public interface IJavaPropertyDescriptor {
-
-	String getDeclaredType();
-
-	String getDisplayName();
-
-	String getName();
-
-	boolean getReadable();
-
-	boolean getWriteable();
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPCompletionProcessor.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPCompletionProcessor.java
deleted file mode 100644
index c5343a1..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPCompletionProcessor.java
+++ /dev/null
@@ -1,298 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.contentassist;
-
-import java.util.HashMap;
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
-import org.eclipse.jst.jsp.core.internal.java.IJSPTranslation;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslation;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslationAdapter;
-import org.eclipse.jst.jsp.ui.internal.JSPUIMessages;
-import org.eclipse.jst.jsp.ui.internal.Logger;
-import org.eclipse.wst.sse.core.internal.provisional.StructuredModelManager;
-import org.eclipse.wst.sse.ui.internal.IReleasable;
-import org.eclipse.wst.sse.ui.internal.StructuredTextViewer;
-import org.eclipse.wst.sse.ui.internal.contentassist.IResourceDependentProcessor;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleException;
-
-
-/**
- * @plannedfor 1.0
- */
-public class JSPCompletionProcessor implements IContentAssistProcessor, IReleasable, IResourceDependentProcessor {
-	// for debugging
-	private static final boolean DEBUG;
-	static {
-		String value = Platform.getDebugOption("org.eclipse.jst.jsp.core/debug/jsptranslation"); //$NON-NLS-1$
-		DEBUG = value != null && value.equalsIgnoreCase("true"); //$NON-NLS-1$
-	}
-
-	private static final String JDT_CORE_PLUGIN_ID = "org.eclipse.jdt.core"; //$NON-NLS-1$
-
-	protected int fJspSourcePosition, fJavaPosition;
-	protected IResource fResource;
-	protected String fErrorMessage = null;
-	protected StructuredTextViewer fViewer = null;
-	private JSPTranslationAdapter fTranslationAdapter = null;
-
-	public JSPCompletionProcessor(IResource resource) {
-		fResource = resource;
-	}
-
-	/**
-	 * Returns a list of completion proposals based on the specified location
-	 * within the document that corresponds to the current cursor position
-	 * within the text viewer.
-	 * 
-	 * @param viewer
-	 *            the viewer whose document is used to compute the proposals
-	 * @param documentPosition
-	 *            an offset within the document for which completions should
-	 *            be computed
-	 * @return an array of completion proposals or <code>null</code> if no
-	 *         proposals are possible
-	 */
-	public ICompletionProposal[] computeCompletionProposals(ITextViewer viewer, int pos) {
-		initialize(pos);
-
-		JSPProposalCollector collector = null;
-		
-		IDOMModel xmlModel = null;
-		try {
-			if (viewer instanceof StructuredTextViewer)
-				fViewer = (StructuredTextViewer) viewer;
-
-			xmlModel = (IDOMModel) StructuredModelManager.getModelManager().getExistingModelForRead(fViewer.getDocument());
-
-			IDOMDocument xmlDoc = xmlModel.getDocument();
-			if (fTranslationAdapter == null)
-				fTranslationAdapter = (JSPTranslationAdapter) xmlDoc.getAdapterFor(IJSPTranslation.class);
-			if (fTranslationAdapter != null) {
-
-				JSPTranslation translation = fTranslationAdapter.getJSPTranslation();
-				fJavaPosition = translation.getJavaOffset(getDocumentPosition());
-
-				if (DEBUG)
-					System.out.println(debug(translation));
-
-				try {
-
-					ICompilationUnit cu = translation.getCompilationUnit();
-
-					// can't get java proposals w/out a compilation unit
-					// or without a valid position
-					if (cu == null || -1 == fJavaPosition)
-						return new ICompletionProposal[0];
-					
-					collector = getProposalCollector(cu, translation);
-					synchronized (cu) {
-						cu.codeComplete(fJavaPosition, collector, null);
-					}
-				}
-				catch (CoreException coreEx) {
-					// a possible Java Model Exception due to not being a Web
-					// (Java) Project
-					coreEx.printStackTrace();
-				}
-			}
-		}
-		catch (Exception exc) {
-			exc.printStackTrace();
-			// throw out exceptions on code assist.
-		}
-		finally {
-			if (xmlModel != null) {
-				xmlModel.releaseFromRead();
-			}
-		}
-		ICompletionProposal[] results = new ICompletionProposal[0];
-		if(collector != null) {
-			results = collector.getJSPCompletionProposals();
-			if (results == null || results.length < 1)
-				fErrorMessage = JSPUIMessages.Java_Content_Assist_is_not_UI_;
-		}
-		return results;
-	}
-	
-	protected JSPProposalCollector getProposalCollector(ICompilationUnit cu, JSPTranslation translation) {
-		return new JSPProposalCollector(cu, translation);
-	}
-	
-	/**
-	 * For debugging translation mapping only.
-	 * 
-	 * @param translation
-	 */
-	private String debug(JSPTranslation translation) {
-		StringBuffer debugString = new StringBuffer();
-		HashMap jsp2java = translation.getJsp2JavaMap();
-		String javaText = translation.getJavaText();
-		String jspText = fViewer.getDocument().get();
-		debugString.append("[jsp2JavaMap in JSPCompletionProcessor]\r\n"); //$NON-NLS-1$
-		debugString.append("jsp cursor position >> " + fViewer.getTextWidget().getCaretOffset() + "\n"); //$NON-NLS-1$ //$NON-NLS-2$
-		Iterator it = jsp2java.keySet().iterator();
-		while (it.hasNext()) {
-			try {
-				Position jspPos = (Position) it.next();
-				Position javaPos = (Position) jsp2java.get(jspPos);
-				debugString.append("jsp > " + jspPos.offset + ":" + jspPos.length + ":" + jspText.substring(jspPos.offset, jspPos.offset + jspPos.length) + ":\n"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-				debugString.append("java > " + javaPos.offset + ":" + javaPos.length + ":" + javaText.substring(javaPos.offset, javaPos.offset + javaPos.length) + ":\n"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-				debugString.append("-------------------------------------------------\n"); //$NON-NLS-1$
-			}
-			catch (Exception e) {
-				// eat exceptions, it's only for debug
-			}
-		}
-		return debugString.toString();
-	}
-
-	/**
-	 * Returns information about possible contexts based on the specified
-	 * location within the document that corresponds to the current cursor
-	 * position within the text viewer.
-	 * 
-	 * @param viewer
-	 *            the viewer whose document is used to compute the possible
-	 *            contexts
-	 * @param documentPosition
-	 *            an offset within the document for which context information
-	 *            should be computed
-	 * @return an array of context information objects or <code>null</code>
-	 *         if no context could be found
-	 */
-	public org.eclipse.jface.text.contentassist.IContextInformation[] computeContextInformation(org.eclipse.jface.text.ITextViewer viewer, int documentOffset) {
-		return null;
-	}
-
-	/**
-	 * Returns a string of characters which when pressed should automatically
-	 * display content-assist proposals.
-	 * 
-	 * @return string of characters
-	 */
-	public java.lang.String getAutoProposalInvocationCharacters() {
-		return null;
-	}
-
-	/**
-	 * Returns a string of characters which when pressed should automatically
-	 * display a content-assist tip.
-	 * 
-	 * @return string of characters
-	 */
-	public java.lang.String getAutoTipInvocationCharacters() {
-		return null;
-	}
-
-	/**
-	 * Returns the characters which when entered by the user should
-	 * automatically trigger the presentation of possible completions.
-	 * 
-	 * @return the auto activation characters for completion proposal or
-	 *         <code>null</code> if no auto activation is desired
-	 */
-	public char[] getCompletionProposalAutoActivationCharacters() {
-		return null;
-	}
-
-	/**
-	 * Returns the characters which when entered by the user should
-	 * automatically trigger the presentation of context information.
-	 * 
-	 * @return the auto activation characters for presenting context
-	 *         information or <code>null</code> if no auto activation is
-	 *         desired
-	 */
-	public char[] getContextInformationAutoActivationCharacters() {
-		return null;
-	}
-
-	/**
-	 * Returns a validator used to determine when displayed context
-	 * information should be dismissed. May only return <code>null</code> if
-	 * the processor is incapable of computing context information.
-	 * 
-	 * @return a context information validator, or <code>null</code> if the
-	 *         processor is incapable of computing context information
-	 */
-	public org.eclipse.jface.text.contentassist.IContextInformationValidator getContextInformationValidator() {
-		return null;
-	}
-
-	protected int getDocumentPosition() {
-		return fJspSourcePosition;
-	}
-
-	public String getErrorMessage() {
-		// TODO: get appropriate error message
-		// if (fCollector.getErrorMessage() != null &&
-		// fCollector.getErrorMessage().length() > 0)
-		// return fCollector.getErrorMessage();
-		return fErrorMessage;
-	}
-
-	/**
-	 * Return the Java project for the to create completions within
-	 */
-	protected IJavaProject getJavaProject() {
-		if (fResource == null)
-			return null;
-		IProject proj = (fResource.getType() == IResource.PROJECT) ? (IProject) fResource : fResource.getProject();
-		IJavaProject javaProj = JavaCore.create(proj);
-		return javaProj;
-	}
-
-	/**
-	 * Initialize the code assist processor.
-	 */
-	protected void initialize(int pos) {
-		initializeJavaPlugins();
-
-		fJspSourcePosition = pos;
-		fErrorMessage = null;
-	}
-
-	/**
-	 * Initialize the Java Plugins that the JSP processor requires.
-	 */
-	protected void initializeJavaPlugins() {
-		try {
-			Bundle bundle = Platform.getBundle(JDT_CORE_PLUGIN_ID);
-			bundle.start();
-		}
-		catch (BundleException exc) {
-			Logger.logException("Could not initialize the JDT Plugins", exc);//$NON-NLS-1$
-		}
-	}
-
-	public void release() {
-		fTranslationAdapter = null;
-	}
-
-	public void initialize(IResource resource) {
-		fResource = resource;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPCompletionProposal.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPCompletionProposal.java
deleted file mode 100644
index e0e6c3b..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPCompletionProposal.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package org.eclipse.jst.jsp.ui.internal.contentassist;
-
-import org.eclipse.jdt.ui.text.java.IJavaCompletionProposal;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.contentassist.IContextInformation;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.sse.ui.internal.contentassist.CustomCompletionProposal;
-
-/**
- * Implements IJavaCompletionProposal for use with JSPProposalCollector.
- *
- * @plannedfor 1.0
- */
-public class JSPCompletionProposal extends CustomCompletionProposal implements IJavaCompletionProposal  {
-
-	public JSPCompletionProposal(String replacementString, int replacementOffset, int replacementLength, int cursorPosition, Image image, String displayString, IContextInformation contextInformation, String additionalProposalInfo, int relevance, boolean updateReplacementLengthOnValidate) {
-		super(replacementString, replacementOffset, replacementLength, cursorPosition, image, displayString, contextInformation, additionalProposalInfo, relevance, updateReplacementLengthOnValidate);
-	}
-	
-	/**
-	 * Sets cursor position after applying.
-	 */
-	public void apply(ITextViewer viewer, char trigger, int stateMask, int offset) {
-		super.apply(viewer, trigger, stateMask, offset);
-		viewer.setSelectedRange(getCursorPosition(), 0);
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPContentAssistProcessor.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPContentAssistProcessor.java
deleted file mode 100644
index 3333c9e..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPContentAssistProcessor.java
+++ /dev/null
@@ -1,1236 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.contentassist;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Vector;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.TextUtilities;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
-import org.eclipse.jface.text.contentassist.IContextInformation;
-import org.eclipse.jface.text.contentassist.IContextInformationValidator;
-import org.eclipse.jst.jsp.core.internal.contentmodel.TaglibController;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager;
-import org.eclipse.jst.jsp.core.internal.document.PageDirectiveAdapter;
-import org.eclipse.jst.jsp.core.internal.document.PageDirectiveAdapterFactory;
-import org.eclipse.jst.jsp.core.internal.provisional.JSP11Namespace;
-import org.eclipse.jst.jsp.core.internal.provisional.JSP12Namespace;
-import org.eclipse.jst.jsp.core.internal.provisional.contenttype.ContentTypeIdForJSP;
-import org.eclipse.jst.jsp.core.internal.provisional.text.IJSPPartitionTypes;
-import org.eclipse.jst.jsp.core.internal.regions.DOMJSPRegionContexts;
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-import org.eclipse.jst.jsp.ui.internal.Logger;
-import org.eclipse.jst.jsp.ui.internal.editor.JSPEditorPluginImageHelper;
-import org.eclipse.jst.jsp.ui.internal.editor.JSPEditorPluginImages;
-import org.eclipse.jst.jsp.ui.internal.preferences.JSPUIPreferenceNames;
-import org.eclipse.jst.jsp.ui.internal.templates.TemplateContextTypeIdsJSP;
-import org.eclipse.wst.css.ui.internal.contentassist.CSSContentAssistProcessor;
-import org.eclipse.wst.html.core.internal.contentmodel.HTMLCMDocumentFactory;
-import org.eclipse.wst.html.core.internal.contentmodel.HTMLElementDeclaration;
-import org.eclipse.wst.html.core.internal.contentmodel.JSPCMDocument;
-import org.eclipse.wst.html.core.internal.provisional.HTMLCMProperties;
-import org.eclipse.wst.html.core.internal.provisional.text.IHTMLPartitionTypes;
-import org.eclipse.wst.html.ui.internal.contentassist.HTMLContentAssistProcessor;
-import org.eclipse.wst.javascript.ui.internal.common.contentassist.JavaScriptContentAssistProcessor;
-import org.eclipse.wst.sse.core.internal.ltk.parser.BlockMarker;
-import org.eclipse.wst.sse.core.internal.provisional.IModelManager;
-import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
-import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-import org.eclipse.wst.sse.core.internal.provisional.IndexedRegion;
-import org.eclipse.wst.sse.core.internal.provisional.StructuredModelManager;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredPartitionTypes;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredPartitioning;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegionContainer;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegionList;
-import org.eclipse.wst.sse.core.internal.util.StringUtils;
-import org.eclipse.wst.sse.ui.internal.IReleasable;
-import org.eclipse.wst.sse.ui.internal.StructuredTextViewer;
-import org.eclipse.wst.sse.ui.internal.contentassist.ContentAssistUtils;
-import org.eclipse.wst.sse.ui.internal.contentassist.CustomCompletionProposal;
-import org.eclipse.wst.sse.ui.internal.contentassist.IRelevanceCompletionProposal;
-import org.eclipse.wst.sse.ui.internal.contentassist.IRelevanceConstants;
-import org.eclipse.wst.sse.ui.internal.contentassist.IResourceDependentProcessor;
-import org.eclipse.wst.sse.ui.internal.provisional.registry.AdapterFactoryProvider;
-import org.eclipse.wst.sse.ui.internal.provisional.registry.AdapterFactoryRegistry;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMDocument;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.xml.core.internal.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.xml.core.internal.contentmodel.modelquery.ModelQueryAction;
-import org.eclipse.wst.xml.core.internal.modelquery.ModelQueryUtil;
-import org.eclipse.wst.xml.core.internal.parser.XMLSourceParser;
-import org.eclipse.wst.xml.core.internal.provisional.contentmodel.CMDocType;
-import org.eclipse.wst.xml.core.internal.provisional.contentmodel.CMDocumentTracker;
-import org.eclipse.wst.xml.core.internal.provisional.contentmodel.CMNodeWrapper;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-import org.eclipse.wst.xml.core.internal.provisional.text.IXMLPartitions;
-import org.eclipse.wst.xml.core.internal.regions.DOMRegionContext;
-import org.eclipse.wst.xml.core.internal.ssemodelquery.ModelQueryAdapter;
-import org.eclipse.wst.xml.ui.internal.contentassist.AbstractContentAssistProcessor;
-import org.eclipse.wst.xml.ui.internal.contentassist.ContentAssistRequest;
-import org.eclipse.wst.xml.ui.internal.contentassist.NonValidatingModelQueryAction;
-import org.eclipse.wst.xml.ui.internal.contentassist.ProposalComparator;
-import org.eclipse.wst.xml.ui.internal.contentassist.XMLContentAssistProcessor;
-import org.eclipse.wst.xml.ui.internal.contentassist.XMLContentAssistUtilities;
-import org.eclipse.wst.xml.ui.internal.contentassist.XMLRelevanceConstants;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * Adds proposals not normally covered by the generic behavior with the
- * content model
- * 
- * @plannedfor 1.0
- */
-public class JSPContentAssistProcessor extends AbstractContentAssistProcessor implements IResourceDependentProcessor {
-
-	protected int depthCount = 0;
-	protected ITextViewer fViewer = null;
-	protected boolean useEmbeddedResults = true;
-	protected boolean isInternalAdapter = false;
-	protected HashMap fNameToProcessorMap = null;
-	protected HashMap fPartitionToProcessorMap = null;
-	private final ICompletionProposal[] EMPTY_PROPOSAL_SET = new ICompletionProposal[0];
-	protected IResource fResource = null;
-	private JSPTemplateCompletionProcessor fTemplateProcessor = null;
-	private List fTemplateContexts = new ArrayList();
-
-	public JSPContentAssistProcessor() {
-		super();
-		initNameToProcessorMap();
-		initPartitionToProcessorMap();
-	}
-
-	/**
-	 * init map for extra content assist processors (useBean,
-	 * get/setProperty). points [tagname > processor]
-	 */
-	protected void initNameToProcessorMap() {
-		fNameToProcessorMap = new HashMap();
-		JSPPropertyContentAssistProcessor jspPropertyCAP = new JSPPropertyContentAssistProcessor();
-		fNameToProcessorMap.put(JSP11Namespace.ElementName.SETPROPERTY, jspPropertyCAP);
-		fNameToProcessorMap.put(JSP11Namespace.ElementName.GETPROPERTY, jspPropertyCAP);
-		fNameToProcessorMap.put(JSP11Namespace.ElementName.USEBEAN, new JSPUseBeanContentAssistProcessor());
-	}
-
-	/**
-	 * int map that points [partition > processor]. This takes place of
-	 * embedded adapters for now.
-	 */
-	protected void initPartitionToProcessorMap() {
-		fPartitionToProcessorMap = new HashMap();
-		HTMLContentAssistProcessor htmlProcessor = new HTMLContentAssistProcessor();
-		JSPJavaContentAssistProcessor jspJavaProcessor = new JSPJavaContentAssistProcessor();
-		XMLContentAssistProcessor xmlProcessor = new XMLContentAssistProcessor();
-		JavaScriptContentAssistProcessor javascriptProcessor = new JavaScriptContentAssistProcessor();
-
-		fPartitionToProcessorMap.put(IHTMLPartitionTypes.HTML_DEFAULT, htmlProcessor);
-		fPartitionToProcessorMap.put(IXMLPartitions.XML_DEFAULT, xmlProcessor);
-		fPartitionToProcessorMap.put(IStructuredPartitionTypes.DEFAULT_PARTITION, htmlProcessor);
-		fPartitionToProcessorMap.put(IJSPPartitionTypes.JSP_DEFAULT, jspJavaProcessor);
-		fPartitionToProcessorMap.put(IJSPPartitionTypes.JSP_DIRECTIVE, xmlProcessor);
-		fPartitionToProcessorMap.put(IHTMLPartitionTypes.HTML_COMMENT, htmlProcessor);
-		fPartitionToProcessorMap.put(IJSPPartitionTypes.JSP_CONTENT_JAVASCRIPT, javascriptProcessor);
-		fPartitionToProcessorMap.put(IJSPPartitionTypes.JSP_DEFAULT_EL, jspJavaProcessor);
-		fPartitionToProcessorMap.put(IHTMLPartitionTypes.SCRIPT, javascriptProcessor); // default
-		// to
-		// javascript
-		// for
-		// all
-		// script
-	}
-
-	protected void addCommentProposal(ContentAssistRequest contentAssistRequest) {
-		// do nothing
-	}
-
-	protected void addDocTypeProposal(ContentAssistRequest contentAssistRequest) {
-		// do nothing
-	}
-
-	protected void addEmptyDocumentProposals(ContentAssistRequest contentAssistRequest) {
-		addTemplates(contentAssistRequest, TemplateContextTypeIdsJSP.NEW);
-
-		super.addEmptyDocumentProposals(contentAssistRequest);
-		addTagInsertionProposals(contentAssistRequest, 0);
-	}
-
-	protected void addEndTagNameProposals(ContentAssistRequest contentAssistRequest) {
-		// do nothing
-	}
-
-	protected void addPCDATAProposal(String nodeName, ContentAssistRequest contentAssistRequest) {
-		// do nothing
-	}
-
-	protected void addStartDocumentProposals(ContentAssistRequest contentAssistRequest) {
-		// do nothing
-	}
-
-	protected void addTagCloseProposals(ContentAssistRequest contentAssistRequest) {
-		// do nothing
-	}
-
-	protected void addXMLProposal(ContentAssistRequest contentAssistRequest) {
-		// do nothing
-	}
-
-	protected void addEndTagProposals(ContentAssistRequest contentAssistRequest) {
-		// do nothing
-	}
-
-	protected void addAttributeNameProposals(ContentAssistRequest contentAssistRequest) {
-		addTemplates(contentAssistRequest, TemplateContextTypeIdsJSP.ATTRIBUTE);
-
-		// specific fix for CMVC 274033
-		// no attribute proposals for <jsp:useBean />
-		String nodeName = contentAssistRequest.getNode().getNodeName();
-		if (nodeName.indexOf(':') != -1) { //$NON-NLS-1$
-			super.addAttributeNameProposals(contentAssistRequest);
-		}
-	}
-
-	/**
-	 * add proposals for tags in attribute values
-	 */
-	protected void addAttributeValueProposals(ContentAssistRequest contentAssistRequest) {
-		addTemplates(contentAssistRequest, TemplateContextTypeIdsJSP.ATTRIBUTE_VALUE);
-
-		IDOMNode node = (IDOMNode) contentAssistRequest.getNode();
-
-		// add JSP extra proposals from JSPBeanInfoContentAssistProcessor
-		// JSPPropertyContentAssistProcessor
-
-		// 2.1
-		// get results from JSPUseBean and JSPProperty here
-		// (look up processor in a map based on node name)
-		JSPDummyContentAssistProcessor extraProcessor = (JSPDummyContentAssistProcessor) fNameToProcessorMap.get(node.getNodeName());
-		if (extraProcessor != null && contentAssistRequest != null) {
-			extraProcessor.initialize(fResource);
-			extraProcessor.addAttributeValueProposals(contentAssistRequest);
-		}
-
-		ModelQuery mq = ModelQueryUtil.getModelQuery(node.getOwnerDocument());
-		if (mq != null) {
-			CMDocument doc = mq.getCorrespondingCMDocument(node);
-			// this shouldn't have to have the prefix coded in
-			if (doc instanceof JSPCMDocument || doc instanceof CMNodeWrapper || node.getNodeName().startsWith("jsp:")) //$NON-NLS-1$
-				return;
-		}
-
-		// Find the attribute name for which this position should have a value
-		IStructuredDocumentRegion open = node.getFirstStructuredDocumentRegion();
-		ITextRegionList openRegions = open.getRegions();
-		int i = openRegions.indexOf(contentAssistRequest.getRegion());
-		if (i < 0)
-			return;
-		ITextRegion nameRegion = null;
-		while (i >= 0) {
-			nameRegion = openRegions.get(i--);
-			if (nameRegion.getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_NAME)
-				break;
-		}
-
-		String attributeName = null;
-		if (nameRegion != null)
-			attributeName = open.getText(nameRegion);
-		String currentValue = null;
-		if (attributeName != null)
-			currentValue = node.getAttributes().getNamedItem(attributeName).getNodeValue();
-
-		// on an empty value, add all the JSP and taglib tags
-		if ((contentAssistRequest.getRegion().getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_EQUALS && contentAssistRequest.getReplacementLength() == 0) || (contentAssistRequest.getRegion().getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_VALUE && (currentValue == null || currentValue.length() == 0))) {
-			List rejectElements = new ArrayList();
-			rejectElements.add(JSP12Namespace.ElementName.SCRIPTLET);
-			rejectElements.add(JSP12Namespace.ElementName.EXPRESSION);
-			rejectElements.add(JSP12Namespace.ElementName.DECLARATION);
-			rejectElements.add(JSP12Namespace.ElementName.DIRECTIVE_INCLUDE);
-			rejectElements.add(JSP12Namespace.ElementName.DIRECTIVE_PAGE);
-			rejectElements.add(JSP12Namespace.ElementName.DIRECTIVE_TAGLIB);
-			rejectElements.add(JSP12Namespace.ElementName.FALLBACK);
-			rejectElements.add(JSP12Namespace.ElementName.USEBEAN);
-			rejectElements.add(JSP12Namespace.ElementName.SETPROPERTY);
-			rejectElements.add(JSP12Namespace.ElementName.FORWARD);
-			rejectElements.add(JSP12Namespace.ElementName.PLUGIN);
-			rejectElements.add(JSP12Namespace.ElementName.FALLBACK);
-			rejectElements.add(JSP12Namespace.ElementName.PARAMS);
-
-			List additionalElements = getAdditionalChildren(new ArrayList(), node, -1);
-			for (i = 0; i < additionalElements.size(); i++) {
-				CMElementDeclaration ed = (CMElementDeclaration) additionalElements.get(i);
-				if (rejectElements.contains(ed.getNodeName()))
-					continue;
-				String tagname = getContentGenerator().getRequiredName(node, ed);
-				StringBuffer contents = new StringBuffer("\""); //$NON-NLS-1$
-				getContentGenerator().generateTag(node, ed, contents);
-				contents.append('"');
-				CustomCompletionProposal proposal = new CustomCompletionProposal(contents.toString(), contentAssistRequest.getReplacementBeginPosition(), contentAssistRequest.getReplacementLength(), contents.length(), JSPEditorPluginImageHelper.getInstance().getImage(JSPEditorPluginImages.IMG_OBJ_TAG_GENERIC), tagname, null, null, XMLRelevanceConstants.R_JSP_ATTRIBUTE_VALUE);
-				contentAssistRequest.addProposal(proposal);
-			}
-		}
-
-		else if (contentAssistRequest.getRegion().getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_VALUE) {
-			try {
-				// Create a new model for Content Assist to operate on. This
-				// will simulate
-				// a full Document and then adjust the offset numbers in the
-				// list of results.
-				IStructuredModel internalModel = null;
-				IModelManager mmanager = StructuredModelManager.getModelManager();
-				internalModel = mmanager.createUnManagedStructuredModelFor(ContentTypeIdForJSP.ContentTypeID_JSP);
-				IDOMNode xmlNode = null;
-				IDOMModel xmlOuterModel = null;
-				if (contentAssistRequest.getNode() instanceof IDOMNode) {
-					xmlNode = (IDOMNode) contentAssistRequest.getNode();
-					xmlOuterModel = xmlNode.getModel();
-					internalModel.setResolver(xmlOuterModel.getResolver());
-					internalModel.setBaseLocation(xmlOuterModel.getBaseLocation());
-				}
-				String contents = StringUtils.strip(contentAssistRequest.getText());
-				if (xmlNode != null && contents != null) {
-					int additionalShifts = 0;
-					// Be sure that custom tags from taglibs also show up
-					// by
-					// adding taglib declarations to the internal model.
-					TLDCMDocumentManager mgr = TaglibController.getTLDCMDocumentManager(xmlOuterModel.getStructuredDocument());
-					if (mgr != null) {
-						List trackers = mgr.getCMDocumentTrackers(contentAssistRequest.getReplacementBeginPosition());
-						if (trackers != null) {
-							for (i = 0; i < trackers.size(); i++) {
-								CMDocumentTracker tracker = (CMDocumentTracker) trackers.get(i);
-								String declaration = tracker.getStructuredDocumentRegion().getText();
-								if (declaration != null) {
-									contents = declaration + contents;
-									additionalShifts += declaration.length();
-								}
-							}
-						}
-					}
-					// Also copy any jsp:useBean tags so that
-					// jsp:[gs]etProperty will function
-					Document doc = null;
-					if (contentAssistRequest.getNode().getNodeType() == Node.DOCUMENT_NODE)
-						doc = (Document) node;
-					else
-						doc = node.getOwnerDocument();
-					NodeList useBeans = doc.getElementsByTagName(JSP12Namespace.ElementName.USEBEAN);
-					for (int k = 0; k < useBeans.getLength(); k++) {
-						IDOMNode useBean = (IDOMNode) useBeans.item(k);
-						if (useBean.getStartOffset() < contentAssistRequest.getReplacementBeginPosition()) {
-							StringBuffer useBeanText = new StringBuffer("<jsp:useBean"); //$NON-NLS-1$
-							for (int j = 0; j < useBean.getAttributes().getLength(); j++) {
-								Attr attr = (Attr) useBean.getAttributes().item(j);
-								useBeanText.append(' ');
-								useBeanText.append(attr.getName());
-								useBeanText.append("=\""); //$NON-NLS-1$
-								useBeanText.append(attr.getValue());
-								useBeanText.append('"');
-							}
-							useBeanText.append("/>"); //$NON-NLS-1$
-							additionalShifts += useBeanText.length();
-							contents = useBeanText.toString() + contents;
-						}
-					}
-					internalModel.getStructuredDocument().set(contents);
-					int internalOffset = 0;
-					boolean quoted = false;
-					// if quoted, use position inside and shift by one
-					if (contentAssistRequest.getMatchString().length() > 0 && (contentAssistRequest.getMatchString().charAt(0) == '\'' || contentAssistRequest.getMatchString().charAt(0) == '"')) {
-						internalOffset = contentAssistRequest.getMatchString().length() - 1 + additionalShifts;
-						quoted = true;
-					}
-					// if unquoted, use position inside
-					else if (contentAssistRequest.getMatchString().length() > 0 && contentAssistRequest.getMatchString().charAt(0) == '<')
-						internalOffset = contentAssistRequest.getMatchString().length() + additionalShifts;
-					else
-						internalOffset = contentAssistRequest.getReplacementBeginPosition() - contentAssistRequest.getStartOffset() + additionalShifts;
-					depthCount++;
-					IndexedRegion internalNode = null;
-					int tmpOffset = internalOffset;
-					while (internalNode == null && tmpOffset >= 0)
-						internalNode = internalModel.getIndexedRegion(tmpOffset--);
-
-					if (internalModel.getFactoryRegistry() != null) {
-						// set up the internal model
-						if (internalModel.getFactoryRegistry().getFactoryFor(PageDirectiveAdapter.class) == null) {
-							internalModel.getFactoryRegistry().addFactory(new PageDirectiveAdapterFactory());
-						}
-						PageDirectiveAdapter outerEmbeddedTypeAdapter = (PageDirectiveAdapter) xmlOuterModel.getDocument().getAdapterFor(PageDirectiveAdapter.class);
-						PageDirectiveAdapter internalEmbeddedTypeAdapter = (PageDirectiveAdapter) ((INodeNotifier) ((Node) internalNode).getOwnerDocument()).getAdapterFor(PageDirectiveAdapter.class);
-						internalEmbeddedTypeAdapter.setEmbeddedType(outerEmbeddedTypeAdapter.getEmbeddedType());
-					}
-
-					AdapterFactoryRegistry adapterRegistry = JSPUIPlugin.getDefault().getAdapterFactoryRegistry();
-					Iterator adapterList = adapterRegistry.getAdapterFactories();
-					// And all those appropriate for this particular type
-					// of content
-					while (adapterList.hasNext()) {
-						try {
-							AdapterFactoryProvider provider = (AdapterFactoryProvider) adapterList.next();
-							if (provider.isFor(internalModel.getModelHandler())) {
-								provider.addAdapterFactories(internalModel);
-							}
-						} catch (Exception e) {
-							Logger.logException(e);
-						}
-					}
-
-					/**
-					 * the internal adapter does all the real work of using
-					 * the JSP content model to form proposals
-					 */
-					ICompletionProposal[] results = null;
-					depthCount--;
-					if (results != null) {
-						for (i = 0; i < results.length; i++) {
-							contentAssistRequest.addProposal(new CustomCompletionProposal(((CustomCompletionProposal) results[i]).getReplacementString(), ((CustomCompletionProposal) results[i]).getReplacementOffset() - additionalShifts + contentAssistRequest.getStartOffset() + (quoted ? 1 : 0), ((CustomCompletionProposal) results[i]).getReplacementLength(), ((CustomCompletionProposal) results[i]).getCursorPosition(), results[i].getImage(), results[i].getDisplayString(), ((CustomCompletionProposal) results[i]).getContextInformation(), ((CustomCompletionProposal) results[i]).getAdditionalProposalInfo(), (results[i] instanceof IRelevanceCompletionProposal) ? ((IRelevanceCompletionProposal) results[i]).getRelevance() : IRelevanceConstants.R_NONE));
-						}
-					}
-				}
-			} catch (Exception e) {
-				Logger.logException("Error in embedded JSP Content Assist", e); //$NON-NLS-1$
-			}
-		}
-
-
-	}
-
-	private List getAdditionalChildren(List elementDecls, Node node, int childIndex) {
-		if (node instanceof IDOMNode) {
-			/*
-			 * find the location of the intended insertion as it will give us
-			 * the correct offset for checking position dependent CMDocuments
-			 */
-			int textInsertionOffset = 0;
-			NodeList children = node.getChildNodes();
-			if (children.getLength() >= childIndex && childIndex >= 0) {
-				Node nodeAlreadyAtIndex = children.item(childIndex);
-				if (nodeAlreadyAtIndex instanceof IDOMNode)
-					textInsertionOffset = ((IDOMNode) nodeAlreadyAtIndex).getEndOffset();
-			} else {
-				textInsertionOffset = ((IDOMNode) node).getStartOffset();
-			}
-			TLDCMDocumentManager mgr = TaglibController.getTLDCMDocumentManager(((IDOMNode) node).getStructuredDocument());
-			if (mgr != null) {
-				List moreCMDocuments = mgr.getCMDocumentTrackers(textInsertionOffset);
-				if (moreCMDocuments != null) {
-					for (int i = 0; i < moreCMDocuments.size(); i++) {
-						CMDocument doc = (CMDocument) moreCMDocuments.get(i);
-						CMNamedNodeMap elements = doc.getElements();
-						if (elements != null) {
-							for (int j = 0; j < elements.getLength(); j++) {
-								CMElementDeclaration ed = (CMElementDeclaration) elements.item(j);
-								elementDecls.add(ed);
-							}
-						}
-					}
-				}
-			}
-
-			// get position dependent CMDocuments and insert their tags as
-			// proposals
-
-			ModelQueryAdapter mqAdapter = null;
-			if (node.getNodeType() == Node.DOCUMENT_NODE)
-				mqAdapter = (ModelQueryAdapter) ((IDOMNode) node).getAdapterFor(ModelQueryAdapter.class);
-			else
-				mqAdapter = (ModelQueryAdapter) ((IDOMNode) node.getOwnerDocument()).getAdapterFor(ModelQueryAdapter.class);
-
-			if (mqAdapter != null) {
-				CMDocument doc = mqAdapter.getModelQuery().getCorrespondingCMDocument(node);
-				// this shouldn't have to have the prefix coded in
-				if (!(doc != null && (doc instanceof JSPCMDocument || doc instanceof CMNodeWrapper || node.getNodeName().startsWith("jsp:")))) { //$NON-NLS-1$
-					// get jsp namespace elements and insert their contents
-					CMDocument JCMDoc = HTMLCMDocumentFactory.getCMDocument(CMDocType.JSP11_DOC_TYPE);
-					CMNamedNodeMap jspelements = JCMDoc.getElements();
-
-					if (jspelements != null) {
-						List rejectElements = new ArrayList();
-
-						// determine if the document is in XML form
-						Document domDoc = null;
-						if (node.getNodeType() == Node.DOCUMENT_NODE)
-							domDoc = (Document) node;
-						else
-							domDoc = node.getOwnerDocument();
-						// Show XML tag forms of JSP markers if jsp:root is
-						// the document element OR it's HTML but
-						// isn't really in the text.
-						// If the document isn't strictly XML, pull out the
-						// XML tag forms
-						if (!isXMLFormat(domDoc)) {
-							rejectElements.add(JSP12Namespace.ElementName.SCRIPTLET);
-							rejectElements.add(JSP12Namespace.ElementName.EXPRESSION);
-							rejectElements.add(JSP12Namespace.ElementName.DECLARATION);
-							rejectElements.add(JSP12Namespace.ElementName.DIRECTIVE_INCLUDE);
-							rejectElements.add(JSP12Namespace.ElementName.DIRECTIVE_PAGE);
-							rejectElements.add(JSP12Namespace.ElementName.TEXT);
-						}
-						// always exclude jsp:directive.taglib
-						if (isInternalAdapter) {
-							rejectElements.add(JSP12Namespace.ElementName.DIRECTIVE_TAGLIB);
-							rejectElements.add(JSP12Namespace.ElementName.DIRECTIVE_TAGLIB);
-							rejectElements.add(JSP12Namespace.ElementName.FALLBACK);
-							rejectElements.add(JSP12Namespace.ElementName.USEBEAN);
-							rejectElements.add(JSP12Namespace.ElementName.SETPROPERTY);
-							rejectElements.add(JSP12Namespace.ElementName.FORWARD);
-							rejectElements.add(JSP12Namespace.ElementName.PLUGIN);
-							rejectElements.add(JSP12Namespace.ElementName.FALLBACK);
-							rejectElements.add(JSP12Namespace.ElementName.PARAMS);
-						}
-
-						// don't show jsp:root if a document element already
-						// exists
-						Element docElement = domDoc.getDocumentElement();
-						if (docElement != null && ((docElement.getNodeName().equals("jsp:root")) || ((((IDOMNode) docElement).getStartStructuredDocumentRegion() != null || ((IDOMNode) docElement).getEndStructuredDocumentRegion() != null)))) //$NON-NLS-1$
-							rejectElements.add(JSP12Namespace.ElementName.ROOT);
-
-						for (int j = 0; j < jspelements.getLength(); j++) {
-							CMElementDeclaration ed = (CMElementDeclaration) jspelements.item(j);
-							if (rejectElements.contains(ed.getNodeName()))
-								continue;
-							elementDecls.add(ed);
-						}
-					}
-				}
-			}
-		}
-		return elementDecls;
-	}
-
-	protected List getAvailableChildrenAtIndex(Element parent, int index) {
-		List list = new ArrayList();
-		List additionalElements = getAdditionalChildren(new ArrayList(), parent, index);
-		for (int i = 0; i < additionalElements.size(); i++) {
-			ModelQueryAction insertAction = new NonValidatingModelQueryAction((CMElementDeclaration) additionalElements.get(i), ModelQueryAction.INSERT, 0, parent.getChildNodes().getLength(), null);
-			list.add(insertAction);
-		}
-
-		// add allowed children of implicit tags that don't already exist
-		NodeList children = parent.getChildNodes();
-		List childNames = new ArrayList();
-		if (children != null) {
-			for (int i = 0; i < children.getLength(); i++) {
-				Node child = children.item(i);
-				if (child.getNodeType() == Node.ELEMENT_NODE)
-					childNames.add(child.getNodeName().toLowerCase());
-			}
-		}
-		List allActions = new ArrayList();
-		Iterator iterator = list.iterator();
-		ModelQuery modelQuery = ModelQueryUtil.getModelQuery(parent.getOwnerDocument());
-		while (iterator.hasNext()) {
-			ModelQueryAction action = (ModelQueryAction) iterator.next();
-			allActions.add(action);
-			if (action.getCMNode() instanceof HTMLElementDeclaration) {
-				HTMLElementDeclaration ed = (HTMLElementDeclaration) action.getCMNode();
-				String ommission = (String) ed.getProperty(HTMLCMProperties.OMIT_TYPE);
-				if (!childNames.contains(ed.getNodeName().toLowerCase()) && ((ommission != null) && (ommission.equals(HTMLCMProperties.Values.OMIT_BOTH)))) {
-					List implicitValidActions = new ArrayList();
-					modelQuery.getInsertActions(parent, ed, 0, ModelQuery.INCLUDE_CHILD_NODES, ModelQuery.VALIDITY_NONE, implicitValidActions);
-					if (implicitValidActions != null) {
-						Iterator implicitValidActionsIterator = implicitValidActions.iterator();
-						while (implicitValidActionsIterator.hasNext()) {
-							ModelQueryAction insertAction = new NonValidatingModelQueryAction(((ModelQueryAction) implicitValidActionsIterator.next()).getCMNode(), ModelQueryAction.INSERT, 0, parent.getChildNodes().getLength(), null);
-							allActions.add(insertAction);
-						}
-					}
-				}
-			}
-		}
-		return allActions;
-	}
-
-	protected List getAvailableRootChildren(Document document, int childIndex) {
-		List list = new ArrayList();
-		if (!isXMLFormat(document))
-			getAdditionalChildren(list, document, childIndex);
-		return list;
-	}
-
-	protected void init() {
-		super.init();
-	}
-
-	public void setErrorMessage(String errorMessage) {
-		if (depthCount == 0)
-			fErrorMessage = errorMessage;
-	}
-
-	/**
-	 * This method is acting as a "catch all" for pulling together content
-	 * assist proposals from different Processors when document partitioning
-	 * alone couldn't determine definitively what content assist should show
-	 * up at that particular position in the document
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.IContentAssistProcessor#computeCompletionProposals(ITextViewer,
-	 *      int)
-	 */
-	public ICompletionProposal[] computeCompletionProposals(ITextViewer viewer, int documentPosition) {
-		fTemplateContexts.clear();
-		
-		IStructuredDocumentRegion sdRegion = ContentAssistUtils.getStructuredDocumentRegion((StructuredTextViewer) viewer, documentPosition);
-		fViewer = viewer;
-		ICompletionProposal[] jspResults = EMPTY_PROPOSAL_SET;
-		ICompletionProposal[] embeddedResults = EMPTY_PROPOSAL_SET;
-
-		// check the actual partition type
-		String partitionType = getPartitionType((StructuredTextViewer) viewer, documentPosition);
-		IStructuredDocument structuredDocument = (IStructuredDocument)viewer.getDocument();
-		
-		IStructuredDocumentRegion fn = structuredDocument.getRegionAtCharacterOffset(documentPosition);
-
-		// ////////////////////////////////////////////////////////////////////////////
-		// ANOTHER WORKAROUND UNTIL PARTITIONING TAKES CARE OF THIS
-		// check for xml-jsp tags...
-		// CMVC 243657
-		if (partitionType == IJSPPartitionTypes.JSP_DIRECTIVE && fn != null) {
-			IStructuredDocumentRegion possibleXMLJSP = ((fn.getType() == DOMRegionContext.XML_CONTENT) && fn.getPrevious() != null) ? fn.getPrevious() : fn;
-			ITextRegionList regions = possibleXMLJSP.getRegions();
-			if (regions.size() > 1) {
-				// check bounds cases
-				ITextRegion xmlOpenOrClose = regions.get(0);
-				if (xmlOpenOrClose.getType() == DOMRegionContext.XML_TAG_OPEN && documentPosition == possibleXMLJSP.getStartOffset()) {
-					// do regular jsp content assist
-				} else if (xmlOpenOrClose.getType() == DOMRegionContext.XML_END_TAG_OPEN && documentPosition > possibleXMLJSP.getStartOffset()) {
-					// do regular jsp content assist
-				} else {
-					// possible xml-jsp
-					ITextRegion nameRegion = regions.get(1);
-					String name = possibleXMLJSP.getText(nameRegion);
-					if (name.equals("jsp:scriptlet") || name.equals("jsp:expression") || name.equals("jsp:declaration")) { //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-						return getJSPJavaCompletionProposals(viewer, documentPosition);
-					}
-				}
-			}
-		}
-
-		// ////////////////////////////////////////////////////////////////////////////
-		// ** THIS IS A TEMP FIX UNTIL PARTITIONING TAKES CARE OF THIS...
-		// CMVC 241882
-		// check for XML-JSP in a <script> region
-		if (partitionType == IJSPPartitionTypes.JSP_CONTENT_JAVASCRIPT || partitionType == IHTMLPartitionTypes.SCRIPT) {
-			// fn should be block text
-			IStructuredDocumentRegion decodedSDRegion = decodeScriptBlock(fn.getFullText());
-			// System.out.println("decoded > " +
-			// blockOfText.substring(decodedSDRegion.getStartOffset(),
-			// decodedSDRegion.getEndOffset()));
-			if (decodedSDRegion != null) {
-				IStructuredDocumentRegion sdr = decodedSDRegion;
-				while (sdr != null) {
-					// System.out.println("sdr " + sdr.getType());
-					// System.out.println("sdr > " +
-					// blockOfText.substring(sdr.getStartOffset(),
-					// sdr.getEndOffset()));
-					if (sdr.getType() == DOMJSPRegionContexts.JSP_CONTENT) {
-						if (documentPosition >= fn.getStartOffset() + sdr.getStartOffset() && documentPosition <= fn.getStartOffset() + sdr.getEndOffset()) {
-							return getJSPJavaCompletionProposals(viewer, documentPosition);
-						}
-					} else if (sdr.getType() == DOMRegionContext.XML_TAG_NAME) {
-						if (documentPosition > fn.getStartOffset() + sdr.getStartOffset() && documentPosition < fn.getStartOffset() + sdr.getEndOffset()) {
-							return EMPTY_PROPOSAL_SET;
-						} else if (documentPosition == fn.getStartOffset() + sdr.getEndOffset() && sdr.getNext() != null && sdr.getNext().getType() == DOMJSPRegionContexts.JSP_CONTENT) {
-							// the end of an open tag <script>
-							// <jsp:scriptlet>| blah </jsp:scriptlet>
-							return getJSPJavaCompletionProposals(viewer, documentPosition);
-						} else if (documentPosition == fn.getStartOffset() + sdr.getStartOffset() && sdr.getPrevious() != null && sdr.getPrevious().getType() == DOMRegionContext.XML_TAG_NAME) {
-							return getJSPJavaCompletionProposals(viewer, documentPosition);
-						}
-					}
-					sdr = sdr.getNext();
-				}
-			}
-		}
-		// /////////////////////////////////////////////////////////////////////////
-
-		// check special JSP delimiter cases
-		if (fn != null && partitionType == IJSPPartitionTypes.JSP_CONTENT_DELIMITER) {
-			IStructuredDocumentRegion fnDelim = fn;
-
-			// if it's a nested JSP region, need to get the correct
-			// StructuredDocumentRegion
-			// not sure why this check was there...
-			// if (fnDelim.getType() == XMLRegionContext.BLOCK_TEXT) {
-			Iterator blockRegions = fnDelim.getRegions().iterator();
-			ITextRegion temp = null;
-			ITextRegionContainer trc;
-			while (blockRegions.hasNext()) {
-				temp = (ITextRegion) blockRegions.next();
-				// we hit a nested
-				if (temp instanceof ITextRegionContainer) {
-					trc = (ITextRegionContainer) temp;
-					// it's in this region
-					if (documentPosition >= trc.getStartOffset() && documentPosition < trc.getEndOffset()) {
-						Iterator nestedJSPRegions = trc.getRegions().iterator();
-						while (nestedJSPRegions.hasNext()) {
-							temp = (ITextRegion) nestedJSPRegions.next();
-							if (XMLContentAssistUtilities.isJSPOpenDelimiter(temp.getType()) && documentPosition == trc.getStartOffset(temp)) {
-								// HTML content assist
-								// we actually want content assist for the
-								// previous type of region,
-								// well get those proposals from the embedded
-								// adapter
-								if (documentPosition > 0) {
-									partitionType = getPartitionType((StructuredTextViewer) viewer, documentPosition - 1);
-									break;
-								}
-							} else if (XMLContentAssistUtilities.isJSPCloseDelimiter(temp.getType()) && documentPosition == trc.getStartOffset(temp)) {
-								// JSP content assist
-								return getJSPJavaCompletionProposals(viewer, documentPosition);
-							}
-						}
-					}
-				}
-				// }
-			}
-
-			// take care of XML-JSP delimter cases
-			if (XMLContentAssistUtilities.isXMLJSPDelimiter(fnDelim)) {
-				// since it's a delimiter, we know it's a ITextRegionContainer
-				ITextRegion firstRegion = fnDelim.getRegions().get(0);
-				if (fnDelim.getStartOffset() == documentPosition && (firstRegion.getType() == DOMRegionContext.XML_TAG_OPEN)) {
-					// |<jsp:scriptlet> </jsp:scriptlet>
-					// (pa) commented out so that we get regular behavior JSP
-					// macros etc...
-					// return getHTMLCompletionProposals(viewer,
-					// documentPosition);
-				} else if (fnDelim.getStartOffset() == documentPosition && (firstRegion.getType() == DOMRegionContext.XML_END_TAG_OPEN)) {
-					// <jsp:scriptlet> |</jsp:scriptlet>
-					// check previous partition type to see if it's JAVASCRIPT
-					// if it is, we're just gonna let the embedded JAVASCRIPT
-					// adapter get the proposals
-					if (documentPosition > 0) {
-						String checkType = getPartitionType((StructuredTextViewer) viewer, documentPosition - 1);
-						if (checkType != IJSPPartitionTypes.JSP_CONTENT_JAVASCRIPT) { // this
-							// check
-							// is
-							// failing
-							// for
-							// XML-JSP
-							// (region
-							// is
-							// not
-							// javascript...)
-							return getJSPJavaCompletionProposals(viewer, documentPosition);
-						} 
-						partitionType = IJSPPartitionTypes.JSP_CONTENT_JAVASCRIPT;
-					}
-				} else if ((firstRegion.getType() == DOMRegionContext.XML_TAG_OPEN) && documentPosition >= fnDelim.getEndOffset()) {
-					// anything else inbetween
-					return getJSPJavaCompletionProposals(viewer, documentPosition);
-				}
-			} else if (XMLContentAssistUtilities.isJSPDelimiter(fnDelim)) {
-				// the delimiter <%, <%=, <%!, ...
-				if (XMLContentAssistUtilities.isJSPCloseDelimiter(fnDelim)) {
-					if (documentPosition == fnDelim.getStartOffset()) {
-						// check previous partition type to see if it's
-						// JAVASCRIPT
-						// if it is, we're just gonna let the embedded
-						// JAVASCRIPT adapter get the proposals
-						if (documentPosition > 0) {
-							String checkType = getPartitionType((StructuredTextViewer) viewer, documentPosition - 1);
-							if (checkType != IJSPPartitionTypes.JSP_CONTENT_JAVASCRIPT) {
-								return getJSPJavaCompletionProposals(viewer, documentPosition);
-							} 
-							partitionType = IJSPPartitionTypes.JSP_CONTENT_JAVASCRIPT;
-						}
-					}
-				} else if (XMLContentAssistUtilities.isJSPOpenDelimiter(fnDelim)) {
-					// if it's the first position of open delimiter
-					// use embedded HTML results
-					if (documentPosition == fnDelim.getStartOffset()) {
-						embeddedResults = getHTMLCompletionProposals(viewer, documentPosition);
-					} else if (documentPosition == fnDelim.getEndOffset()) {
-						// it's at the EOF <%|
-						return getJSPJavaCompletionProposals(viewer, documentPosition);
-					}
-				}
-			}
-		}
-
-		// need to check if it's JSP region inside of CDATA w/ no region
-		// <![CDATA[ <%|%> ]]>
-		// or a comment region
-		// <!-- <% |%> -->
-		if (fn != null && (fn.getType() == DOMRegionContext.XML_CDATA_TEXT || fn.getType() == DOMRegionContext.XML_COMMENT_TEXT)) {
-			if (fn instanceof ITextRegionContainer) {
-				Object[] cdataRegions = fn.getRegions().toArray();
-				ITextRegion r = null;
-				ITextRegion jspRegion = null;
-				for (int i = 0; i < cdataRegions.length; i++) {
-					r = (ITextRegion) cdataRegions[i];
-					if (r instanceof ITextRegionContainer) {
-						// CDATA embedded container, or comment container
-						Object[] jspRegions = ((ITextRegionContainer) r).getRegions().toArray();
-						for (int j = 0; j < jspRegions.length; j++) {
-							jspRegion = (ITextRegion) jspRegions[j];
-							if (jspRegion.getType() == DOMJSPRegionContexts.JSP_CLOSE) {
-								if (sdRegion.getStartOffset(jspRegion) == documentPosition)
-									return getJSPJavaCompletionProposals(viewer, documentPosition);
-							}
-						}
-					}
-				}
-
-			}
-		}
-
-		// check if it's in an attribute value, if so, don't add CDATA
-		// proposal
-		ITextRegion attrContainer = (fn != null) ? fn.getRegionAtCharacterOffset(documentPosition) : null;
-		if (attrContainer != null && attrContainer instanceof ITextRegionContainer) {
-			if (attrContainer.getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_VALUE) {
-				// test location of the cursor
-				// return null if it's in the middle of an open/close
-				// delimeter
-				Iterator attrRegions = ((ITextRegionContainer) attrContainer).getRegions().iterator();
-				ITextRegion testRegion = null;
-				while (attrRegions.hasNext()) {
-					testRegion = (ITextRegion) attrRegions.next();
-					// need to check for other valid attribute regions
-					if (XMLContentAssistUtilities.isJSPOpenDelimiter(testRegion.getType())) {
-						if (!(((ITextRegionContainer) attrContainer).getEndOffset(testRegion) <= documentPosition))
-							return EMPTY_PROPOSAL_SET;
-					} else if (XMLContentAssistUtilities.isJSPCloseDelimiter(testRegion.getType())) {
-						if (!(((ITextRegionContainer) attrContainer).getStartOffset(testRegion) >= documentPosition))
-							return EMPTY_PROPOSAL_SET;
-					}
-				}
-				// TODO: handle non-Java code such as nested tags
-				if (testRegion.getType().equals(DOMJSPRegionContexts.JSP_CONTENT))
-					return getJSPJavaCompletionProposals(viewer, documentPosition);
-				return EMPTY_PROPOSAL_SET;
-			}
-		}
-
-		IContentAssistProcessor p = (IContentAssistProcessor) fPartitionToProcessorMap.get(partitionType);
-		if (p != null) {
-			embeddedResults = p.computeCompletionProposals(viewer, documentPosition);
-			// get bean methods, objects, and constants if there are any...
-			if (partitionType == IJSPPartitionTypes.JSP_CONTENT_JAVASCRIPT || partitionType == IHTMLPartitionTypes.SCRIPT) {
-				ICompletionProposal[] beanResults = getJSPJavaBeanProposals(viewer, documentPosition);
-				if (beanResults != null && beanResults.length > 0) {
-					ICompletionProposal[] added = new ICompletionProposal[beanResults.length + embeddedResults.length];
-					System.arraycopy(beanResults, 0, added, 0, beanResults.length);
-					System.arraycopy(embeddedResults, 0, added, beanResults.length, embeddedResults.length);
-					embeddedResults = added;
-				}
-			}
-		} else {
-			// the partition type is probably not mapped
-		}
-
-		// fix for CMVC 253000
-		if (!(p instanceof JavaScriptContentAssistProcessor || p instanceof CSSContentAssistProcessor)) {
-			fTemplateContexts.clear();
-			jspResults = super.computeCompletionProposals(viewer, documentPosition);
-		}
-		if (useEmbeddedResults) {
-			if (embeddedResults != null && embeddedResults.length > 0) {
-				List results = new ArrayList();
-				for (int i = 0; i < embeddedResults.length; i++)
-					results.add(embeddedResults[i]);
-				if (jspResults != null) {
-					for (int i = 0; i < jspResults.length; i++)
-						results.add(jspResults[i]);
-				}
-				jspResults = new ICompletionProposal[results.size()];
-				Collections.sort(results, new ProposalComparator());
-				for (int i = 0; i < results.size(); i++)
-					jspResults[i] = (ICompletionProposal) results.get(i);
-
-			}
-		}
-		if (jspResults == null)
-			jspResults = EMPTY_PROPOSAL_SET;
-		setErrorMessage(jspResults.length == 0 ? UNKNOWN_CONTEXT : null);
-
-		// CMVC 269718
-		// check for |<%-- --%> first position of jsp comment
-		if (partitionType == IJSPPartitionTypes.JSP_COMMENT) {
-			if (sdRegion.getStartOffset() == documentPosition) {
-				ICompletionProposal[] htmlResults = getHTMLCompletionProposals(viewer, documentPosition);
-				jspResults = merge(jspResults, htmlResults);
-			}
-		}
-		return jspResults;
-	}
-
-	/**
-	 * Adds 2 arrays of ICompletionProposals and sorts them with a
-	 * ProposalComparator.
-	 * 
-	 * @param jspResults
-	 * @param htmlResults
-	 * @return
-	 */
-	private ICompletionProposal[] merge(ICompletionProposal[] jspResults, ICompletionProposal[] htmlResults) {
-		List results = new ArrayList();
-		List jsps = Arrays.asList(jspResults);
-		List htmls = Arrays.asList(htmlResults);
-
-		results.addAll(jsps);
-		results.addAll(htmls);
-
-		Collections.sort(results, new ProposalComparator());
-		return (ICompletionProposal[]) results.toArray(new ICompletionProposal[results.size()]);
-	}
-
-	/*
-	 * This method will return JSPJava Proposals that are relevant to any java
-	 * beans that in scope at the documentPosition
-	 * 
-	 * TODO (pa) are taglib vars getting filtered?
-	 * 
-	 * @param viewer @param documentPosition @return ICompletionProposal[]
-	 */
-	private ICompletionProposal[] getJSPJavaBeanProposals(ITextViewer viewer, int documentPosition) {
-		ICompletionProposal[] regularJSPResults = getJSPJavaCompletionProposals(viewer, documentPosition);
-		Vector filteredProposals = new Vector();
-		ICompletionProposal[] finalResults = EMPTY_PROPOSAL_SET;
-		for (int i = 0; i < regularJSPResults.length; i++) {
-			ICompletionProposal test = regularJSPResults[i];
-
-			System.out.println("proposal > " + test.getDisplayString()); //$NON-NLS-1$
-			System.out.println("relevance > " + ((CustomCompletionProposal) test).getRelevance()); //$NON-NLS-1$
-
-			if (isRelevanceAllowed(((CustomCompletionProposal) test).getRelevance())) {
-				filteredProposals.add(test);
-			}
-		}
-		if (filteredProposals.size() > 0) {
-			finalResults = new ICompletionProposal[filteredProposals.size()];
-			Iterator it = filteredProposals.iterator();
-			int j = 0;
-			while (it.hasNext()) {
-				finalResults[j++] = (ICompletionProposal) it.next();
-			}
-		}
-		return finalResults;
-	}
-
-	// These are the only things I'm allowing for use bean if the language is
-	// JAVASCRIPT
-	// I'm filtering based on JavaContentAssistProposal relevance
-	//
-	// 485 > method that belongs to the bean
-	// 486 > bean object
-	// 386 > bean CONSTANT
-	private boolean isRelevanceAllowed(int relevance) {
-		return (relevance == 485 || relevance == 486 || relevance == 326);
-	}
-
-
-	/**
-	 * 
-	 * @param viewer
-	 * @param documentPosition
-	 * @return ICompletionProposal[]
-	 */
-	private ICompletionProposal[] getHTMLCompletionProposals(ITextViewer viewer, int documentPosition) {
-
-		IContentAssistProcessor p = (IContentAssistProcessor) fPartitionToProcessorMap.get(IHTMLPartitionTypes.HTML_DEFAULT);
-		return p.computeCompletionProposals(viewer, documentPosition);
-	}
-
-	/**
-	 * 
-	 * @param viewer
-	 * @param documentPosition
-	 * @return ICompletionProposal[]
-	 */
-	protected ICompletionProposal[] getJSPJavaCompletionProposals(ITextViewer viewer, int documentPosition) {
-		JSPJavaContentAssistProcessor p = (JSPJavaContentAssistProcessor) fPartitionToProcessorMap.get(IJSPPartitionTypes.JSP_DEFAULT);
-		p.initialize(fResource);
-		return p.computeCompletionProposals(viewer, documentPosition);
-	}
-
-	/**
-	 * @param viewer
-	 * @param documentPosition
-	 * @return String
-	 */
-	protected String getPartitionType(StructuredTextViewer viewer, int documentPosition) {
-		String partitionType = null;
-		try {
-			partitionType = TextUtilities.getContentType(viewer.getDocument(), IStructuredPartitioning.DEFAULT_STRUCTURED_PARTITIONING, viewer.modelOffset2WidgetOffset(documentPosition), false);
-		} catch (BadLocationException e) {
-			partitionType = IDocument.DEFAULT_CONTENT_TYPE;
-		}
-		return partitionType;
-	}
-
-	/*
-	 * ** TEMP WORKAROUND FOR CMVC 241882 Takes a String and blocks out
-	 * jsp:scriptlet, jsp:expression, and jsp:declaration @param blockText
-	 * @return
-	 */
-	private IStructuredDocumentRegion decodeScriptBlock(String blockText) {
-		XMLSourceParser parser = new XMLSourceParser();
-		// use JSP_CONTENT for region type
-		parser.addBlockMarker(new BlockMarker("jsp:scriptlet", null, DOMJSPRegionContexts.JSP_CONTENT, false, false)); //$NON-NLS-1$
-		parser.addBlockMarker(new BlockMarker("jsp:expression", null, DOMJSPRegionContexts.JSP_CONTENT, false, false)); //$NON-NLS-1$
-		parser.addBlockMarker(new BlockMarker("jsp:declaration", null, DOMJSPRegionContexts.JSP_CONTENT, false, false)); //$NON-NLS-1$
-		parser.reset(blockText);
-		return parser.getDocumentRegions();
-	}
-
-	/*
-	 * @see ContentAssistAdapter#computeContextInformation(ITextViewer, int,
-	 *      IndexedRegion)
-	 */
-	public IContextInformation[] computeContextInformation(ITextViewer viewer, int documentOffset, IndexedRegion indexedNode) {
-		return super.computeContextInformation(viewer, documentOffset);
-	}
-
-	/*
-	 * @see ContentAssistAdapter#getContextInformationAutoActivationCharacters()
-	 */
-	public char[] getContextInformationAutoActivationCharacters() {
-		return super.getContextInformationAutoActivationCharacters();
-	}
-
-
-	public char[] getCompletionProposalAutoActivationCharacters() {
-		IPreferenceStore store = JSPUIPlugin.getDefault().getPreferenceStore();
-		String key = JSPUIPreferenceNames.AUTO_PROPOSE_CODE;
-
-		String chars = store.getString(key);
-		return (chars != null) ? chars.toCharArray() : new char[0];
-	}
-
-	/*
-	 * @see ContentAssistAdapter#getContextInformationValidator()
-	 */
-	public IContextInformationValidator getContextInformationValidator() {
-		return super.getContextInformationValidator();
-	}
-
-	/*
-	 * @see ContentAssistAdapter#initialize(IResource)
-	 */
-	public void initialize(IResource resourceToInit) {
-		fResource = resourceToInit;
-		if (fNameToProcessorMap != null) {
-
-			if (fNameToProcessorMap.isEmpty())
-				initNameToProcessorMap();
-
-			// init some embedded processors
-			JSPUseBeanContentAssistProcessor useBeanProcessor = (JSPUseBeanContentAssistProcessor) fNameToProcessorMap.get(JSP11Namespace.ElementName.USEBEAN);
-			JSPPropertyContentAssistProcessor propProcessor = (JSPPropertyContentAssistProcessor) fNameToProcessorMap.get(JSP11Namespace.ElementName.SETPROPERTY);
-			useBeanProcessor.initialize(resourceToInit);
-			propProcessor.initialize(resourceToInit);
-		}
-		if (fPartitionToProcessorMap != null) {
-			if (fPartitionToProcessorMap.isEmpty())
-				initPartitionToProcessorMap();
-		}
-	}
-
-	protected boolean isXMLFormat(Document doc) {
-		if (doc == null)
-			return false;
-		Element docElement = doc.getDocumentElement();
-		return docElement != null && ((docElement.getNodeName().equals("jsp:root")) || ((((IDOMNode) docElement).getStartStructuredDocumentRegion() == null && ((IDOMNode) docElement).getEndStructuredDocumentRegion() == null))); //$NON-NLS-1$
-	}
-
-	/*
-	 * @see ContentAssistAdapter#release()
-	 */
-	public void release() {
-		super.release();
-		// release *ContentAssistProcessors in maps
-		// CMVC 254023
-		releasePartitionToProcessorMap();
-		releaseNameToProcessorMap();
-	}
-
-	protected void releasePartitionToProcessorMap() {
-		releaseMap(fPartitionToProcessorMap);
-	}
-
-	protected void releaseNameToProcessorMap() {
-		releaseMap(fNameToProcessorMap);
-	}
-
-	protected void releaseMap(HashMap map) {
-		if (map != null) {
-			if (!map.isEmpty()) {
-				Iterator it = map.keySet().iterator();
-				Object key = null;
-				while (it.hasNext()) {
-					key = it.next();
-					if (map.get(key) instanceof IReleasable ) {
-						((IReleasable) map.get(key)).release();
-					}
-				}
-			}
-			map.clear();
-			map = null;
-		}
-	}
-
-	/**
-	 * @see AbstractContentAssistProcessor#computeCompletionProposals(int,
-	 *      String, ITextRegion, IDOMNode, IDOMNode)
-	 */
-	protected ContentAssistRequest computeCompletionProposals(int documentPosition, String matchString, ITextRegion completionRegion, IDOMNode treeNode, IDOMNode xmlnode) {
-
-		ContentAssistRequest request = super.computeCompletionProposals(documentPosition, matchString, completionRegion, treeNode, xmlnode);
-		IStructuredDocumentRegion sdRegion = ContentAssistUtils.getStructuredDocumentRegion((StructuredTextViewer) fTextViewer, documentPosition);
-
-		Document doc = null;
-		if (xmlnode != null) {
-			if (xmlnode.getNodeType() == Node.DOCUMENT_NODE)
-				doc = (Document) xmlnode;
-			else
-				doc = xmlnode.getOwnerDocument();
-		}
-		String[] directiveNames = {"page", "include", "taglib"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		// suggest JSP Expression inside of XML comments
-		if (completionRegion.getType() == DOMRegionContext.XML_COMMENT_TEXT && !isXMLFormat(doc)) {
-			if (request == null)
-				request = newContentAssistRequest(treeNode, xmlnode, sdRegion, completionRegion, documentPosition, 0, ""); //$NON-NLS-1$
-			request.addProposal(new CustomCompletionProposal("<%=  %>", documentPosition, 0, 4, JSPEditorPluginImageHelper.getInstance().getImage(JSPEditorPluginImages.IMG_OBJ_TAG_GENERIC), "jsp:expression", null, "&lt;%= %&gt;", XMLRelevanceConstants.R_JSP)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		}
-		// handle proposals in and around JSP_DIRECTIVE_OPEN and
-		// JSP_DIRECTIVE_NAME
-		else if ((completionRegion.getType() == DOMJSPRegionContexts.JSP_DIRECTIVE_OPEN && documentPosition >= sdRegion.getTextEndOffset(completionRegion)) || (completionRegion.getType() == DOMJSPRegionContexts.JSP_DIRECTIVE_NAME && documentPosition <= sdRegion.getTextEndOffset(completionRegion))) {
-			if (completionRegion.getType() == DOMJSPRegionContexts.JSP_DIRECTIVE_OPEN) {
-				if (request == null)
-					request = newContentAssistRequest(xmlnode, xmlnode, sdRegion, completionRegion, documentPosition, 0, matchString);
-				Iterator regions = sdRegion.getRegions().iterator();
-				String nameString = null;
-				int begin = request.getReplacementBeginPosition();
-				int length = request.getReplacementLength();
-				while (regions.hasNext()) {
-					ITextRegion region = (ITextRegion) regions.next();
-					if (region.getType() == DOMJSPRegionContexts.JSP_DIRECTIVE_NAME) {
-						nameString = sdRegion.getText(region);
-						begin = sdRegion.getStartOffset(region);
-						length = region.getTextLength();
-						break;
-					}
-				}
-				if (nameString == null)
-					nameString = ""; //$NON-NLS-1$
-				for (int i = 0; i < directiveNames.length; i++) {
-					if (directiveNames[i].startsWith(nameString) || documentPosition <= begin)
-						request.addProposal(new CustomCompletionProposal(directiveNames[i], begin, length, directiveNames[i].length(), JSPEditorPluginImageHelper.getInstance().getImage(JSPEditorPluginImages.IMG_OBJ_TAG_GENERIC), directiveNames[i], null, null, XMLRelevanceConstants.R_JSP));
-				}
-			} else { // by default, JSP_DIRECTIVE_NAME
-				if (request == null)
-					request = newContentAssistRequest(xmlnode, xmlnode, sdRegion, completionRegion, sdRegion.getStartOffset(completionRegion), completionRegion.getTextLength(), matchString);
-				for (int i = 0; i < directiveNames.length; i++) {
-					if (directiveNames[i].startsWith(matchString))
-						request.addProposal(new CustomCompletionProposal(directiveNames[i], request.getReplacementBeginPosition(), request.getReplacementLength(), directiveNames[i].length(), JSPEditorPluginImageHelper.getInstance().getImage(JSPEditorPluginImages.IMG_OBJ_TAG_GENERIC), directiveNames[i], null, null, XMLRelevanceConstants.R_JSP));
-				}
-			}
-		} else if ((completionRegion.getType() == DOMJSPRegionContexts.JSP_DIRECTIVE_NAME && documentPosition > sdRegion.getTextEndOffset(completionRegion)) || (completionRegion.getType() == DOMJSPRegionContexts.JSP_DIRECTIVE_CLOSE && documentPosition <= sdRegion.getStartOffset(completionRegion))) {
-			if (request == null)
-				request = computeAttributeProposals(documentPosition, matchString, completionRegion, treeNode, xmlnode);
-			super.addTagCloseProposals(request);
-			// CMVC 274033, this is being added for all <jsp:* tags
-			// in addAttributeNameProposals(contentAssistRequest)
-			// super.addAttributeNameProposals(request);
-		}
-		// no name?: <%@ %>
-		else if (completionRegion.getType() == DOMJSPRegionContexts.JSP_DIRECTIVE_CLOSE && documentPosition <= sdRegion.getStartOffset(completionRegion)) {
-			if (request != null)
-				request = computeAttributeProposals(documentPosition, matchString, completionRegion, treeNode, xmlnode);
-			Iterator regions = sdRegion.getRegions().iterator();
-			String nameString = null;
-			while (regions.hasNext()) {
-				ITextRegion region = (ITextRegion) regions.next();
-				if (region.getType() == DOMJSPRegionContexts.JSP_DIRECTIVE_NAME) {
-					nameString = sdRegion.getText(region);
-					break;
-				}
-			}
-			if (nameString == null) {
-				for (int i = 0; i < directiveNames.length; i++) {
-					request.addProposal(new CustomCompletionProposal(directiveNames[i], request.getReplacementBeginPosition(), request.getReplacementLength(), directiveNames[i].length(), JSPEditorPluginImageHelper.getInstance().getImage(JSPEditorPluginImages.IMG_OBJ_TAG_GENERIC), directiveNames[i], null, null, XMLRelevanceConstants.R_JSP));
-				}
-			}
-		}
-		
-		addTemplates(request, TemplateContextTypeIdsJSP.ALL);
-		return request;
-	}
-
-	private JSPTemplateCompletionProcessor getTemplateCompletionProcessor() {
-		if (fTemplateProcessor == null) {
-			fTemplateProcessor = new JSPTemplateCompletionProcessor();
-		}
-		return fTemplateProcessor;
-	}
-
-	/**
-	 * Adds templates to the list of proposals
-	 * 
-	 * @param contentAssistRequest
-	 * @param context
-	 */
-	private void addTemplates(ContentAssistRequest contentAssistRequest, String context) {
-		if (contentAssistRequest == null)
-			return;
-		
-		// if already adding template proposals for a certain context type, do
-		// not add again
-		if (!fTemplateContexts.contains(context)) {
-			fTemplateContexts.add(context);
-			boolean useProposalList = !contentAssistRequest.shouldSeparate();
-
-			if (getTemplateCompletionProcessor() != null) {
-				getTemplateCompletionProcessor().setContextType(context);
-				ICompletionProposal[] proposals = getTemplateCompletionProcessor().computeCompletionProposals(fTextViewer, contentAssistRequest.getReplacementBeginPosition());
-				for (int i = 0; i < proposals.length; ++i) {
-					if (useProposalList)
-						contentAssistRequest.addProposal(proposals[i]);
-					else
-						contentAssistRequest.addMacro(proposals[i]);
-				}
-			}
-		}
-	}
-
-
-	protected void addEntityProposals(ContentAssistRequest contentAssistRequest, int documentPosition, ITextRegion completionRegion, IDOMNode treeNode) {
-		// ignore
-	}
-
-	protected void addTagInsertionProposals(ContentAssistRequest contentAssistRequest, int childPosition) {
-		addTemplates(contentAssistRequest, TemplateContextTypeIdsJSP.TAG);
-
-		super.addTagInsertionProposals(contentAssistRequest, childPosition);
-		if (isInternalAdapter)
-			useEmbeddedResults = false;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPDummyContentAssistProcessor.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPDummyContentAssistProcessor.java
deleted file mode 100644
index 8bf1b06..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPDummyContentAssistProcessor.java
+++ /dev/null
@@ -1,326 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.contentassist;
-
-
-
-import java.util.List;
-import java.util.Properties;
-import java.util.Vector;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.jface.text.contentassist.IContextInformation;
-import org.eclipse.jface.text.contentassist.IContextInformationValidator;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion;
-import org.eclipse.wst.sse.ui.internal.contentassist.IResourceDependentProcessor;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMContent;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMNode;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-import org.eclipse.wst.xml.ui.internal.contentassist.AbstractContentAssistProcessor;
-import org.eclipse.wst.xml.ui.internal.contentassist.ContentAssistRequest;
-import org.eclipse.wst.xml.ui.internal.contentassist.XMLContentModelGenerator;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * This class is a "null" version of AbstractContentAssistProcessor
- * 
- * @plannedfor 1.0
- */
-public class JSPDummyContentAssistProcessor extends AbstractContentAssistProcessor implements IResourceDependentProcessor {
-
-	IResource fResource = null;
-
-
-	protected void addAttributeNameProposals(ContentAssistRequest contentAssistRequest) {
-		super.addAttributeNameProposals(contentAssistRequest);
-	}
-
-
-	protected void addAttributeValueProposals(ContentAssistRequest contentAssistRequest) {
-		super.addAttributeValueProposals(contentAssistRequest);
-	}
-
-
-	protected void addCommentProposal(ContentAssistRequest contentAssistRequest) {
-		super.addCommentProposal(contentAssistRequest);
-	}
-
-
-	protected void addContent(List contentList, CMContent content) {
-		super.addContent(contentList, content);
-	}
-
-
-	protected void addDocTypeProposal(ContentAssistRequest contentAssistRequest) {
-		super.addDocTypeProposal(contentAssistRequest);
-	}
-
-
-	protected void addEmptyDocumentProposals(ContentAssistRequest contentAssistRequest) {
-		super.addEmptyDocumentProposals(contentAssistRequest);
-	}
-
-
-	protected void addEndTagNameProposals(ContentAssistRequest contentAssistRequest) {
-		super.addEndTagNameProposals(contentAssistRequest);
-	}
-
-
-	protected void addEndTagProposals(ContentAssistRequest contentAssistRequest) {
-		super.addEndTagProposals(contentAssistRequest);
-	}
-
-
-	protected void addEntityProposals(ContentAssistRequest contentAssistRequest, int documentPosition, ITextRegion completionRegion, IDOMNode treeNode) {
-		super.addEntityProposals(contentAssistRequest, documentPosition, completionRegion, treeNode);
-	}
-
-
-	protected void addEntityProposals(Vector proposals, Properties map, String key, int nodeOffset, IStructuredDocumentRegion parent, ITextRegion completionRegion) {
-		super.addEntityProposals(proposals, map, key, nodeOffset, parent, completionRegion);
-	}
-
-
-	protected void addPCDATAProposal(String nodeName, ContentAssistRequest contentAssistRequest) {
-		super.addPCDATAProposal(nodeName, contentAssistRequest);
-	}
-
-
-	protected void addStartDocumentProposals(ContentAssistRequest contentAssistRequest) {
-		super.addStartDocumentProposals(contentAssistRequest);
-	}
-
-
-	protected void addTagCloseProposals(ContentAssistRequest contentAssistRequest) {
-		super.addTagCloseProposals(contentAssistRequest);
-	}
-
-
-	protected void addTagInsertionProposals(ContentAssistRequest contentAssistRequest, int childPosition) {
-		super.addTagInsertionProposals(contentAssistRequest, childPosition);
-	}
-
-
-	protected void addTagNameProposals(ContentAssistRequest contentAssistRequest, int childPosition) {
-		super.addTagNameProposals(contentAssistRequest, childPosition);
-	}
-
-
-	protected void addXMLProposal(ContentAssistRequest contentAssistRequest) {
-		super.addXMLProposal(contentAssistRequest);
-	}
-
-
-	protected boolean attributeInList(IDOMNode node, Node parent, CMNode cmnode) {
-		return super.attributeInList(node, parent, cmnode);
-	}
-
-
-	protected boolean beginsWith(String aString, String prefix) {
-		return super.beginsWith(aString, prefix);
-	}
-
-
-	protected ContentAssistRequest computeAttributeProposals(int documentPosition, String matchString, ITextRegion completionRegion, IDOMNode nodeAtOffset, IDOMNode node) {
-		return super.computeAttributeProposals(documentPosition, matchString, completionRegion, nodeAtOffset, node);
-	}
-
-
-	protected ContentAssistRequest computeAttributeValueProposals(int documentPosition, String matchString, ITextRegion completionRegion, IDOMNode nodeAtOffset, IDOMNode node) {
-		return super.computeAttributeValueProposals(documentPosition, matchString, completionRegion, nodeAtOffset, node);
-	}
-
-
-	protected ContentAssistRequest computeCompletionProposals(int documentPosition, String matchString, ITextRegion completionRegion, IDOMNode treeNode, IDOMNode xmlnode) {
-		return super.computeCompletionProposals(documentPosition, matchString, completionRegion, treeNode, xmlnode);
-	}
-
-
-	public ICompletionProposal[] computeCompletionProposals(ITextViewer viewer, int documentOffset) {
-		return super.computeCompletionProposals(viewer, documentOffset);
-	}
-
-
-	protected ContentAssistRequest computeContentProposals(int documentPosition, String matchString, ITextRegion completionRegion, IDOMNode nodeAtOffset, IDOMNode node) {
-		return super.computeContentProposals(documentPosition, matchString, completionRegion, nodeAtOffset, node);
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.contentassist.IContentAssistProcessor#computeContextInformation(org.eclipse.jface.text.ITextViewer, int)
-	 */
-	public IContextInformation[] computeContextInformation(ITextViewer viewer, int documentOffset) {
-		return super.computeContextInformation(viewer, documentOffset);
-	}
-
-
-	protected ContentAssistRequest computeEndTagOpenProposals(int documentPosition, String matchString, ITextRegion completionRegion, IDOMNode nodeAtOffset, IDOMNode node) {
-		return super.computeEndTagOpenProposals(documentPosition, matchString, completionRegion, nodeAtOffset, node);
-	}
-
-	protected ICompletionProposal[] computeEntityReferenceProposals(int documentPosition, ITextRegion completionRegion, IDOMNode treeNode) {
-		return super.computeEntityReferenceProposals(documentPosition, completionRegion, treeNode);
-	}
-
-	protected ContentAssistRequest computeEqualsProposals(int documentPosition, String matchString, ITextRegion completionRegion, IDOMNode nodeAtOffset, IDOMNode node) {
-		return super.computeEqualsProposals(documentPosition, matchString, completionRegion, nodeAtOffset, node);
-	}
-
-	protected ContentAssistRequest computeStartDocumentProposals(int documentPosition, String matchString, ITextRegion completionRegion, IDOMNode nodeAtOffset, IDOMNode node) {
-		return super.computeStartDocumentProposals(documentPosition, matchString, completionRegion, nodeAtOffset, node);
-	}
-
-	protected ContentAssistRequest computeTagCloseProposals(int documentPosition, String matchString, ITextRegion completionRegion, IDOMNode nodeAtOffset, IDOMNode node) {
-		return super.computeTagCloseProposals(documentPosition, matchString, completionRegion, nodeAtOffset, node);
-	}
-
-	protected ContentAssistRequest computeTagNameProposals(int documentPosition, String matchString, ITextRegion completionRegion, IDOMNode nodeAtOffset, IDOMNode node) {
-		return super.computeTagNameProposals(documentPosition, matchString, completionRegion, nodeAtOffset, node);
-	}
-
-	protected ContentAssistRequest computeTagOpenProposals(int documentPosition, String matchString, ITextRegion completionRegion, IDOMNode nodeAtOffset, IDOMNode node) {
-		return super.computeTagOpenProposals(documentPosition, matchString, completionRegion, nodeAtOffset, node);
-	}
-
-	protected String getAdditionalInfo(CMNode parentOrOwner, CMNode cmnode) {
-		return super.getAdditionalInfo(parentOrOwner, cmnode);
-	}
-
-	protected List getAvailableChildrenAtIndex(Element parent, int index) {
-		return super.getAvailableChildrenAtIndex(parent, index);
-	}
-
-	protected List getAvailableRootChildren(Document document, int childIndex) {
-		return super.getAvailableRootChildren(document, childIndex);
-	}
-
-	protected CMElementDeclaration getCMElementDeclaration(Node node) {
-		return super.getCMElementDeclaration(node);
-	}
-
-	public char[] getCompletionProposalAutoActivationCharacters() {
-		return super.getCompletionProposalAutoActivationCharacters();
-	}
-
-	protected ITextRegion getCompletionRegion(int offset, IStructuredDocumentRegion flatNode) {
-		return super.getCompletionRegion(offset, flatNode);
-	}
-
-	protected ITextRegion getCompletionRegion(int documentPosition, Node domnode) {
-		return super.getCompletionRegion(documentPosition, domnode);
-	}
-
-	public XMLContentModelGenerator getContentGenerator() {
-		return super.getContentGenerator();
-	}
-
-	public char[] getContextInformationAutoActivationCharacters() {
-		return super.getContextInformationAutoActivationCharacters();
-	}
-
-	public IContextInformationValidator getContextInformationValidator() {
-		return super.getContextInformationValidator();
-	}
-
-	protected int getElementPosition(Node child) {
-		return super.getElementPosition(child);
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.contentassist.IContentAssistProcessor#getErrorMessage()
-	 */
-	public String getErrorMessage() {
-		return super.getErrorMessage();
-	}
-
-	protected String getMatchString(IStructuredDocumentRegion parent, ITextRegion aRegion, int offset) {
-		return super.getMatchString(parent, aRegion, offset);
-	}
-
-
-	protected ITextRegion getNameRegion(IStructuredDocumentRegion flatNode) {
-		return super.getNameRegion(flatNode);
-	}
-
-
-	protected List getPossibleDataTypeValues(Node node, CMAttributeDeclaration ad) {
-		return super.getPossibleDataTypeValues(node, ad);
-	}
-
-	protected String getRequiredName(Node parentOrOwner, CMNode cmnode) {
-		return super.getRequiredName(parentOrOwner, cmnode);
-	}
-
-	protected String getRequiredText(Node parentOrOwner, CMAttributeDeclaration attrDecl) {
-		return super.getRequiredText(parentOrOwner, attrDecl);
-	}
-
-	protected String getRequiredText(Node parentOrOwner, CMElementDeclaration elementDecl) {
-		return super.getRequiredText(parentOrOwner, elementDecl);
-	}
-
-	protected List getValidCMNodes(int childPosition, int kindOfAction, List modelQueryActions) {
-		return super.getValidCMNodes(childPosition, kindOfAction, modelQueryActions);
-	}
-
-	protected void init() {
-		super.init();
-	}
-
-	public void initialize(IResource iResource) {
-		fResource = iResource;
-	}
-
-	protected boolean isCloseRegion(ITextRegion region) {
-		return super.isCloseRegion(region);
-	}
-
-	protected boolean isNameRegion(ITextRegion region) {
-		return super.isNameRegion(region);
-	}
-
-	protected boolean isQuote(String string) {
-		return super.isQuote(string);
-	}
-
-	protected Properties mapToProperties(CMNamedNodeMap map) {
-		return super.mapToProperties(map);
-	}
-
-
-	public void release() {
-		super.release();
-	}
-
-	protected void setErrorMessage(String errorMessage, String prepend, String append) {
-		super.setErrorMessage(errorMessage, prepend, append);
-	}
-
-	protected void setErrorMessage(String errorMessage, String append) {
-		super.setErrorMessage(errorMessage, append);
-	}
-
-	public void setErrorMessage(String errorMessage) {
-		super.setErrorMessage(errorMessage);
-	}
-
-	protected boolean stringsEqual(String a, String b) {
-		return super.stringsEqual(a, b);
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPELCompletionProcessor.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPELCompletionProcessor.java
deleted file mode 100644
index a9efea0..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPELCompletionProcessor.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package org.eclipse.jst.jsp.ui.internal.contentassist;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslation;
-
-public class JSPELCompletionProcessor extends JSPCompletionProcessor {
-
-	public JSPELCompletionProcessor(IResource resource) {
-		super(resource);
-	}
-
-	protected JSPProposalCollector getProposalCollector(ICompilationUnit cu, JSPTranslation translation) {
-		return new JSPELProposalCollector(cu, translation);
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPELContentAssistProcessor.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPELContentAssistProcessor.java
deleted file mode 100644
index 64f89e1..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPELContentAssistProcessor.java
+++ /dev/null
@@ -1,144 +0,0 @@
-package org.eclipse.jst.jsp.ui.internal.contentassist;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.jst.jsp.core.internal.contentmodel.TaglibController;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.CMDocumentImpl;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.TaglibTracker;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDFunction;
-import org.eclipse.jst.jsp.core.internal.java.jspel.ASTExpression;
-import org.eclipse.jst.jsp.core.internal.java.jspel.ASTFunctionInvocation;
-import org.eclipse.jst.jsp.core.internal.java.jspel.FindFunctionInvocationVisitor;
-import org.eclipse.jst.jsp.core.internal.java.jspel.JSPELParser;
-import org.eclipse.jst.jsp.core.internal.java.jspel.JSPELParserConstants;
-import org.eclipse.jst.jsp.core.internal.java.jspel.JSPELParserTokenManager;
-import org.eclipse.jst.jsp.core.internal.java.jspel.ParseException;
-import org.eclipse.jst.jsp.core.internal.java.jspel.SimpleCharStream;
-import org.eclipse.jst.jsp.core.internal.java.jspel.Token;
-import org.eclipse.jst.jsp.core.internal.regions.DOMJSPRegionContexts;
-import org.eclipse.wst.sse.core.internal.provisional.IndexedRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegionContainer;
-import org.eclipse.wst.sse.ui.internal.StructuredTextViewer;
-import org.eclipse.wst.sse.ui.internal.contentassist.ContentAssistUtils;
-import org.eclipse.wst.sse.ui.internal.contentassist.CustomCompletionProposal;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-import org.eclipse.wst.xml.core.internal.regions.DOMRegionContext;
-
-public class JSPELContentAssistProcessor extends JSPJavaContentAssistProcessor {
-	protected char elCompletionProposalAutoActivationCharacters[] = new char[]{'.', ':'};
-
-	protected JSPCompletionProcessor getJspCompletionProcessor() {
-		if (fJspCompletionProcessor == null) {
-			fJspCompletionProcessor = new JSPELCompletionProcessor(fResource);
-			fJspCompletionProcessor.initialize(fResource);
-		}
-		return fJspCompletionProcessor;
-	}
-
-	public ICompletionProposal[] computeCompletionProposals(ITextViewer viewer, int documentPosition) {
-		IndexedRegion treeNode = ContentAssistUtils.getNodeAt((StructuredTextViewer) viewer, documentPosition);
-		
-		// get results from JSP completion processor	
-		fJspCompletionProcessor = getJspCompletionProcessor();
-		ICompletionProposal[] results = fJspCompletionProcessor.computeCompletionProposals(viewer, documentPosition);
-		fErrorMessage = fJspCompletionProcessor.getErrorMessage();
-		if (results.length == 0 && (fErrorMessage == null || fErrorMessage.length() == 0)) {
-			fErrorMessage = UNKNOWN_CONTEXT;
-		}
-		
-		IDOMNode xNode = null;
-		IStructuredDocumentRegion flat = null;
-		if (treeNode instanceof IDOMNode) {
-			xNode = (IDOMNode) treeNode;
-			flat = xNode.getFirstStructuredDocumentRegion();
-			if (flat != null) {
-				ITextRegion cursorRegion = flat.getRegionAtCharacterOffset(documentPosition);
-				if(DOMRegionContext.XML_TAG_ATTRIBUTE_VALUE == cursorRegion.getType()) {
-					ITextRegionContainer container = (ITextRegionContainer)cursorRegion;
-					cursorRegion = container.getRegionAtCharacterOffset(documentPosition);
-					if(cursorRegion.getType() == DOMJSPRegionContexts.JSP_EL_CONTENT) {
-						String elText = container.getText(cursorRegion).trim();
-						String prefix =  getPrefix(documentPosition - container.getStartOffset(cursorRegion) - 1, elText);
-						if(null != prefix) {
-							List proposals = getFunctionProposals(prefix, 
-									(StructuredTextViewer) viewer, documentPosition);
-							results = new ICompletionProposal[proposals.size()];
-							proposals.toArray(results);
-						}
-					}
-				}
-			}
-		}
-		
-		return results;
-	}
-	
-	protected String getPrefix(int relativePosition, String elText) {
-        java.io.StringReader reader = new java.io.StringReader(elText);
-		JSPELParserTokenManager scanner = new JSPELParserTokenManager(new SimpleCharStream(reader, 1, 1));
-		Token curToken = null, lastIdentifier = null;
-		while(JSPELParserConstants.EOF != (curToken = scanner.getNextToken()).kind) {
-			if(JSPELParserConstants.COLON == curToken.kind && curToken.endColumn == relativePosition && null != lastIdentifier) {
-				return(lastIdentifier.image);
-			}
-			
-			if(JSPELParserConstants.IDENTIFIER == curToken.kind) {
-				lastIdentifier = curToken;
-			} else {
-				lastIdentifier = null;
-			}
-		}
-		return null;
-	}
-	
-	protected ASTFunctionInvocation getInvocation(int relativePosition, String elText) {
-		FindFunctionInvocationVisitor visitor = new FindFunctionInvocationVisitor(relativePosition);
-		JSPELParser parser = JSPELParser.createParser(elText);
-		try {
-			ASTExpression expression = parser.Expression();
-			return (ASTFunctionInvocation)expression.jjtAccept(visitor, null);
-		} catch (ParseException e) { /* parse exception = no completion */ }
-		return(null);
-	}
-	
-
-	public char[] getCompletionProposalAutoActivationCharacters() {
-		return elCompletionProposalAutoActivationCharacters;
-	}
-	
-	protected List getFunctionProposals(String prefix, StructuredTextViewer viewer, int offset) {
-		TLDCMDocumentManager docMgr = TaglibController.getTLDCMDocumentManager(viewer.getDocument());
-		ArrayList completionList = new ArrayList();
-		if (docMgr == null)
-			return null;
-		
-		Iterator taglibs = docMgr.getCMDocumentTrackers(offset).iterator();
-		while (taglibs.hasNext()) {
-			TaglibTracker tracker = (TaglibTracker)taglibs.next();
-			if(tracker.getPrefix().equals(prefix)) {
-				CMDocumentImpl doc = (CMDocumentImpl)tracker.getDocument();
-				
-				List functions = doc.getFunctions();
-				for(Iterator it = functions.iterator(); it.hasNext(); ) {
-					TLDFunction function = (TLDFunction)it.next();
-					CustomCompletionProposal proposal = new CustomCompletionProposal(function.getName() + "()",  //$NON-NLS-1$
-							offset, 0, 
-							function.getName().length() + 1, null, function.getName() + " - " + function.getSignature(), null, null, 1); //$NON-NLS-1$
-					
-					completionList.add(proposal);
-				}
-			}
-		}
-		return completionList;
-	}
-	
-	
-
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPELProposalCollector.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPELProposalCollector.java
deleted file mode 100644
index ecad40e..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPELProposalCollector.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package org.eclipse.jst.jsp.ui.internal.contentassist;
-
-import org.eclipse.jdt.core.CompletionProposal;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.ui.text.java.IJavaCompletionProposal;
-import org.eclipse.jface.text.contentassist.IContextInformation;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslation;
-import org.eclipse.swt.graphics.Image;
-
-public class JSPELProposalCollector extends JSPProposalCollector {
-
-	public JSPELProposalCollector(ICompilationUnit cu, JSPTranslation translation) {
-		super(cu, translation);
-	}
-
-	protected IJavaCompletionProposal createJavaCompletionProposal(CompletionProposal proposal) {
-		JSPCompletionProposal jspProposal = null;
-		
-		if(null == proposal || null == proposal.getName())
-			return(null);
-		
-		String rawName = new String(proposal.getName());
-		String completion = null;
-		
-		if(proposal.getKind() == CompletionProposal.METHOD_REF && proposal.findParameterNames(null).length == 0) {
-			if(rawName.length() > 3 && rawName.startsWith("get")) { //$NON-NLS-1$
-				completion = rawName.substring(3,4).toLowerCase() + rawName.substring(4, rawName.length());
-			} else {
-				return null;
-			}
-			
-			// java offset
-			int offset = proposal.getReplaceStart() + 1;
-			
-			// replacement length
-			int length = proposal.getReplaceEnd() - offset + 1;
-			
-			// translate offset from Java > JSP
-			offset = getTranslation().getJspOffset(offset);
-			
-			// cursor position after must be calculated
-			int positionAfter = offset + completion.length();
-				
-			// from java proposal
-			IJavaCompletionProposal javaProposal = super.createJavaCompletionProposal(proposal);
-			Image image = null;
-			String longDisplayString = javaProposal.getDisplayString();
-			int fistSpaceIndex = longDisplayString.indexOf(' ');
-			String shortDisplayString = longDisplayString;
-			
-			if(fistSpaceIndex != -1) {
-				shortDisplayString = longDisplayString.substring(fistSpaceIndex);
-			}
-				
-			String displayString = completion + " " + shortDisplayString; //$NON-NLS-1$
-			IContextInformation contextInformation = javaProposal.getContextInformation();
-			String additionalInfo = javaProposal.getAdditionalProposalInfo();
-			int relevance = javaProposal.getRelevance();
-			
-			boolean updateLengthOnValidate = true;
-			
-			jspProposal = new JSPCompletionProposal(completion, offset, length, positionAfter, image, displayString, contextInformation, additionalInfo, relevance, updateLengthOnValidate);
-			return jspProposal;
-		} else {
-			return null;
-		}
-	}
-
-//	protected void acceptMethod(char[] declaringTypePackageName, char[] declaringTypeName, char[] name, char[][] parameterPackageNames, char[][] parameterTypeNames, char[][] parameterNames, char[] returnTypePackageName, char[] returnTypeName, char[] completionName, int modifiers, int start, int end, int relevance) {
-//		String rawName = String.valueOf(name);
-//		if(parameterNames.length == 0 && rawName.length() > 3 && rawName.startsWith("get"))
-//		{
-//			String mangledName = rawName.substring(3,4).toLowerCase() + rawName.substring(4, rawName.length());
-//			super.acceptField(declaringTypePackageName, declaringTypeName, mangledName.toCharArray(), returnTypePackageName, returnTypeName, mangledName.toCharArray(), modifiers, start, end, relevance);
-//		}
-//	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPJavaContentAssistProcessor.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPJavaContentAssistProcessor.java
deleted file mode 100644
index e23d82b..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPJavaContentAssistProcessor.java
+++ /dev/null
@@ -1,247 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.contentassist;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
-import org.eclipse.jface.text.contentassist.IContextInformation;
-import org.eclipse.jface.text.contentassist.IContextInformationValidator;
-import org.eclipse.jst.jsp.core.internal.provisional.text.IJSPPartitionTypes;
-import org.eclipse.jst.jsp.core.internal.regions.DOMJSPRegionContexts;
-import org.eclipse.jst.jsp.ui.internal.JSPUIMessages;
-import org.eclipse.wst.sse.core.internal.provisional.IndexedRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegionContainer;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegionList;
-import org.eclipse.wst.sse.ui.internal.IReleasable;
-import org.eclipse.wst.sse.ui.internal.StructuredTextViewer;
-import org.eclipse.wst.sse.ui.internal.contentassist.ContentAssistUtils;
-import org.eclipse.wst.sse.ui.internal.contentassist.CustomCompletionProposal;
-import org.eclipse.wst.sse.ui.internal.contentassist.IResourceDependentProcessor;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-import org.eclipse.wst.xml.core.internal.regions.DOMRegionContext;
-import org.eclipse.wst.xml.ui.internal.contentassist.XMLRelevanceConstants;
-import org.eclipse.wst.xml.ui.internal.util.SharedXMLEditorPluginImageHelper;
-
-/**
- * @plannedfor 1.0
- */
-public class JSPJavaContentAssistProcessor implements IContentAssistProcessor, IResourceDependentProcessor, IReleasable {
-	protected IResource fResource;
-	protected char completionProposalAutoActivationCharacters[] = new char[]{'.'};
-	protected char contextInformationAutoActivationCharacters[] = null;
-	protected static final String UNKNOWN_CONTEXT = JSPUIMessages.Content_Assist_not_availab_UI_;
-	protected String fErrorMessage = null;
-	protected JSPCompletionProcessor fJspCompletionProcessor = null;
-
-	public JSPJavaContentAssistProcessor() {
-		super();
-	}
-
-	public JSPJavaContentAssistProcessor(IResource file) {
-		super();
-		fResource = file;
-	}
-
-	/**
-	 * Return a list of proposed code completions based on the
-	 * specified location within the document that corresponds
-	 * to the current cursor position within the text-editor control.
-	 *
-	 * @param documentPosition a location within the document
-	 * @return an array of code-assist items 
-	 */
-	public ICompletionProposal[] computeCompletionProposals(ITextViewer viewer, int documentPosition) {
-
-		IndexedRegion treeNode = ContentAssistUtils.getNodeAt((StructuredTextViewer) viewer, documentPosition);
-
-		// get results from JSP completion processor	
-		fJspCompletionProcessor = getJspCompletionProcessor();
-		ICompletionProposal[] results = fJspCompletionProcessor.computeCompletionProposals(viewer, documentPosition);
-		fErrorMessage = fJspCompletionProcessor.getErrorMessage();
-		if (results.length == 0 && (fErrorMessage == null || fErrorMessage.length() == 0)) {
-			fErrorMessage = UNKNOWN_CONTEXT;
-		}
-
-		IDOMNode xNode = null;
-		IStructuredDocumentRegion flat = null;
-		if (treeNode instanceof IDOMNode) {
-			xNode = (IDOMNode) treeNode;
-			flat = xNode.getFirstStructuredDocumentRegion();
-			if (flat != null && flat.getType() == DOMJSPRegionContexts.JSP_CONTENT) {
-				flat = flat.getPrevious();
-			}
-		}
-
-		// this is in case it's a <%@, it will be a region container...
-		ITextRegion openRegion = null;
-		if (flat != null && flat instanceof ITextRegionContainer) {
-			ITextRegionList v = ((ITextRegionContainer) flat).getRegions();
-			if (v.size() > 0)
-				openRegion = v.get(0);
-		}
-
-		// ADD CDATA PROPOSAL IF IT'S AN XML-JSP TAG  
-		if (flat != null && flat.getType() != DOMJSPRegionContexts.JSP_SCRIPTLET_OPEN && flat.getType() != DOMJSPRegionContexts.JSP_DECLARATION_OPEN && flat.getType() != DOMJSPRegionContexts.JSP_EXPRESSION_OPEN && flat.getType() != DOMRegionContext.BLOCK_TEXT && (openRegion != null && openRegion.getType() != DOMJSPRegionContexts.JSP_DIRECTIVE_OPEN) && !inAttributeRegion(flat, documentPosition)) {
-
-			// determine if cursor is before or after selected range
-			int adjustedDocPosition = documentPosition;
-			int realCaretPosition = viewer.getTextWidget().getCaretOffset();
-			int selectionLength = viewer.getSelectedRange().y;
-			if (documentPosition > realCaretPosition) {
-				adjustedDocPosition -= selectionLength;
-			}
-
-			CustomCompletionProposal cdataProposal = createCDATAProposal(adjustedDocPosition, selectionLength);
-			ICompletionProposal[] newResults = new ICompletionProposal[results.length + 1];
-			System.arraycopy(results, 0, newResults, 0, results.length);
-			newResults[results.length] = cdataProposal;
-			results = newResults;
-		}
-
-		// (pa) ** this is code in progress...
-		// add ending %> proposal for non closed JSP tags
-		//		String tagText = flat.getText();
-		//		// TODO need a much better compare (using constants?)
-		//		if(tagText.equals("<%") || tagText.equals("<%=") || tagText.equals("<%!"));
-		//		{
-		//			ICompletionProposal testah = ContentAssistUtils.computeJSPEndTagProposal(viewer,documentPosition, treeNode, "<%" , SharedXMLEditorPluginImageHelper.IMG_OBJ_TAG_GENERIC);
-		//			if(testah != null)
-		//			{
-		//				ICompletionProposal[] newResults = new ICompletionProposal[results.length + 1];
-		//				System.arraycopy( results, 0, newResults, 0, results.length);
-		//				newResults[results.length] = testah;
-		//				results = newResults;
-		//			}
-		//		}
-
-		return results;
-	}
-
-	private CustomCompletionProposal createCDATAProposal(int adjustedDocPosition, int selectionLength) {
-		return new CustomCompletionProposal("<![CDATA[]]>", //$NON-NLS-1$
-					adjustedDocPosition, selectionLength, // should be the selection length
-					9, SharedXMLEditorPluginImageHelper.getImage(SharedXMLEditorPluginImageHelper.IMG_OBJ_CDATASECTION), 
-					"CDATA Section", //$NON-NLS-1$
-					null, null, XMLRelevanceConstants.R_CDATA);
-	}
-
-	private boolean inAttributeRegion(IStructuredDocumentRegion flat, int documentPosition) {
-		ITextRegion attrContainer = flat.getRegionAtCharacterOffset(documentPosition);
-		if (attrContainer != null && attrContainer instanceof ITextRegionContainer) {
-			if (attrContainer.getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_VALUE) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Returns the characters which when entered by the user should
-	 * automatically trigger the presentation of possible completions.
-	 *
-	 * @return the auto activation characters for completion proposal or <code>null</code>
-	 *		if no auto activation is desired
-	 */
-	public char[] getCompletionProposalAutoActivationCharacters() {
-		return completionProposalAutoActivationCharacters;
-	}
-
-	/**
-	 * Returns the characters which when entered by the user should
-	 * automatically trigger the presentation of context information.
-	 *
-	 * @return the auto activation characters for presenting context information
-	 *		or <code>null</code> if no auto activation is desired
-	 */
-	public char[] getContextInformationAutoActivationCharacters() {
-		return contextInformationAutoActivationCharacters;
-	}
-
-	/**
-	 * Return the reason why computeProposals was not able to find any completions.
-	 *
-	 * @return an error message
-	 *   or null if no error occurred
-	 */
-	public String getErrorMessage() {
-		return fErrorMessage;
-	}
-
-	/**
-	 * @see ContentAssistAdapter#release()
-	 */
-	public void release() {
-		if (fJspCompletionProcessor != null) {
-			fJspCompletionProcessor.release();
-			fJspCompletionProcessor = null;
-		}
-		fResource = null;
-	}
-
-	/**
-	 * @see ContentAssistAdapter#initialize(IResource)
-	 */
-	public void initialize(IResource resource) {
-		fResource = resource;
-		getJspCompletionProcessor().initialize(resource);
-	}
-
-	/**
-	 * 
-	 */
-	protected JSPCompletionProcessor getJspCompletionProcessor() {
-		if (fJspCompletionProcessor == null) {
-			fJspCompletionProcessor = new JSPCompletionProcessor(fResource);
-			fJspCompletionProcessor.initialize(fResource);
-		}
-		return fJspCompletionProcessor;
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.contentassist.IContentAssistProcessor#computeContextInformation(org.eclipse.jface.text.ITextViewer, int)
-	 */
-	public IContextInformation[] computeContextInformation(ITextViewer viewer, int documentOffset) {
-		List results = new ArrayList();
-		// need to compute context info here, if it's JSP, call java computer
-		IDocumentPartitioner dp = viewer.getDocument().getDocumentPartitioner();
-		String type = dp.getPartition(documentOffset).getType();
-		if (type == IJSPPartitionTypes.JSP_DEFAULT || type == IJSPPartitionTypes.JSP_CONTENT_JAVA) {
-			// get context info from completion results...
-			ICompletionProposal[] proposals = computeCompletionProposals(viewer, documentOffset);
-			for (int i = 0; i < proposals.length; i++) {
-				IContextInformation ci = proposals[i].getContextInformation();
-				if (ci != null)
-					results.add(ci);
-			}
-		}
-		return (IContextInformation[]) results.toArray(new IContextInformation[results.size()]);
-	}
-
-	/**
-	 * Returns a validator used to determine when displayed context information
-	 * should be dismissed. May only return <code>null</code> if the processor is
-	 * incapable of computing context information.
-	 *
-	 * @return a context information validator, or <code>null</code> if the processor
-	 * 			is incapable of computing context information
-	 */
-	public IContextInformationValidator getContextInformationValidator() {
-		return new JavaParameterListValidator();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPPropertyContentAssistProcessor.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPPropertyContentAssistProcessor.java
deleted file mode 100644
index 6804391..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPPropertyContentAssistProcessor.java
+++ /dev/null
@@ -1,219 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.contentassist;
-
-
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jst.jsp.core.internal.provisional.JSP11Namespace;
-import org.eclipse.jst.jsp.ui.internal.editor.JSPEditorPluginImageHelper;
-import org.eclipse.jst.jsp.ui.internal.editor.JSPEditorPluginImages;
-import org.eclipse.wst.sse.core.internal.provisional.IndexedRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegionContainer;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegionList;
-import org.eclipse.wst.sse.core.internal.util.StringUtils;
-import org.eclipse.wst.sse.ui.internal.contentassist.CustomCompletionProposal;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-import org.eclipse.wst.xml.core.internal.regions.DOMRegionContext;
-import org.eclipse.wst.xml.ui.internal.contentassist.ContentAssistRequest;
-import org.eclipse.wst.xml.ui.internal.contentassist.XMLRelevanceConstants;
-import org.eclipse.wst.xml.ui.internal.util.SharedXMLEditorPluginImageHelper;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * This class computes attribute value completion proposals for &lt;jsp:[gs]etProperty&gt; tags.
- * @plannedfor 1.0
- */
-public class JSPPropertyContentAssistProcessor extends JSPDummyContentAssistProcessor {
-
-	protected IResource resource = null;
-
-	public JSPPropertyContentAssistProcessor() {
-		super();
-	}
-
-	protected void addAttributeValueProposals(ContentAssistRequest contentAssistRequest) {
-		IDOMNode node = (IDOMNode) contentAssistRequest.getNode();
-
-		// Find the attribute name for which this position should have a value
-		IStructuredDocumentRegion open = node.getFirstStructuredDocumentRegion();
-		ITextRegionList openRegions = open.getRegions();
-		int i = openRegions.indexOf(contentAssistRequest.getRegion());
-		if (i < 0)
-			return;
-
-		// get the attribute in question (first attr name to the left of the cursor)
-		ITextRegion attrNameRegion = null;
-		String attributeName = null;
-		while (i >= 0) {
-			attrNameRegion = openRegions.get(i--);
-			if (attrNameRegion.getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_NAME)
-				break;
-		}
-		if (attrNameRegion != null)
-			attributeName = open.getText(attrNameRegion);
-
-		// determine get or set
-		ITextRegion tagNameRegion = null;
-		boolean isGetProperty = true;
-		for (int j = 0; j < openRegions.size(); j++) {
-			tagNameRegion = openRegions.get(j);
-			if (tagNameRegion.getType() == DOMRegionContext.XML_TAG_NAME && open.getText(tagNameRegion).trim().equals("jsp:setProperty")) { //$NON-NLS-1$
-				isGetProperty = false;
-				break;
-			}
-		}
-
-		String currentValue = null;
-		if (contentAssistRequest.getRegion().getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_VALUE)
-			currentValue = contentAssistRequest.getText();
-		else
-			currentValue = ""; //$NON-NLS-1$
-		String matchString = null;
-		// fixups since the matchString computations don't care if there are quotes around the value
-		if (currentValue.length() > StringUtils.strip(currentValue).length() && (currentValue.startsWith("\"") || currentValue.startsWith("'")) && contentAssistRequest.getMatchString().length() > 0) //$NON-NLS-1$ //$NON-NLS-2$
-			matchString = currentValue.substring(1, contentAssistRequest.getMatchString().length());
-		else
-			matchString = currentValue.substring(0, contentAssistRequest.getMatchString().length());
-
-		// for now we ignore complicated values such as jsp embedded in an attribute
-		boolean existingComplicatedValue = contentAssistRequest.getRegion() != null && contentAssistRequest.getRegion() instanceof ITextRegionContainer;
-		if (existingComplicatedValue) {
-			contentAssistRequest.getProposals().clear();
-			contentAssistRequest.getMacros().clear();
-		}
-		else {
-			if (attributeName.equals(JSP11Namespace.ATTR_NAME_NAME)) {
-				addBeanNameProposals(contentAssistRequest, node, matchString);
-			}
-			else if (attributeName.equals(JSP11Namespace.ATTR_NAME_PROPERTY)) {
-				addBeanPropertyProposals(contentAssistRequest, node, isGetProperty, matchString);
-			}
-		}
-	}
-
-	private void addBeanPropertyProposals(ContentAssistRequest contentAssistRequest, IDOMNode node, boolean isGetProperty, String matchString) {
-		// assumes that the node is the [gs]etProperty tag
-		String useBeanName = ((Element) node).getAttribute(JSP11Namespace.ATTR_NAME_NAME);
-		// properties can only be provided if a class/type/beanName has been declared
-		if (useBeanName != null && useBeanName.length() > 0) {
-			NodeList useBeans = node.getOwnerDocument().getElementsByTagName(JSP11Namespace.ElementName.USEBEAN);
-			if (useBeans != null) {
-				String typeName = null;
-				for (int j = 0; j < useBeans.getLength(); j++) {
-					if (useBeans.item(j).getNodeType() != Node.ELEMENT_NODE)
-						continue;
-					Element useBean = (Element) useBeans.item(j);
-					if (useBean instanceof IndexedRegion && ((IndexedRegion) useBean).getStartOffset() < node.getStartOffset()) {
-						if (useBean.getAttribute(JSP11Namespace.ATTR_NAME_ID).equals(useBeanName)) {
-							typeName = useBean.getAttribute(JSP11Namespace.ATTR_NAME_CLASS);
-							if (typeName == null || typeName.length() < 1) {
-								typeName = useBean.getAttribute(JSP11Namespace.ATTR_NAME_TYPE);
-							}
-							if (typeName == null || typeName.length() < 1) {
-								typeName = useBean.getAttribute(JSP11Namespace.ATTR_NAME_BEAN_NAME);
-							}
-						}
-					}
-				}
-				if (typeName != null && typeName.length() > 0) {
-					// find the class/type/beanName definition and obtain the list of properties
-					IBeanInfoProvider provider = new BeanInfoProvider();
-					IJavaPropertyDescriptor[] descriptors = provider.getRuntimeProperties(resource, typeName);
-					CustomCompletionProposal proposal = null;
-					String displayString = ""; //$NON-NLS-1$
-					for (int j = 0; j < descriptors.length; j++) {
-						IJavaPropertyDescriptor pd = descriptors[j];
-						// check whether it's get or set kinda property
-						if (pd.getReadable() && isGetProperty || pd.getWriteable() && !isGetProperty) {
-							// filter attr value name
-							if (matchString.length() == 0 || pd.getName().toLowerCase().startsWith(matchString.toLowerCase())) {
-								displayString = pd.getDisplayName();
-								if (pd.getDeclaredType() != null && pd.getDeclaredType().length() > 0)
-									displayString += " - " + pd.getDeclaredType(); //$NON-NLS-1$
-								proposal = new CustomCompletionProposal("\"" + pd.getName() + "\"", //$NON-NLS-1$ //$NON-NLS-2$
-											contentAssistRequest.getReplacementBeginPosition(), contentAssistRequest.getReplacementLength(), pd.getName().length() + 2, SharedXMLEditorPluginImageHelper.getImage(SharedXMLEditorPluginImageHelper.IMG_OBJ_ATTRIBUTE),
-											displayString, null, pd.getDeclaredType(), XMLRelevanceConstants.R_XML_ATTRIBUTE_VALUE);
-								contentAssistRequest.addProposal(proposal);
-							}
-						}
-					}
-				}
-			}
-		}
-	}
-
-	private void addBeanNameProposals(ContentAssistRequest contentAssistRequest, IDOMNode node, String matchString) {
-		// will not catch useBeans specified using other than actual DOM Nodes
-		NodeList useBeans = node.getOwnerDocument().getElementsByTagName(JSP11Namespace.ElementName.USEBEAN);
-		if (useBeans != null) {
-			String id = ""; //$NON-NLS-1$
-			String displayString = null;
-			String classOrType = null;
-			String imageName = JSPEditorPluginImages.IMG_OBJ_CLASS_OBJ;
-			for (int j = 0; j < useBeans.getLength(); j++) {
-				if (useBeans.item(j).getNodeType() != Node.ELEMENT_NODE)
-					continue;
-				Element useBean = (Element) useBeans.item(j);
-				if (useBean instanceof IndexedRegion && ((IndexedRegion) useBean).getStartOffset() < node.getStartOffset()) {
-					id = StringUtils.strip(useBean.getAttribute(JSP11Namespace.ATTR_NAME_ID));
-					displayString = null;
-					classOrType = null;
-					imageName = JSPEditorPluginImages.IMG_OBJ_CLASS_OBJ;
-					// set the Image based on whether the class, type, or beanName attribute is present
-					classOrType = useBean.getAttribute(JSP11Namespace.ATTR_NAME_CLASS);
-					if (classOrType == null || classOrType.length() < 1) {
-						classOrType = useBean.getAttribute(JSP11Namespace.ATTR_NAME_TYPE);
-						imageName = JSPEditorPluginImages.IMG_OBJ_PUBLIC;
-					}
-					if (classOrType == null || classOrType.length() < 1) {
-						classOrType = useBean.getAttribute(JSP11Namespace.ATTR_NAME_BEAN_NAME);
-						imageName = JSPEditorPluginImages.IMG_OBJ_PUBLIC;
-					}
-					if (classOrType != null && classOrType.length() > 0)
-						displayString = id + " - " + classOrType; //$NON-NLS-1$
-					else
-						displayString = id;
-
-					// https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=2341
-					if(id != null) {
-					    // filter
-						if (matchString.length() == 0 || id.startsWith(matchString)) {
-							CustomCompletionProposal proposal = new CustomCompletionProposal("\"" + id + "\"", //$NON-NLS-1$ //$NON-NLS-2$
-										contentAssistRequest.getReplacementBeginPosition(), 
-                                        contentAssistRequest.getReplacementLength(), 
-                                        id.length() + 2, 
-                                        JSPEditorPluginImageHelper.getInstance().getImage(imageName), 
-                                        displayString, 
-                                        null, 
-                                        null, 
-                                        XMLRelevanceConstants.R_XML_ATTRIBUTE_VALUE);
-							contentAssistRequest.addProposal(proposal);
-						}
-					}
-				}
-			}
-		}
-	}
-
-	public void release() {
-		resource = null;
-	}
-	
-	public void initialize(IResource iResource) {
-		this.resource = iResource;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPProposalCollector.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPProposalCollector.java
deleted file mode 100644
index d65743e..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPProposalCollector.java
+++ /dev/null
@@ -1,179 +0,0 @@
-package org.eclipse.jst.jsp.ui.internal.contentassist;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jdt.core.CompletionProposal;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.Signature;
-import org.eclipse.jdt.ui.text.java.CompletionProposalCollector;
-import org.eclipse.jdt.ui.text.java.IJavaCompletionProposal;
-import org.eclipse.jface.text.contentassist.IContextInformation;
-import org.eclipse.jst.jsp.core.internal.java.JSP2ServletNameUtil;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslation;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * Passed into ICodeComplete#codeComplete(int offset, CompletionRequestor requestor).
- * Adapts IJavaCompletionProposals to JSPCompletion proposals.
- * This includes:
- *  - translating offsets
- *  - "fixing" up display strings
- *  - filtering some unwanted proposals
- *
- * @plannedfor 1.0
- */
-public class JSPProposalCollector extends CompletionProposalCollector {
-
-	private String fJspName;
-	private String fMangledName;
-	private JSPTranslation fTranslation;
-	
-	public JSPProposalCollector(ICompilationUnit cu, JSPTranslation translation) {
-		super(cu);
-		if(cu != null) {
-			// set some names for fixing up mangled name in proposals
-			// set mangled (servlet) name
-			String cuName = cu.getPath().lastSegment();
-			setMangledName(cuName.substring(0, cuName.lastIndexOf('.')));
-			// set name of jsp file
-			String unmangled = JSP2ServletNameUtil.unmangle(cuName);
-			setJspName(unmangled.substring(unmangled.lastIndexOf('/') + 1));
-		}
-		
-		if(translation == null)
-			throw new IllegalArgumentException("JSPTranslation cannot be null"); //$NON-NLS-1$
-		
-		fTranslation = translation;
-	}
-
-	/**
-	 * Ensures that we only return JSPCompletionProposals.
-	 * @return an array of JSPCompletionProposals
-	 */
-	public JSPCompletionProposal[] getJSPCompletionProposals() {
-		List results = new ArrayList();
-		IJavaCompletionProposal[] javaProposals = getJavaCompletionProposals();
-		// need to filter out non JSPCompletionProposals
-		// because their offsets haven't been translated
-		for (int i = 0; i < javaProposals.length; i++) {
-			if(javaProposals[i] instanceof JSPCompletionProposal)
-				results.add(javaProposals[i]);
-		}
-		return (JSPCompletionProposal[])results.toArray(new JSPCompletionProposal[results.size()]);
-	}
-	
-	/**
-	 * Overridden to:
-	 *  - translate Java -> JSP offsets
-	 *  - fix cursor-position-after
-	 *  - fix mangled servlet name in display string
-	 *  - remove unwanted proposals (servlet constructor)
-	 */
-	protected IJavaCompletionProposal createJavaCompletionProposal(CompletionProposal proposal) {
-		
-		JSPCompletionProposal jspProposal = null;
-		
-		// from proposal
-		String completion = String.valueOf(proposal.getCompletion());
-		String mangledName = getMangledName();
-		
-		// ignore constructor proposals
-		// (they will include mangled servlet name)
-		if(mangledName != null && completion.indexOf(mangledName) == -1) {
-			
-			// java offset
-			int offset = proposal.getReplaceStart();
-			// replacement length
-			int length = proposal.getReplaceEnd() - offset;
-			// translate offset from Java > JSP
-			offset = fTranslation.getJspOffset(offset);
-			// cursor position after must be calculated
-			int positionAfter = calculatePositionAfter(proposal, completion, offset);
-			
-			// from java proposal
-			IJavaCompletionProposal javaProposal = super.createJavaCompletionProposal(proposal);
-			Image image = javaProposal.getImage();
-			String displayString = javaProposal.getDisplayString();
-			displayString = fixupDisplayString(displayString);
-			IContextInformation contextInformation = javaProposal.getContextInformation();
-			String additionalInfo = javaProposal.getAdditionalProposalInfo();
-			int relevance = javaProposal.getRelevance();
-			
-			boolean updateLengthOnValidate = true;
-			
-			jspProposal = new JSPCompletionProposal(completion, offset, length, positionAfter, image, displayString, contextInformation, additionalInfo, relevance, updateLengthOnValidate);
-		}
-		return jspProposal;
-	}
-
-	/**
-	 * Cacluates the where the cursor should be after applying this proposal.
-	 * eg. method(|) if the method proposal chosen had params.
-	 * 
-	 * @param proposal
-	 * @param completion
-	 * @param currentCursorOffset
-	 * @return
-	 */
-	private int calculatePositionAfter(CompletionProposal proposal, String completion, int currentCursorOffset) {
-		// calculate cursor position after
-		int positionAfter = completion.length();
-		int kind = proposal.getKind();
-		
-		// may need better logic here...
-		// put cursor inside parenthesis if there's params
-		// only checking for any kind of declaration
-		if(kind == CompletionProposal.ANONYMOUS_CLASS_DECLARATION || kind == CompletionProposal.METHOD_DECLARATION || kind == CompletionProposal.POTENTIAL_METHOD_DECLARATION || kind == CompletionProposal.METHOD_REF) {
-			String[] params = Signature.getParameterTypes(String.valueOf(proposal.getSignature()));
-			if(completion.length() > 0 && params.length > 0)
-				positionAfter--;
-		}
-		return positionAfter;
-	}
-
-	/**
-	 * Replaces mangled (servlet) name with jsp file name.
-	 * 
-	 * @param displayString
-	 * @return
-	 */
-	private String fixupDisplayString(String displayString) {
-		StringBuffer fixedName = new StringBuffer(displayString);
-		String mangledName = getMangledName();
-		if(mangledName != null) {
-			int index = displayString.indexOf(mangledName);
-			if(index != -1) {
-				fixedName = new StringBuffer();
-				fixedName.append(displayString.substring(0, index));
-				fixedName.append(getJspName());
-				fixedName.append(displayString.substring(index + mangledName.length()));
-			}
-		}
-		return fixedName.toString();
-	}
-	
-	private String getMangledName() {
-		return fMangledName;
-	}
-
-	private void setMangledName(String mangledName) {
-		fMangledName = mangledName;
-	}
-
-	private String getJspName() {
-		return fJspName;
-	}
-
-	private void setJspName(String jspName) {
-		fJspName = jspName;
-	}
-	
-	static char[] getTypeTriggers() {
-		return TYPE_TRIGGERS;
-	}
-
-	public JSPTranslation getTranslation() {
-		return fTranslation;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPTemplateCompletionProcessor.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPTemplateCompletionProcessor.java
deleted file mode 100644
index f3214dc..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPTemplateCompletionProcessor.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.contentassist;
-
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.jface.text.templates.ContextTypeRegistry;
-import org.eclipse.jface.text.templates.Template;
-import org.eclipse.jface.text.templates.TemplateCompletionProcessor;
-import org.eclipse.jface.text.templates.TemplateContext;
-import org.eclipse.jface.text.templates.TemplateContextType;
-import org.eclipse.jface.text.templates.persistence.TemplateStore;
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-import org.eclipse.jst.jsp.ui.internal.editor.JSPEditorPluginImageHelper;
-import org.eclipse.jst.jsp.ui.internal.editor.JSPEditorPluginImages;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * Completion processor for JSP Templates. Most of the work is already done by
- * the JSP Content Assist processor, so by the time the
- * JSPTemplateCompletionProcessor is asked for content assist proposals, the
- * jsp content assist processor has already set the context type for
- * templates.
- * 
- * @plannedfor 1.0
- */
-class JSPTemplateCompletionProcessor extends TemplateCompletionProcessor {
-	private String fContextTypeId = null;
-
-	protected ICompletionProposal createProposal(Template template, TemplateContext context, IRegion region, int relevance) {
-		return new CustomTemplateProposal(template, context, region, getImage(template), relevance);
-	}
-
-	protected TemplateContextType getContextType(ITextViewer viewer, IRegion region) {
-		TemplateContextType type = null;
-
-		ContextTypeRegistry registry = getTemplateContextRegistry();
-		if (registry != null)
-			type = registry.getContextType(fContextTypeId);
-
-		return type;
-	}
-
-	protected Image getImage(Template template) {
-		// just return the same image for now
-		return JSPEditorPluginImageHelper.getInstance().getImage(JSPEditorPluginImages.IMG_OBJ_TAG_JSP);
-	}
-
-	private ContextTypeRegistry getTemplateContextRegistry() {
-		return JSPUIPlugin.getDefault().getTemplateContextRegistry();
-	}
-
-	protected Template[] getTemplates(String contextTypeId) {
-		Template templates[] = null;
-
-		TemplateStore store = getTemplateStore();
-		if (store != null)
-			templates = store.getTemplates(contextTypeId);
-
-		return templates;
-	}
-
-	private TemplateStore getTemplateStore() {
-		return JSPUIPlugin.getDefault().getTemplateStore();
-	}
-
-	void setContextType(String contextTypeId) {
-		fContextTypeId = contextTypeId;
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPUseBeanContentAssistProcessor.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPUseBeanContentAssistProcessor.java
deleted file mode 100644
index 08ebea1..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPUseBeanContentAssistProcessor.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.contentassist;
-
-
-
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.jst.jsp.core.internal.provisional.JSP11Namespace;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegionContainer;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegionList;
-import org.eclipse.wst.sse.core.internal.util.StringUtils;
-import org.eclipse.wst.sse.ui.internal.contentassist.CustomCompletionProposal;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-import org.eclipse.wst.xml.core.internal.regions.DOMRegionContext;
-import org.eclipse.wst.xml.ui.internal.contentassist.ContentAssistRequest;
-
-/**
- * @plannedfor 1.0
- */
-public class JSPUseBeanContentAssistProcessor extends JSPDummyContentAssistProcessor {
-
-	public JSPUseBeanContentAssistProcessor() {
-		super();
-	}
-
-	protected void addAttributeValueProposals(ContentAssistRequest contentAssistRequest) {
-
-		IDOMNode node = (IDOMNode) contentAssistRequest.getNode();
-
-		// Find the attribute name for which this position should have a value
-		IStructuredDocumentRegion open = node.getFirstStructuredDocumentRegion();
-		ITextRegionList openRegions = open.getRegions();
-		int i = openRegions.indexOf(contentAssistRequest.getRegion());
-		if (i < 0)
-			return;
-		ITextRegion nameRegion = null;
-		while (i >= 0) {
-			nameRegion = openRegions.get(i--);
-			if (nameRegion.getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_NAME)
-				break;
-		}
-
-		String attributeName = null;
-		if (nameRegion != null)
-			attributeName = open.getText(nameRegion);
-
-		String currentValue = null;
-		if (contentAssistRequest.getRegion().getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_VALUE)
-			currentValue = contentAssistRequest.getText();
-		else
-			currentValue = ""; //$NON-NLS-1$
-		String matchString = null;
-		// fixups
-        int start = contentAssistRequest.getReplacementBeginPosition();
-        int length = contentAssistRequest.getReplacementLength();
-		if (currentValue.length() > StringUtils.strip(currentValue).length() 
-                && (currentValue.startsWith("\"") || currentValue.startsWith("'")) //$NON-NLS-1$ //$NON-NLS-2$
-                && contentAssistRequest.getMatchString().length() > 0) {
-			matchString = currentValue.substring(1, contentAssistRequest.getMatchString().length());
-            start++;
-            length = matchString.length();            
-        }
-		else
-			matchString = currentValue.substring(0, contentAssistRequest.getMatchString().length());
-		boolean existingComplicatedValue = contentAssistRequest.getRegion() != null && contentAssistRequest.getRegion() instanceof ITextRegionContainer;
-		if (existingComplicatedValue) {
-			contentAssistRequest.getProposals().clear();
-			contentAssistRequest.getMacros().clear();
-		}
-		else {
-			if (attributeName.equals(JSP11Namespace.ATTR_NAME_CLASS)) {
-				// class is the concrete implementation class
-				ICompletionProposal[] classProposals = JavaTypeFinder.getClassProposals(fResource, start, length);
-				if (classProposals != null) {
-					for (int j = 0; j < classProposals.length; j++) {
-                        JavaTypeCompletionProposal proposal = (JavaTypeCompletionProposal) classProposals[j];
-						if (matchString.length() == 0 || proposal.getQualifiedName().toLowerCase().startsWith(matchString.toLowerCase()) || proposal.getShortName().toLowerCase().startsWith(matchString.toLowerCase()))
-							contentAssistRequest.addProposal(proposal);
-					}
-				}
-			}
-			else if (attributeName.equals(JSP11Namespace.ATTR_NAME_TYPE)) {
-				// type is the more general type for the bean
-				// which means it may be an interface
-				ICompletionProposal[] typeProposals = JavaTypeFinder.getTypeProposals(fResource, start, length);
-				if (typeProposals != null) {
-					for (int j = 0; j < typeProposals.length; j++) {
-                        JavaTypeCompletionProposal proposal = (JavaTypeCompletionProposal) typeProposals[j];
-						if (matchString.length() == 0 || proposal.getQualifiedName().toLowerCase().startsWith(matchString.toLowerCase()) || proposal.getShortName().toLowerCase().startsWith(matchString.toLowerCase()))
-							contentAssistRequest.addProposal(proposal);
-					}
-				}
-			}
-			else if (attributeName.equals(JSP11Namespace.ATTR_NAME_BEAN_NAME)) {
-				ICompletionProposal[] beanNameProposals = JavaTypeFinder.getBeanProposals(fResource, start, length);
-				if (beanNameProposals != null) {
-					for (int j = 0; j < beanNameProposals.length; j++) {
-						if (beanNameProposals[j] instanceof CustomCompletionProposal) {
-                            JavaTypeCompletionProposal proposal = (JavaTypeCompletionProposal) beanNameProposals[j];
-							if (matchString.length() == 0 || proposal.getDisplayString().toLowerCase().startsWith(matchString.toLowerCase()))
-								contentAssistRequest.addProposal(proposal);
-						}
-						else if (beanNameProposals[j] instanceof JavaTypeCompletionProposal) {
-                            JavaTypeCompletionProposal proposal = (JavaTypeCompletionProposal) beanNameProposals[j];
-							if (matchString.length() == 0 || proposal.getQualifiedName().toLowerCase().startsWith(matchString.toLowerCase()) || proposal.getShortName().toLowerCase().startsWith(matchString.toLowerCase()))
-								contentAssistRequest.addProposal(proposal);
-						}
-					}
-				}
-			}
-		}
-	}
-
-	public void release() {
-		fResource = null;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JavaParameterListValidator.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JavaParameterListValidator.java
deleted file mode 100644
index 3eb1f56..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JavaParameterListValidator.java
+++ /dev/null
@@ -1,216 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.contentassist;
-
-import org.eclipse.jface.text.Assert;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.TextPresentation;
-import org.eclipse.jface.text.contentassist.IContextInformation;
-import org.eclipse.jface.text.contentassist.IContextInformationPresenter;
-import org.eclipse.jface.text.contentassist.IContextInformationValidator;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.StyleRange;
-
-
-/**
- * @plannedfor 1.0
- */
-public class JavaParameterListValidator implements IContextInformationValidator, IContextInformationPresenter {
-    
-    private int fPosition;
-    private ITextViewer fViewer;
-    private IContextInformation fInformation;
-    
-    private int fCurrentParameter;
-    
-    /**
-     * @see IContextInformationValidator#install(IContextInformation, ITextViewer, int)
-     * @see IContextInformationPresenter#install(IContextInformation, ITextViewer, int)
-     */
-    public void install(IContextInformation info, ITextViewer viewer, int documentPosition) {
-        fPosition= documentPosition;
-        fViewer= viewer;
-        fInformation= info;
-        
-        fCurrentParameter= -1;
-    }
-    
-    private int getCommentEnd(IDocument d, int pos, int end) throws BadLocationException {
-        while (pos < end) {
-            char curr= d.getChar(pos);
-            pos++;
-            if (curr == '*') {
-                if (pos < end && d.getChar(pos) == '/') {
-                    return pos + 1;
-                }
-            }
-        }
-        return end;
-    }
-
-    private int getStringEnd(IDocument d, int pos, int end, char ch) throws BadLocationException {
-        while (pos < end) {
-            char curr= d.getChar(pos);
-            pos++;
-            if (curr == '\\') {
-                // ignore escaped characters
-                pos++;
-            } else if (curr == ch) {
-                return pos;
-            }
-        }
-        return end;
-    }
-    
-    private int getCharCount(IDocument document, int start, int end, char increment, char decrement, boolean considerNesting) throws BadLocationException {
-        
-        Assert.isTrue((increment != 0 || decrement != 0) && increment != decrement);
-        
-        int nestingLevel= 0;
-        int charCount= 0;
-        while (start < end) {
-            char curr= document.getChar(start++);
-            switch (curr) {
-                case '/':
-                    if (start < end) {
-                        char next= document.getChar(start);
-                        if (next == '*') {
-                            // a comment starts, advance to the comment end
-                            start= getCommentEnd(document, start + 1, end);
-                        } else if (next == '/') {
-                            // '//'-comment: nothing to do anymore on this line 
-                            start= end;
-                        }
-                    }
-                    break;
-                case '*':
-                    if (start < end) {
-                        char next= document.getChar(start);
-                        if (next == '/') {
-                            // we have been in a comment: forget what we read before
-                            charCount= 0;
-                            ++ start;
-                        }
-                    }
-                    break;
-                case '"':
-                case '\'':
-                    start= getStringEnd(document, start, end, curr);
-                    break;
-                default:
-                    
-                    if (considerNesting) {
-                        
-                        if ('(' == curr)
-                            ++ nestingLevel;
-                        else if (')' == curr)
-                            -- nestingLevel;
-                            
-                        if (nestingLevel != 0)
-                            break;
-                    }
-                    
-                    if (increment != 0) {
-                        if (curr == increment)
-                            ++ charCount;
-                    }
-                    
-                    if (decrement != 0) {
-                        if (curr == decrement)
-                            -- charCount;
-                    }
-            }
-        }
-        
-        return charCount;
-    }
-    
-    /**
-     * @see IContextInformationValidator#isContextInformationValid(int)
-     */
-    public boolean isContextInformationValid(int position) {        
-        
-        try {
-            if (position < fPosition)
-                return false;
-                
-            IDocument document= fViewer.getDocument();
-            IRegion line= document.getLineInformationOfOffset(fPosition);
-            
-            if (position < line.getOffset() || position >= document.getLength())
-                return false;
-                
-            return (getCharCount(document, fPosition, position, '(', ')', false) >= 0);
-            
-        } catch (BadLocationException x) {
-            return false;
-        }
-    }
-    
-    /**
-     * @see IContextInformationPresenter#updatePresentation(int, TextPresentation)
-     */
-    public boolean updatePresentation(int position, TextPresentation presentation) {
-        
-        int currentParameter= -1;
-        
-        try {
-            currentParameter= getCharCount(fViewer.getDocument(), fPosition, position, ',', (char) 0, true);
-        } catch (BadLocationException x) {
-            return false;
-        }
-        
-        if (fCurrentParameter != -1) {
-            if (currentParameter == fCurrentParameter)
-                return false;
-        }
-        
-        presentation.clear();
-        fCurrentParameter= currentParameter;
-        
-        String s= fInformation.getInformationDisplayString();
-        int start= 0;
-        int occurrences= 0;
-        while (occurrences < fCurrentParameter) {
-            int found= s.indexOf(',', start);
-            if (found == -1)
-                break;
-            start= found + 1;
-            ++ occurrences;
-        }
-        
-        if (occurrences < fCurrentParameter) {
-            presentation.addStyleRange(new StyleRange(0, s.length(), null, null, SWT.NORMAL));
-            return true;
-        }
-        
-        if (start == -1)
-            start= 0;
-        
-        int end= s.indexOf(',', start);
-        if (end == -1)
-            end= s.length();
-            
-        if (start > 0)  
-            presentation.addStyleRange(new StyleRange(0, start, null, null, SWT.NORMAL));
-        
-        if (end > start)
-            presentation.addStyleRange(new StyleRange(start, end - start, null, null, SWT.BOLD));
-        
-        if (end < s.length())
-            presentation.addStyleRange(new StyleRange(end, s.length() - end, null, null, SWT.NORMAL));
-            
-        return true;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JavaTypeCompletionProposal.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JavaTypeCompletionProposal.java
deleted file mode 100644
index f6d877a..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JavaTypeCompletionProposal.java
+++ /dev/null
@@ -1,300 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.contentassist;
-
-
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jst.jsp.core.internal.provisional.JSP11Namespace;
-import org.eclipse.jst.jsp.core.internal.provisional.JSP12Namespace;
-import org.eclipse.jst.jsp.core.internal.regions.DOMJSPRegionContexts;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegionList;
-import org.eclipse.wst.sse.core.internal.util.StringUtils;
-import org.eclipse.wst.sse.ui.internal.contentassist.CustomCompletionProposal;
-import org.eclipse.wst.sse.ui.internal.contentassist.IRelevanceCompletionProposal;
-import org.eclipse.wst.xml.core.internal.regions.DOMRegionContext;
-
-/**
- * An implementation of ICompletionProposal whose values can be
- * read after creation.
- * 
- * @plannedfor 1.0
- */
-public class JavaTypeCompletionProposal extends CustomCompletionProposal implements IRelevanceCompletionProposal {
-
-	private int fCursorPosition = 0;
-	private String fLocalDisplayString;
-	private String fShortName;
-	private String fQualifiedName;
-	private String fContainerName;
-
-	public JavaTypeCompletionProposal(String replacementString, int replacementOffset, int replacementLength, String qualifiedName, Image image, String typeName, String containerName,  int relevence,  boolean updateReplacementLengthOnValidate) {
-		super(replacementString, replacementOffset, replacementLength, qualifiedName.length() + 2, image, 
-                (containerName != null && containerName.length() > 0) ? typeName + " - " + containerName : typeName, null, null, relevence, true); //$NON-NLS-1$
-		// CMVC 243817, superclass was comparing incorrect display string in validate method...
-		//super(replacementString, replacementOffset, replacementLength, image, (containerName != null && containerName.length() > 0)? typeName + " - " + containerName:typeName/*qualifiedName*/, relevence);
-		fShortName = typeName;
-		fQualifiedName = qualifiedName;
-		fContainerName = containerName;
-		fCursorPosition = fQualifiedName.length() + 2;
-		//fProposalInfo = proposalInfo;
-		if (containerName != null && containerName.length() > 0)
-			fLocalDisplayString = typeName + " - " + containerName; //$NON-NLS-1$
-		else
-			fLocalDisplayString = typeName;
-	}
-
-	public String getDisplayString() {
-		return fLocalDisplayString;
-	}
-
-	public int getCursorPosition() {
-		return fCursorPosition;
-	}
-
-	public void setCursorPosition(int cursorPosition) {
-		super.setCursorPosition(cursorPosition);
-		fCursorPosition = cursorPosition;
-	}
-
-	public String getQualifiedName() {
-		return fQualifiedName;
-	}
-
-	public String getAdditionalProposalInfo() {
-		//		String info = super.getAdditionalProposalInfo();
-		//		if (info == null || info.length() == 0 && fProposalInfo != null)
-		//			return fProposalInfo.getInfo();
-		//		return info;
-		return null; // unexplained NPE
-	}
-
-	public String getShortName() {
-		return fShortName;
-	}
-
-	protected String getImport(IStructuredDocumentRegion flatNode) {
-		ITextRegionList regions = flatNode.getRegions();
-		String importSpec = null;
-		boolean isImport = false;
-		for (int i = 0; i < regions.size(); i++) {
-			ITextRegion region = regions.get(i);
-			if (region.getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_NAME) {
-				if (flatNode.getText(region).equals(JSP11Namespace.ATTR_NAME_IMPORT)) {
-					isImport = true;
-				}
-				else {
-					isImport = false;
-				}
-			}
-			else if (isImport && region.getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_VALUE) {
-				importSpec = flatNode.getText(region);
-			}
-		}
-		return importSpec;
-	}
-
-	/**
-	 * Add an import page directive for the current type name
-	 */
-	protected int applyImport(IStructuredDocument model) {
-		// if the type is in the default package or java.lang, skip it
-		if (fContainerName == null || fContainerName.length() == 0 || fContainerName.equals("java.lang")) //$NON-NLS-1$
-			return 0;
-		// collect page directives and store their import values
-		List imports = new ArrayList();
-		IStructuredDocumentRegion node = model.getFirstStructuredDocumentRegion();
-
-		// use the last position of a page directive as a hint as to where to add
-		// a new one
-		int hint = 0;
-		// watch for jsp:root so that we use the right XML/JSP format for the directive
-		boolean useXML = false;
-
-		while (node != null) {
-			// Can't just look for all StructuredDocumentRegions starting with JSP_DIRECTIVE_OPEN
-			// since the XML form is required, too
-			ITextRegionList regions = node.getRegions();
-			if (regions.size() > 1) {
-				ITextRegion name = regions.get(1);
-				// verify that this is a JSP directive
-				if (name.getType() == DOMJSPRegionContexts.JSP_DIRECTIVE_NAME) {
-					// verify that this is a *page* directive
-					if (node.getText(name).equals(JSP11Namespace.ATTR_NAME_PAGE) || node.getText(name).equals(JSP12Namespace.ElementName.DIRECTIVE_PAGE)) {
-						if (node.getEndOffset() < getReplacementOffset())
-							hint = node.getEndOffset();
-						String importSpec = getImport(node);
-						if (importSpec != null) {
-							imports.add(importSpec);
-						}
-					}
-				}
-				else {
-					// if this is a jsp:root tag, use the XML form
-					useXML = useXML || name.getType() == DOMJSPRegionContexts.JSP_ROOT_TAG_NAME;
-				}
-			}
-			node = node.getNext();
-		}
-
-		// evaluate requirements for a "new" import directive
-		boolean needsImport = !importHandles(fQualifiedName, imports);
-		int adjustmentLength = 0;
-		// insert "new" import directive
-		if (needsImport) {
-			String directive = null;
-
-			// vary the XML behavior
-			if (useXML) {
-				directive = "<jsp:directive.page import=\"" + fQualifiedName + "\"/>"; //$NON-NLS-1$ //$NON-NLS-2$
-			}
-			else {
-				directive = "<%@ page import=\"" + fQualifiedName + "\" %>"; //$NON-NLS-1$ //$NON-NLS-2$
-			}
-
-			try {
-				IRegion line = model.getLineInformationOfOffset(hint);
-				boolean prependNewLine = line.getOffset() + line.getLength() == hint;
-				boolean appendNewLine = hint == 0;
-				if (prependNewLine)
-					directive = model.getLineDelimiter() + directive;
-				if (appendNewLine)
-					directive = directive + model.getLineDelimiter();
-				adjustmentLength = directive.length();
-			}
-			catch (BadLocationException e) {
-				// ignore
-			}
-
-			try {
-				model.replace(hint, 0, directive);
-
-			}
-			catch (BadLocationException e) {
-				// Not that we should ever get a BLE, but if so, our
-				// replacement offset from the Content Assist call should
-				// work
-				try {
-					model.replace(getReplacementOffset(), 0, directive);
-					adjustmentLength = directive.length();
-				}
-				catch (BadLocationException e2) {
-					// now what?
-				}
-			}
-		}
-		return adjustmentLength;
-	}
-
-	/**
-	 * See if the import specification is a wildcard import, and if so, that
-	 * it applies to the given type.
-	 */
-	protected boolean isWildcardMatch(String importSpec, String type) {
-		int specLength = importSpec.length();
-		if (importSpec.endsWith("*") && specLength > 2 && type.length() >= specLength) { //$NON-NLS-1$
-			// pull out the package name including the final '.'
-			String container = importSpec.substring(0, specLength - 1);
-			// verify that the type is in the container's hierarchy and that
-			// there are no other package separators afterwards
-			if (type.startsWith(container) && type.indexOf('.', specLength - 1) < 0) {
-				// container matches
-				return true;
-			}
-		}
-		return false;
-	}
-
-	protected boolean importHandles(String type, List listOfImports) {
-		Iterator imports = listOfImports.iterator();
-		while (imports.hasNext()) {
-			String importSpec = StringUtils.strip(imports.next().toString());
-			if (importSpec.equals(type) || isWildcardMatch(importSpec, type))
-				return true;
-		}
-		return false;
-	}
-
-	public void apply(IDocument document, char trigger, int offset) {
-		// If we have a parsed IStructuredDocument, insert the short name instead of the
-		// fully qualified name and a import page directive if
-		// needed.  Do the import first so the cursor goes to the right location
-		// and we don't surprise the user.
-
-		boolean addShortForm = false; //document instanceof IStructuredDocument && fContainerName != null && fContainerName.length() > 0;
-		if (addShortForm) {
-			setReplacementString('"' + fShortName + '"');
-			int importLength = applyImport((IStructuredDocument) document);
-			setReplacementOffset(getReplacementOffset() + importLength);
-		}
-
-		setCursorPosition(getReplacementString().length());
-		super.apply(document, trigger, offset);
-
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension1#apply(org.eclipse.jface.text.ITextViewer, char, int, int)
-	 */
-	public void apply(ITextViewer viewer, char trigger, int stateMask, int offset) {
-		// CMVC 243815
-		// (pa) this is overridden to get around replacement length modification
-		// which is done in the super (since eclipse 2.1)
-		apply(viewer.getDocument(), trigger, offset);
-	}
-
-	// code is borrowed from JavaCompletionProposal
-	protected boolean startsWith(IDocument document, int offset, String word) {
-		int wordLength = word == null ? 0 : word.length();
-		if (offset > getReplacementOffset() + wordLength)
-			return false;
-
-		try {
-			int length = offset - getReplacementOffset();
-			// CMVC 243817
-			// slightly modified to be a little more flexible for attribute value string matching..
-			String start = StringUtils.stripQuotes(document.get(getReplacementOffset(), length));
-			return word.toLowerCase().startsWith(start.toLowerCase()) || fQualifiedName.toLowerCase().startsWith(start.toLowerCase());
-			//return word.substring(0, length).equalsIgnoreCase(start);
-		}
-		catch (BadLocationException x) {
-			// ignore
-		}
-
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.internal.ui.text.java.JavaCompletionProposal#validate(org.eclipse.jface.text.IDocument, int, org.eclipse.jface.text.DocumentEvent)
-	 //	 */
-	//	public boolean validate(IDocument document, int offset, org.eclipse.jface.text.DocumentEvent event) {
-	//		return super.validate(document, offset, event);
-	//	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.internal.ui.text.java.JavaCompletionProposal#selected(org.eclipse.jface.text.ITextViewer, boolean)
-	 */
-	public void selected(ITextViewer viewer, boolean smartToggle) {
-		// (pa) we currently don't use smart toggle...
-		super.selected(viewer, false);
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JavaTypeFinder.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JavaTypeFinder.java
deleted file mode 100644
index b3120d6..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JavaTypeFinder.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.contentassist;
-
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.search.IJavaSearchConstants;
-import org.eclipse.jdt.core.search.IJavaSearchScope;
-import org.eclipse.jdt.core.search.SearchEngine;
-import org.eclipse.jdt.core.search.SearchPattern;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.jst.jsp.ui.internal.Logger;
-import org.eclipse.wst.common.uriresolver.internal.util.URIHelper;
-import org.eclipse.wst.sse.ui.internal.contentassist.CustomCompletionProposal;
-import org.eclipse.wst.sse.ui.internal.contentassist.IRelevanceConstants;
-
-/**
- * @plannedfor 1.0
- */
-public class JavaTypeFinder {
-
-	public static ICompletionProposal[] getBeanProposals(IResource resource, int replacementStart, int replacementLength) {
-		ICompletionProposal[] typeProposals = getTypeProposals(resource, replacementStart, replacementLength);
-		ICompletionProposal[] serialProposals = getSerializedProposals(resource, replacementStart, replacementLength);
-		ICompletionProposal[] beanProposals = new ICompletionProposal[typeProposals.length + serialProposals.length];
-
-		int i;
-		for (i = 0; i < serialProposals.length; i++) {
-			beanProposals[i] = serialProposals[i];
-		}
-		for (i = serialProposals.length; i < serialProposals.length + typeProposals.length; i++) {
-			beanProposals[i] = typeProposals[i - serialProposals.length];
-		}
-		return beanProposals;
-	}
-
-	private static void getMembers(IContainer container, List membersList) {
-		try {
-			IResource[] members = container.members(true);
-			if (members != null) {
-				for (int i = 0; i < members.length; i++) {
-					if (members[i].getType() == IResource.FILE)
-						membersList.add(members[i]);
-					else if (members[i].getType() == IResource.FOLDER)
-						getMembers((IContainer) members[i], membersList);
-				}
-			}
-		}
-		catch (CoreException e) {
-			// do nothing
-		}
-	}
-
-	private static ICompletionProposal[] getSerializedProposals(IResource resource, int replacementStart, int replacementLength) {
-		List names = new ArrayList();
-		List resources = new ArrayList();
-		getMembers(resource.getProject(), resources);
-		IResource memberResource = null;
-		for (int i = 0; i < resources.size(); i++) {
-			memberResource = (IResource) resources.get(i);
-			if (memberResource.getType() == IResource.FILE && memberResource.getName().endsWith(".ser")) { //$NON-NLS-1$
-				String path = URIHelper.normalize(memberResource.getFullPath().toString(), resource.getFullPath().toString(), resource.getProject().getFullPath().toString());
-				if (path != null) {
-					names.add(new CustomCompletionProposal("\"" + path + "\"", //$NON-NLS-1$ //$NON-NLS-2$
-								replacementStart, replacementLength, path.length() + 2, null, path, null, null, IRelevanceConstants.R_NONE));
-				}
-			}
-		}
-		return (ICompletionProposal[]) names.toArray(new ICompletionProposal[names.size()]);
-	}
-
-	/**
-	 *
-	 * @param resource
-	 * @param replacementStart
-	 * @param replacementLength
-	 * @param searchFor IJavaSearchConstants.TYPE, IJavaSearchConstants.CLASS
-	 * @return
-	 */
-	private static ICompletionProposal[] findProposals(IResource resource, int replacementStart, int replacementLength, int searchFor, boolean ignoreAbstractClasses) {
-
-		JavaTypeNameRequestor requestor = new JavaTypeNameRequestor();
-		requestor.setJSPOffset(replacementStart);
-		requestor.setReplacementLength(replacementLength);
-		requestor.setIgnoreAbstractClasses(ignoreAbstractClasses);
-
-		try {
-			IJavaElement[] elements = new IJavaElement[]{getJavaProject(resource)};
-			IJavaSearchScope scope = SearchEngine.createJavaSearchScope(elements);
-			new SearchEngine().searchAllTypeNames(null, null, SearchPattern.R_PATTERN_MATCH | SearchPattern.R_PREFIX_MATCH, searchFor, scope, requestor, IJavaSearchConstants.WAIT_UNTIL_READY_TO_SEARCH, null);
-
-		}
-		catch (CoreException exc) {
-			Logger.logException(exc);
-		}
-		catch (Exception exc) { 
-			// JavaModel
-			Logger.logException(exc);
-		}
-		return requestor.getProposals();
-	}
-
-	public static ICompletionProposal[] getTypeProposals(IResource resource, int replacementStart, int replacementLength) {
-		return findProposals(resource, replacementStart, replacementLength, IJavaSearchConstants.TYPE, false);
-	}
-	
-	public static ICompletionProposal[] getClassProposals(IResource resource, int replacementStart, int replacementLength) {
-		return findProposals(resource, replacementStart, replacementLength, IJavaSearchConstants.CLASS, true);
-	}
-
-	private static IJavaProject getJavaProject(IResource resource) {
-		IProject proj = resource.getProject();
-		IJavaProject javaProject = JavaCore.create(proj);
-		return javaProject;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JavaTypeNameRequestor.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JavaTypeNameRequestor.java
deleted file mode 100644
index c254d14..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JavaTypeNameRequestor.java
+++ /dev/null
@@ -1,121 +0,0 @@
-package org.eclipse.jst.jsp.ui.internal.contentassist;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jdt.core.CompletionProposal;
-import org.eclipse.jdt.core.Flags;
-import org.eclipse.jdt.core.Signature;
-import org.eclipse.jdt.core.search.TypeNameRequestor;
-import org.eclipse.jdt.ui.text.java.CompletionProposalLabelProvider;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jst.jsp.ui.internal.editor.JSPEditorPluginImageHelper;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.javascript.ui.internal.common.contentassist.IRelevanceConstants;
-
-/**
- * Use w/ JDT search engine to find all type names.
- * Creates proposals from matches reported.
- *
- * @plannedfor 1.0
- */
-public class JavaTypeNameRequestor extends TypeNameRequestor {
-	
-	private int fJSPOffset = -1;
-	private int fReplacementLength = -1;
-	private List fProposals = new ArrayList();
-	private boolean fIgnoreAbstractClasses = false;
-	
-	private CompletionProposalLabelProvider fLabelProvider = new CompletionProposalLabelProvider();
-	
-	public void acceptType(int modifiers, char[] packageName, char[] simpleTypeName, char[][] enclosingTypeNames, String path) {
-
-        int offset = getJSPOffset();
-        int length = getReplacementLength();
-		
-		// somehow offset or length was set incorrectly
-		if(offset == -1 || length == -1)
-			return;
-		// ignore abstract classes?
-		if(ignoreAbstractClasses() && Flags.isAbstract(modifiers))
-			return;
-		
-		Image image = calculateImage(modifiers);
-		
-        String containerNameString = new String(packageName);
-        String typeNameString = String.valueOf(simpleTypeName);
-			
-        // containername can be null
-        String fullName = concatenateName(containerNameString, typeNameString);
-
-        String simpleName = Signature.getSimpleName(fullName);
-        StringBuffer buf = new StringBuffer(simpleName);
-        String typeQualifier = Signature.getQualifier(fullName);
-        if (typeQualifier.length() > 0) {
-            buf.append(" - "); //$NON-NLS-1$
-            buf.append(typeQualifier);
-        }
-		
-        JavaTypeCompletionProposal proposal = new JavaTypeCompletionProposal(fullName, offset, length, fullName, image, typeNameString, typeQualifier, IRelevanceConstants.R_NONE, true);
-        proposal.setTriggerCharacters(JSPProposalCollector.getTypeTriggers());
-		fProposals.add(proposal);
-	}
-
-
-	private Image calculateImage(int modifiers) {
-		CompletionProposal p = CompletionProposal.create(CompletionProposal.TYPE_REF, getJSPOffset());
-		p.setFlags(modifiers);
-		
-		//https://bugs.eclipse.org/bugs/show_bug.cgi?id=102206
-		char[] sig = new char[]{Signature.C_UNRESOLVED};
-		p.setSignature(sig);
-		
-		ImageDescriptor descriptor = fLabelProvider.createImageDescriptor(p);
-		Image image = JSPEditorPluginImageHelper.getInstance().getImage(descriptor);
-		return image;
-	}
-	
-    /**
-     * Concatenates two names. Uses a dot for separation. Both strings can be
-     * empty or <code>null</code>.
-     */
-    public String concatenateName(String name1, String name2) {
-        StringBuffer buf = new StringBuffer();
-        if (name1 != null && name1.length() > 0) {
-            buf.append(name1);
-        }
-        if (name2 != null && name2.length() > 0) {
-            if (buf.length() > 0) {
-                buf.append('.');
-            }
-            buf.append(name2);
-        }
-        return buf.toString();
-    }
-	
-	int getJSPOffset() {
-		return fJSPOffset;
-	}
-
-	void setJSPOffset(int offset) {
-		fJSPOffset = offset;
-	}
-
-	int getReplacementLength() {
-		return fReplacementLength;
-	}
-
-	void setReplacementLength(int replacementLength) {
-		fReplacementLength = replacementLength;
-	}
-	void setIgnoreAbstractClasses(boolean ignore) {
-		fIgnoreAbstractClasses = ignore;
-	}
-	boolean ignoreAbstractClasses() {
-		return fIgnoreAbstractClasses;
-	}
-	
-	JavaTypeCompletionProposal[] getProposals() {
-		return (JavaTypeCompletionProposal[])fProposals.toArray(new JavaTypeCompletionProposal[fProposals.size()]);
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/NoRegionContentAssistProcessorForJSP.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/NoRegionContentAssistProcessorForJSP.java
deleted file mode 100644
index 43ca5b6..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/NoRegionContentAssistProcessorForJSP.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.contentassist;
-
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
-import org.eclipse.jst.jsp.core.internal.provisional.JSP11Namespace;
-import org.eclipse.jst.jsp.core.internal.provisional.text.IJSPPartitionTypes;
-import org.eclipse.jst.jsp.core.internal.regions.DOMJSPRegionContexts;
-import org.eclipse.wst.html.core.internal.provisional.text.IHTMLPartitionTypes;
-import org.eclipse.wst.html.ui.internal.contentassist.NoRegionContentAssistProcessorForHTML;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredPartitionTypes;
-import org.eclipse.wst.xml.core.internal.provisional.text.IXMLPartitions;
-
-/**
- * @plannedfor 1.0
- */
-public class NoRegionContentAssistProcessorForJSP extends NoRegionContentAssistProcessorForHTML {
-
-	private String[] fJSPContexts = null;
-
-	public NoRegionContentAssistProcessorForJSP() {
-		super();
-		initJSPContexts();
-	}
-
-	/* 
-	 * @see org.eclipse.wst.html.ui.internal.contentassist.NoRegionContentAssistProcessorForHTML#initPartitionToProcessorMap()
-	 */
-	protected void initPartitionToProcessorMap() {
-		super.initPartitionToProcessorMap();
-		IContentAssistProcessor jspContentAssistProcessor = new JSPContentAssistProcessor();
-
-		// JSP
-		addPartitionProcessor(IStructuredPartitionTypes.DEFAULT_PARTITION, jspContentAssistProcessor);
-		addPartitionProcessor(IXMLPartitions.XML_DEFAULT, jspContentAssistProcessor);
-		addPartitionProcessor(IHTMLPartitionTypes.HTML_DEFAULT, jspContentAssistProcessor);
-		addPartitionProcessor(IHTMLPartitionTypes.HTML_COMMENT, jspContentAssistProcessor);
-		addPartitionProcessor(IJSPPartitionTypes.JSP_DEFAULT, jspContentAssistProcessor);
-		addPartitionProcessor(IJSPPartitionTypes.JSP_DIRECTIVE, jspContentAssistProcessor);
-		addPartitionProcessor(IJSPPartitionTypes.JSP_CONTENT_DELIMITER, jspContentAssistProcessor);
-		addPartitionProcessor(IJSPPartitionTypes.JSP_CONTENT_JAVASCRIPT, jspContentAssistProcessor);
-
-		IContentAssistProcessor jspJavaContentAssistProcessor = new JSPJavaContentAssistProcessor();
-		addPartitionProcessor(IJSPPartitionTypes.JSP_CONTENT_JAVA, jspJavaContentAssistProcessor);
-
-	}
-
-	protected void initNameToProcessorMap() {
-		super.initNameToProcessorMap();
-		JSPPropertyContentAssistProcessor jspPropertyCAP = new JSPPropertyContentAssistProcessor();
-		addNameProcessor(JSP11Namespace.ElementName.SETPROPERTY, jspPropertyCAP);
-		addNameProcessor(JSP11Namespace.ElementName.GETPROPERTY, jspPropertyCAP);
-		addNameProcessor(JSP11Namespace.ElementName.USEBEAN, new JSPUseBeanContentAssistProcessor());
-	}
-
-	private void initJSPContexts() {
-		fJSPContexts = new String[]{DOMJSPRegionContexts.JSP_CLOSE, DOMJSPRegionContexts.JSP_CONTENT, DOMJSPRegionContexts.JSP_DECLARATION_OPEN, DOMJSPRegionContexts.JSP_EXPRESSION_OPEN, DOMJSPRegionContexts.JSP_SCRIPTLET_OPEN};
-	}
-
-	/**
-	 * Quick check to see if context (String) should map to
-	 * JSPContentAssistProcessor.
-	 * 
-	 * @param context
-	 * @return if it's a JSP Region (for which we need JSP Content assist)
-	 */
-	private boolean isJSPRegion(IStructuredDocumentRegion sdRegion) {
-		String context = sdRegion.getType();
-		for (int i = 0; i < fJSPContexts.length; i++) {
-			if (context == fJSPContexts[i])
-				return true;
-		}
-		return false;
-	}
-
-	protected IContentAssistProcessor guessContentAssistProcessor(ITextViewer viewer, int documentOffset) {
-		IContentAssistProcessor p = super.guessContentAssistProcessor(viewer, documentOffset);
-		if (p == null) {
-			IStructuredDocumentRegion sdRegion = ((IStructuredDocument) viewer.getDocument()).getRegionAtCharacterOffset(documentOffset);
-			if (isJSPRegion(sdRegion))
-				p = getPartitionProcessor(IJSPPartitionTypes.JSP_CONTENT_JAVA);
-		}
-		return p;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/editor/ActionContributorJSP.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/editor/ActionContributorJSP.java
deleted file mode 100644
index fec333c..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/editor/ActionContributorJSP.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.editor;
-
-import java.util.ResourceBundle;
-
-import org.eclipse.jdt.ui.actions.RefactorActionGroup;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jst.jsp.ui.internal.IActionConstantsJSP;
-import org.eclipse.jst.jsp.ui.internal.IActionDefinitionIdsJSP;
-import org.eclipse.jst.jsp.ui.internal.JSPUIMessages;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.texteditor.RetargetTextEditorAction;
-import org.eclipse.wst.html.ui.internal.edit.ui.ActionContributorHTML;
-import org.eclipse.wst.sse.ui.internal.actions.StructuredTextEditorActionConstants;
-
-/**
- * ActionContributorJSP
- * 
- * This class should not be used inside multi page editor's ActionBarContributor,
- * since cascaded init() call from the ActionBarContributor
- * will causes exception and it leads to lose whole toolbars. 
- *
- * Instead, use SourcePageActionContributor for source page contributor
- * of multi page editor.
- * 
- * Note that this class is still valid for single page editor.
- */
-public class ActionContributorJSP extends ActionContributorHTML {
-	
-	private RetargetTextEditorAction renameElementAction = null;
-	private RetargetTextEditorAction moveElementAction = null;
-	private IMenuManager refactorMenu = null;
-	
-	private static final String[] EDITOR_IDS = {"org.eclipse.jst.jsp.core.jspsource.source", "org.eclipse.wst.sse.ui.StructuredTextEditor"}; //$NON-NLS-1$ //$NON-NLS-2$
-
-	public ActionContributorJSP() {
-		super();
-
-		ResourceBundle bundle = JSPUIMessages.getResourceBundle();
-		this.renameElementAction = new RetargetTextEditorAction(bundle, IActionConstantsJSP.ACTION_NAME_RENAME_ELEMENT + StructuredTextEditorActionConstants.DOT);
-		this.renameElementAction.setActionDefinitionId(IActionDefinitionIdsJSP.RENAME_ELEMENT);
-		
-		this.moveElementAction = new RetargetTextEditorAction(bundle, IActionConstantsJSP.ACTION_NAME_MOVE_ELEMENT + StructuredTextEditorActionConstants.DOT);
-		this.moveElementAction.setActionDefinitionId(IActionDefinitionIdsJSP.MOVE_ELEMENT);
-		
-		// the refactor menu, add the menu itself to add all refactor actions
-		this.refactorMenu = new MenuManager(JSPUIMessages.ActionContributorJSP_0, RefactorActionGroup.MENU_ID); //$NON-NLS-1$
-		refactorMenu.add(this.renameElementAction);
-		refactorMenu.add(this.moveElementAction);
-	}
-	
-
-	protected String[] getExtensionIDs() {
-		return EDITOR_IDS;
-	}
-	
-
-	protected void addToMenu(IMenuManager menu) {
-		super.addToMenu(menu);
-
-		menu.insertAfter(IWorkbenchActionConstants.M_EDIT, this.refactorMenu);
-	}
-	
-
-	public void setActiveEditor(IEditorPart activeEditor) {
-		
-		super.setActiveEditor(activeEditor);
-		this.renameElementAction.setAction(getAction(getTextEditor(getActiveEditorPart()), IActionConstantsJSP.ACTION_NAME_RENAME_ELEMENT));
-		this.moveElementAction.setAction(getAction(getTextEditor(getActiveEditorPart()), IActionConstantsJSP.ACTION_NAME_MOVE_ELEMENT));
-	}
-	
-
-	public void setViewerSpecificContributionsEnabled(boolean enabled) {
-		
-		super.setViewerSpecificContributionsEnabled(enabled);
-		this.renameElementAction.setEnabled(enabled);
-		this.moveElementAction.setEnabled(enabled);
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/editor/IHelpContextIds.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/editor/IHelpContextIds.java
deleted file mode 100644
index ddb3871..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/editor/IHelpContextIds.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.editor;
-
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-
-/**
- * Help context ids for the JSP Source Editor.
- * <p>
- * This interface contains constants only; it is not intended to be implemented.
- * </p>
- * 
- */
-public interface IHelpContextIds {
-	// org.eclipse.jst.jsp.ui.
-	public static final String PREFIX = JSPUIPlugin.ID + "."; //$NON-NLS-1$
-	
-	// JSP Source page editor
-	public static final String JSP_SOURCEVIEW_HELPID = PREFIX + "ejsp0000"; //$NON-NLS-1$
-	
-	// JSP Files Preference page
-	public static final String JSP_PREFWEBX_FILES_HELPID = PREFIX + "webx0050"; //$NON-NLS-1$
-	// JSP Styles Preference page
-	public static final String JSP_PREFWEBX_STYLES_HELPID = PREFIX + "webx0051"; //$NON-NLS-1$
-	// JSP Templates Preference page
-	public static final String JSP_PREFWEBX_TEMPLATES_HELPID = PREFIX + "webx0052"; //$NON-NLS-1$
-			
-	// JSP Fragment Property Page
-	public static final String JSP_FRAGMENT_HELPID = PREFIX + "jspf1000"; //$NON-NLS-1$
-	
-	// JSP Source Editor Context Menu
-	// Refactor Rename TODO infopop needed
-	// Refactor Move TODO infopop needed
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/editor/JSPEditorPluginImageHelper.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/editor/JSPEditorPluginImageHelper.java
deleted file mode 100644
index b659b9b..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/editor/JSPEditorPluginImageHelper.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.editor;
-
-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.jst.jsp.ui.internal.JSPUIPlugin;
-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 JSPEditorPluginImageHelper {
-	private final String PLUGINID = JSPUIPlugin.ID;
-	private static JSPEditorPluginImageHelper instance = null;
-
-	//	 save a descriptor for each image
-	private HashMap fImageDescRegistry = null;
-
-	/**
-	 * Gets the instance.
-	 * 
-	 * @return Returns a JSPEditorPluginImageHelper
-	 */
-	public synchronized static JSPEditorPluginImageHelper getInstance() {
-		if (instance == null)
-			instance = new JSPEditorPluginImageHelper();
-		return instance;
-	}
-
-	/**
-	 * 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) {
-		Image image = getImageRegistry().get(resource);
-		if (image == null) {
-			// create an image
-			image = createImage(resource);
-		}
-		return image;
-	}
-   
-    /**
-     * Retrieves the Image associated with ImageDescriptor from the image
-     * descriptor registry. If the Image cannot be retrieved, it is created
-     * from the ImageDescriptor
-     * 
-     * @param resource
-     *            the image descriptor to retrieve
-     * @return Image the associated with the ImageDescriptor or
-     *         the default "missing" image descriptor if one could not be
-     *         found
-     */
-    public Image getImage(ImageDescriptor descriptor) {
-        if (descriptor == null)
-            descriptor= ImageDescriptor.getMissingImageDescriptor();
-            
-        Image result= (Image)getImageDescriptorRegistry().get(descriptor);
-        if (result != null)
-            return result;
-        
-        result= descriptor.createImage();
-        if (result != null)
-            getImageDescriptorRegistry().put(descriptor, result);
-        return result;
-    }
-
-	/**
-	 * 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) {
-		ImageDescriptor imageDescriptor = null;
-		Object o = getImageDescriptorRegistry().get(resource);
-		if (o == null) {
-			//create a descriptor
-			imageDescriptor = createImageDescriptor(resource);
-		}
-		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();
-	}
-
-	/**
-	 * Creates an image from the given resource and adds the image to the
-	 * image registry.
-	 * 
-	 * @param resource
-	 * @return Image
-	 */
-	private Image createImage(String resource) {
-		ImageDescriptor desc = getImageDescriptor(resource);
-		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()))
-				getImageRegistry().put(resource, image);
-		}
-		return image;
-	}
-
-	/**
-	 * Creates an image descriptor from the given imageFilePath 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
-	 * @return ImageDescriptor image descriptor for imageFilePath or default
-	 *         "missing" image descriptor if resource could not be found
-	 */
-	private ImageDescriptor createImageDescriptor(String imageFilePath) {
-		ImageDescriptor imageDescriptor = AbstractUIPlugin.imageDescriptorFromPlugin(PLUGINID, imageFilePath);
-		if (imageDescriptor != null) {
-			getImageDescriptorRegistry().put(imageFilePath, imageDescriptor);
-		}
-		else {
-			imageDescriptor = ImageDescriptor.getMissingImageDescriptor();
-		}
-
-		return imageDescriptor;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/editor/JSPEditorPluginImages.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/editor/JSPEditorPluginImages.java
deleted file mode 100644
index d86c04b..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/editor/JSPEditorPluginImages.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.editor;
-
-/**
- * Bundle of most images used by the JSP Editor plug-in.
- */
-public class JSPEditorPluginImages { 	
-	public static final String IMG_OBJ_CLASS_OBJ = "icons/full/obj16/class_obj.gif";			//$NON-NLS-1$
-	public static final String IMG_OBJ_TAG_GENERIC = "icons/full/obj16/tag-generic.gif";			//$NON-NLS-1$
-	public static final String IMG_OBJ_TAG_JSP = "icons/full/obj16/tag-jsp.gif";			//$NON-NLS-1$
-	public static final String IMG_OBJ_TAG_TEMPLATE = "icons/full/obj16/tag-template.gif";			//$NON-NLS-1$
-	public static final String IMG_OBJ_PUBLIC = "icons/full/obj16/public.gif";			//$NON-NLS-1$
-    
-    public static final String FIELD_PROTECTED_OBJ = "icons/full/obj16/field_protected_obj.gif"; //$NON-NLS-1$
-    public static final String FIELD_PUBLIC_OBJ = "icons/full/obj16/field_public_obj.gif"; //$NON-NLS-1$
-    public static final String FIELD_DEFAULT_OBJ= "icons/full/obj16/field_default_obj.gif"; //$NON-NLS-1$
-    public static final String FIELD_PRIVATE_OBJ = "icons/full/obj16/field_private_obj.gif"; //$NON-NLS-1$
-    
-    public static final String DEFAULT_CO = "icons/full/obj16/default_co.gif"; //$NON-NLS-1$
-    public static final String PROTECTED_CO = "icons/full/obj16/protected_co.gif"; //$NON-NLS-1$
-    public static final String PUBLIC_CO = "icons/full/obj16/public_co.gif"; //$NON-NLS-1$
-    public static final String PRIVATE_CO = "icons/full/obj16/private_co.gif"; //$NON-NLS-1$
-    
-    public static final String INNERCLASS_DEFAULT_OBJ= "icons/full/obj16/innerclass_default_obj.gif"; //$NON-NLS-1$
-    public static final String INNERCLASS_PRIVATE_OBJ = "icons/full/obj16/innerclass_private_obj.gif"; //$NON-NLS-1$
-    public static final String INNERCLASS_PROTECTED_OBJ = "icons/full/obj16/innerclass_protected_obj.gif"; //$NON-NLS-1$
-    public static final String INNERCLASS_PUBLIC_OBJ = "icons/full/obj16/innerclass_public_obj.gif"; //$NON-NLS-1$
-    
-    public static final String INNERINTERFACE_DEFAULT_OBJ = "icons/full/obj16/innerinterface_default_obj.gif"; //$NON-NLS-1$
-    public static final String INNERINTERFACE_PRIVATE_OBJ = "icons/full/obj16/innerinterface_private_obj.gif"; //$NON-NLS-1$
-    public static final String INNERINTERFACE_PROTECTED_OBJ = "icons/full/obj16/innerinterface_protected_obj.gif"; //$NON-NLS-1$
-    public static final String INNERINTERFACE_PUBLIC_OBJ = "icons/full/obj16/innerinterface_public_obj.gif"; //$NON-NLS-1$
-    
-    public static final String PACKAGE_OBJ = "icons/full/obj16/package_obj.gif"; //$NON-NLS-1$
-    
-    public static final String LOCAL_VARIABLE_OBJ = "icons/full/obj16/localvariable_obj.gif"; //$NON-NLS-1$
-    
-    public static final String IMG_OBJ_WIZBAN_NEWJSPFILE = "icons/full/wizban/newjspfile_wiz.gif"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/editor/JSPSourceEditingTextTools.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/editor/JSPSourceEditingTextTools.java
deleted file mode 100644
index d31cb31..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/editor/JSPSourceEditingTextTools.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.editor;
-
-
-
-import org.eclipse.jst.jsp.core.internal.document.PageDirectiveAdapter;
-import org.eclipse.jst.jsp.core.internal.provisional.JSP11Namespace;
-import org.eclipse.jst.jsp.core.internal.provisional.JSP12Namespace;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument;
-import org.eclipse.wst.xml.ui.internal.provisional.XMLSourceEditingTextTools;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * Implements ISourceEditingTextTools interface
- */
-public class JSPSourceEditingTextTools extends XMLSourceEditingTextTools {
-
-	public String getPageLanguage(Node node) {
-		String language = null;
-		Document doc = null;
-		if (node.getNodeType() == Node.DOCUMENT_NODE) {
-			doc = (Document) node;
-		}
-		else {
-			doc = node.getOwnerDocument();
-		}
-		if (doc != null) {
-			if (doc instanceof IDOMDocument) {
-				PageDirectiveAdapter adapter = (PageDirectiveAdapter) ((IDOMDocument) doc).getAdapterFor(PageDirectiveAdapter.class);
-				if (adapter != null)
-					language = adapter.getLanguage();
-			}
-			else {
-				// iterate through all of the page directives
-				NodeList pageDirectives = doc.getElementsByTagName(JSP12Namespace.ElementName.DIRECTIVE_PAGE);
-				for (int i = 0; i < pageDirectives.getLength(); i++) {
-					Element pageDirective = (Element) pageDirectives.item(i);
-					String langValue = pageDirective.getAttribute(JSP11Namespace.ATTR_NAME_LANGUAGE);
-					// last one to declare a language wins
-					if (langValue != null)
-						language = langValue;
-				}
-			}
-		}
-		// if no language was specified anywhere, assume Java
-		if (language == null)
-			language = JSP11Namespace.ATTR_VALUE_JAVA;
-		return language;
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/editor/StructuredTextEditorJSP.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/editor/StructuredTextEditorJSP.java
deleted file mode 100644
index 54cb30a..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/editor/StructuredTextEditorJSP.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.jsp.ui.internal.editor;
-
-import java.util.ResourceBundle;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.GroupMarker;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jst.jsp.ui.internal.IActionConstantsJSP;
-import org.eclipse.jst.jsp.ui.internal.JSPUIMessages;
-import org.eclipse.jst.jsp.ui.internal.java.refactoring.JSPMoveElementAction;
-import org.eclipse.jst.jsp.ui.internal.java.refactoring.JSPRenameElementAction;
-import org.eclipse.jst.jsp.ui.internal.java.search.JSPFindOccurrencesAction;
-import org.eclipse.ui.texteditor.ITextEditorActionConstants;
-import org.eclipse.wst.html.ui.internal.edit.ui.CleanupActionHTML;
-import org.eclipse.wst.html.ui.internal.search.HTMLFindOccurrencesAction;
-import org.eclipse.wst.sse.ui.internal.StructuredTextEditor;
-import org.eclipse.wst.sse.ui.internal.actions.ActionDefinitionIds;
-import org.eclipse.wst.sse.ui.internal.actions.StructuredTextEditorActionConstants;
-import org.eclipse.wst.sse.ui.internal.search.FindOccurrencesActionProvider;
-import org.eclipse.wst.xml.ui.internal.actions.AddBlockCommentActionXML;
-import org.eclipse.wst.xml.ui.internal.actions.RemoveBlockCommentActionXML;
-import org.eclipse.wst.xml.ui.internal.actions.ToggleCommentActionXML;
-
-public class StructuredTextEditorJSP extends StructuredTextEditor {
-	private final static String UNDERSCORE = "_"; //$NON-NLS-1$
-	
-	protected void createActions() {
-		super.createActions();
-
-		ResourceBundle resourceBundle = JSPUIMessages.getResourceBundle();
-
-		Action action = new CleanupActionHTML(resourceBundle, StructuredTextEditorActionConstants.ACTION_NAME_CLEANUP_DOCUMENT + UNDERSCORE, this);
-		action.setActionDefinitionId(ActionDefinitionIds.CLEANUP_DOCUMENT);
-		setAction(StructuredTextEditorActionConstants.ACTION_NAME_CLEANUP_DOCUMENT, action);
-
-		action = new ToggleCommentActionXML(resourceBundle, StructuredTextEditorActionConstants.ACTION_NAME_TOGGLE_COMMENT + UNDERSCORE, this);
-		action.setActionDefinitionId(ActionDefinitionIds.TOGGLE_COMMENT);
-		setAction(StructuredTextEditorActionConstants.ACTION_NAME_TOGGLE_COMMENT, action);
-
-		action = new AddBlockCommentActionXML(resourceBundle, StructuredTextEditorActionConstants.ACTION_NAME_ADD_BLOCK_COMMENT + UNDERSCORE, this);
-		action.setActionDefinitionId(ActionDefinitionIds.ADD_BLOCK_COMMENT);
-		setAction(StructuredTextEditorActionConstants.ACTION_NAME_ADD_BLOCK_COMMENT, action);
-
-		action = new RemoveBlockCommentActionXML(resourceBundle, StructuredTextEditorActionConstants.ACTION_NAME_REMOVE_BLOCK_COMMENT + UNDERSCORE, this);
-		action.setActionDefinitionId(ActionDefinitionIds.REMOVE_BLOCK_COMMENT);
-		setAction(StructuredTextEditorActionConstants.ACTION_NAME_REMOVE_BLOCK_COMMENT, action);
-
-		FindOccurrencesActionProvider foAction = new FindOccurrencesActionProvider(resourceBundle, StructuredTextEditorActionConstants.ACTION_NAME_FIND_OCCURRENCES + UNDERSCORE, this);
-		foAction.addAction(new HTMLFindOccurrencesAction(resourceBundle, "", this)); //$NON-NLS-1$
-		foAction.addAction(new JSPFindOccurrencesAction(resourceBundle, "", this)); //$NON-NLS-1$
-		foAction.setActionDefinitionId(ActionDefinitionIds.FIND_OCCURRENCES);
-		setAction(StructuredTextEditorActionConstants.ACTION_NAME_FIND_OCCURRENCES, foAction);
-		markAsSelectionDependentAction(StructuredTextEditorActionConstants.ACTION_NAME_FIND_OCCURRENCES, true);
-
-		JSPRenameElementAction renameAction = new JSPRenameElementAction(JSPUIMessages.getResourceBundle(), IActionConstantsJSP.ACTION_NAME_RENAME_ELEMENT + UNDERSCORE, this);
-		setAction(IActionConstantsJSP.ACTION_NAME_RENAME_ELEMENT, renameAction);
-		markAsSelectionDependentAction(IActionConstantsJSP.ACTION_NAME_RENAME_ELEMENT, true);
-
-		JSPMoveElementAction moveAction = new JSPMoveElementAction(JSPUIMessages.getResourceBundle(), IActionConstantsJSP.ACTION_NAME_MOVE_ELEMENT + UNDERSCORE, this);
-		setAction(IActionConstantsJSP.ACTION_NAME_MOVE_ELEMENT, moveAction);
-		markAsSelectionDependentAction(IActionConstantsJSP.ACTION_NAME_MOVE_ELEMENT, true);
-	}
-
-	protected void addContextMenuActions(IMenuManager menu) {
-
-		super.addContextMenuActions(menu);
-
-		if (getSourceViewer().isEditable()) {
-			String label = JSPUIMessages.Refactor_label; //$NON-NLS-1$ = "Format"
-			MenuManager subMenu = new MenuManager(label, "Refactor"); //$NON-NLS-1$
-			addAction(subMenu, IActionConstantsJSP.ACTION_NAME_RENAME_ELEMENT);
-			addAction(subMenu, IActionConstantsJSP.ACTION_NAME_MOVE_ELEMENT);
-			subMenu.add(new GroupMarker(GROUP_NAME_ADDITIONS));
-			menu.appendToGroup(ITextEditorActionConstants.GROUP_EDIT, subMenu);
-		}
-	}
-
-	protected void initializeEditor() {
-		super.initializeEditor();
-		setHelpContextId(IHelpContextIds.JSP_SOURCEVIEW_HELPID);
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/format/FormattingStrategyJSPJava.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/format/FormattingStrategyJSPJava.java
deleted file mode 100644
index 2c9b02d..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/format/FormattingStrategyJSPJava.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.format;
-
-import java.util.LinkedList;
-import java.util.Map;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.ToolFactory;
-import org.eclipse.jdt.core.formatter.CodeFormatter;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.TextUtilities;
-import org.eclipse.jface.text.TypedPosition;
-import org.eclipse.jface.text.formatter.ContextBasedFormattingStrategy;
-import org.eclipse.jface.text.formatter.FormattingContextProperties;
-import org.eclipse.jface.text.formatter.IFormattingContext;
-import org.eclipse.jst.jsp.core.internal.Logger;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslation;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslationUtil;
-import org.eclipse.text.edits.MalformedTreeException;
-import org.eclipse.text.edits.TextEdit;
-
-
-public class FormattingStrategyJSPJava extends ContextBasedFormattingStrategy {
-
-	/** Documents to be formatted by this strategy */
-	private final LinkedList fDocuments = new LinkedList();
-	/** Partitions to be formatted by this strategy */
-	private final LinkedList fPartitions = new LinkedList();
-	JSPTranslation translation = null;
-
-	/**
-	 * Creates a new java formatting strategy.
-	 */
-	public FormattingStrategyJSPJava() {
-		super();
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.formatter.ContextBasedFormattingStrategy#format()
-	 */
-	public void format() {
-		super.format();
-
-		final IDocument document = (IDocument) fDocuments.removeFirst();
-		final TypedPosition partition = (TypedPosition) fPartitions.removeFirst();
-
-		if (document != null && partition != null) {
-			try {
-
-				JSPTranslationUtil translationUtil = new JSPTranslationUtil(document);
-				ICompilationUnit cu = translationUtil.getCompilationUnit();
-				if (cu != null) {
-					String cuSource = cu.getSource();
-					TextEdit textEdit = formatString(CodeFormatter.K_COMPILATION_UNIT, cuSource, 0, TextUtilities.getDefaultLineDelimiter(document), getPreferences());
-
-					TextEdit jspEdit = translationUtil.getTranslation().getJspEdit(textEdit);
-					if (jspEdit != null && jspEdit.hasChildren())
-						jspEdit.apply(document);
-				}
-
-			}
-			catch (MalformedTreeException exception) {
-				Logger.logException(exception);
-			}
-			catch (BadLocationException exception) {
-				// Can only happen on concurrent document modification - log
-				// and bail out
-				Logger.logException(exception);
-			}
-			catch (JavaModelException exception) {
-				Logger.logException(exception);
-			}
-		}
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.formatter.ContextBasedFormattingStrategy#formatterStarts(org.eclipse.jface.text.formatter.IFormattingContext)
-	 */
-	public void formatterStarts(final IFormattingContext context) {
-		super.formatterStarts(context);
-
-		fPartitions.addLast(context.getProperty(FormattingContextProperties.CONTEXT_PARTITION));
-		fDocuments.addLast(context.getProperty(FormattingContextProperties.CONTEXT_MEDIUM));
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.formatter.ContextBasedFormattingStrategy#formatterStops()
-	 */
-	public void formatterStops() {
-		super.formatterStops();
-
-		fPartitions.clear();
-		fDocuments.clear();
-	}
-
-	public TextEdit formatString(int kind, String string, int indentationLevel, String lineSeparator, Map options) {
-		return ToolFactory.createCodeFormatter(options).format(kind, string, 0, string.length(), indentationLevel, lineSeparator);
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/ExternalFileEditorInput.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/ExternalFileEditorInput.java
deleted file mode 100644
index bf6f7b9..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/ExternalFileEditorInput.java
+++ /dev/null
@@ -1,145 +0,0 @@
-package org.eclipse.jst.jsp.ui.internal.hyperlink;
-
-import java.io.File;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IPersistableElement;
-import org.eclipse.ui.editors.text.ILocationProvider;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-
-/**
- * EditorInput for external files. Copied from
- * org.eclipse.ui.internal.editors.text.JavaFileEditorInput
- */
-class ExternalFileEditorInput implements IEditorInput, ILocationProvider {
-	// copies of this class exist in:
-	// org.eclipse.wst.xml.ui.internal.hyperlink
-	// org.eclipse.wst.html.ui.internal.hyperlink
-	// org.eclipse.jst.jsp.ui.internal.hyperlink
-	
-	/**
-	 * The workbench adapter which simply provides the label.
-	 * 
-	 */
-	private class WorkbenchAdapter implements IWorkbenchAdapter {
-		/*
-		 * @see org.eclipse.ui.model.IWorkbenchAdapter#getChildren(java.lang.Object)
-		 */
-		public Object[] getChildren(Object o) {
-			return null;
-		}
-
-		/*
-		 * @see org.eclipse.ui.model.IWorkbenchAdapter#getImageDescriptor(java.lang.Object)
-		 */
-		public ImageDescriptor getImageDescriptor(Object object) {
-			return null;
-		}
-
-		/*
-		 * @see org.eclipse.ui.model.IWorkbenchAdapter#getLabel(java.lang.Object)
-		 */
-		public String getLabel(Object o) {
-			return ((ExternalFileEditorInput) o).getName();
-		}
-
-		/*
-		 * @see org.eclipse.ui.model.IWorkbenchAdapter#getParent(java.lang.Object)
-		 */
-		public Object getParent(Object o) {
-			return null;
-		}
-	}
-
-	private File fFile;
-	private WorkbenchAdapter fWorkbenchAdapter = new WorkbenchAdapter();
-
-	public ExternalFileEditorInput(File file) {
-		super();
-		fFile = file;
-		fWorkbenchAdapter = new WorkbenchAdapter();
-	}
-
-	/*
-	 * @see org.eclipse.ui.IEditorInput#exists()
-	 */
-	public boolean exists() {
-		return fFile.exists();
-	}
-
-	/*
-	 * @see org.eclipse.ui.IEditorInput#getImageDescriptor()
-	 */
-	public ImageDescriptor getImageDescriptor() {
-		return null;
-	}
-
-	/*
-	 * @see org.eclipse.ui.IEditorInput#getName()
-	 */
-	public String getName() {
-		return fFile.getName();
-	}
-
-	/*
-	 * @see org.eclipse.ui.IEditorInput#getPersistable()
-	 */
-	public IPersistableElement getPersistable() {
-		return null;
-	}
-
-	/*
-	 * @see org.eclipse.ui.IEditorInput#getToolTipText()
-	 */
-	public String getToolTipText() {
-		return fFile.getAbsolutePath();
-	}
-
-	/*
-	 * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
-	 */
-	public Object getAdapter(Class adapter) {
-		if (ILocationProvider.class.equals(adapter))
-			return this;
-		if (IWorkbenchAdapter.class.equals(adapter))
-			return fWorkbenchAdapter;
-		return Platform.getAdapterManager().getAdapter(this, adapter);
-	}
-
-	/*
-	 * @see org.eclipse.ui.editors.text.ILocationProvider#getPath(java.lang.Object)
-	 */
-	public IPath getPath(Object element) {
-		if (element instanceof ExternalFileEditorInput) {
-			ExternalFileEditorInput input = (ExternalFileEditorInput) element;
-			return Path.fromOSString(input.fFile.getAbsolutePath());
-		}
-		return null;
-	}
-
-	/*
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object o) {
-		if (o == this)
-			return true;
-
-		if (o instanceof ExternalFileEditorInput) {
-			ExternalFileEditorInput input = (ExternalFileEditorInput) o;
-			return fFile.equals(input.fFile);
-		}
-
-		return false;
-	}
-
-	/*
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return fFile.hashCode();
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/ExternalFileHyperlink.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/ExternalFileHyperlink.java
deleted file mode 100644
index 61d6be1..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/ExternalFileHyperlink.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package org.eclipse.jst.jsp.ui.internal.hyperlink;
-
-import java.io.File;
-
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.hyperlink.IHyperlink;
-import org.eclipse.jst.jsp.ui.internal.Logger;
-import org.eclipse.ui.IEditorDescriptor;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-
-/**
- * Hyperlink for external files.
- */
-class ExternalFileHyperlink implements IHyperlink {
-	// copies of this class exist in:
-	// org.eclipse.wst.xml.ui.internal.hyperlink
-	// org.eclipse.wst.html.ui.internal.hyperlink
-	// org.eclipse.jst.jsp.ui.internal.hyperlink
-	
-	private IRegion fHyperlinkRegion;
-	private File fHyperlinkFile;
-
-	public ExternalFileHyperlink(IRegion region, File file) {
-		fHyperlinkFile = file;
-		fHyperlinkRegion = region;
-	}
-	
-	public IRegion getHyperlinkRegion() {
-		return fHyperlinkRegion;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.hyperlink.IHyperlink#getTypeLabel()
-	 */
-	public String getTypeLabel() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.hyperlink.IHyperlink#getHyperlinkText()
-	 */
-	public String getHyperlinkText() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	public void open() {
-		if (fHyperlinkFile != null) {
-			IEditorInput input = new ExternalFileEditorInput(fHyperlinkFile);
-			IEditorDescriptor descriptor;
-			try {
-				descriptor = IDE.getEditorDescriptor(input.getName());
-				if (descriptor != null) {
-					IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
-					IDE.openEditor(page, input, descriptor.getId(), true);
-				}
-			}
-			catch (PartInitException e) {
-				Logger.log(Logger.WARNING_DEBUG, e.getMessage(), e);
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/JSPJavaHyperlink.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/JSPJavaHyperlink.java
deleted file mode 100644
index 539f959..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/JSPJavaHyperlink.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package org.eclipse.jst.jsp.ui.internal.hyperlink;
-
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.ui.JavaUI;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.hyperlink.IHyperlink;
-import org.eclipse.jst.jsp.ui.internal.Logger;
-import org.eclipse.ui.IEditorPart;
-
-/**
- * Hyperlink for JSP Java elements
- */
-class JSPJavaHyperlink implements IHyperlink {
-	private IRegion fRegion;
-	private IJavaElement fElement;
-
-	public JSPJavaHyperlink(IRegion region, IJavaElement element) {
-		fRegion = region;
-		fElement = element;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.hyperlink.IHyperlink#getHyperlinkRegion()
-	 */
-	public IRegion getHyperlinkRegion() {
-		return fRegion;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.hyperlink.IHyperlink#getTypeLabel()
-	 */
-	public String getTypeLabel() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.hyperlink.IHyperlink#getHyperlinkText()
-	 */
-	public String getHyperlinkText() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.hyperlink.IHyperlink#open()
-	 */
-	public void open() {
-		try {
-			IEditorPart editor = JavaUI.openInEditor(fElement);
-			if (editor != null) {
-				JavaUI.revealInEditor(editor, fElement);
-			}
-		}
-		catch (Exception e) {
-			Logger.log(Logger.WARNING_DEBUG, e.getMessage(), e);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/JSPJavaHyperlinkDetector.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/JSPJavaHyperlinkDetector.java
deleted file mode 100644
index be5c52d..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/JSPJavaHyperlinkDetector.java
+++ /dev/null
@@ -1,237 +0,0 @@
-package org.eclipse.jst.jsp.ui.internal.hyperlink;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.IField;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.ILocalVariable;
-import org.eclipse.jdt.core.IMethod;
-import org.eclipse.jdt.core.ISourceRange;
-import org.eclipse.jdt.core.ISourceReference;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.Region;
-import org.eclipse.jface.text.hyperlink.IHyperlink;
-import org.eclipse.jface.text.hyperlink.IHyperlinkDetector;
-import org.eclipse.jst.jsp.core.internal.java.IJSPTranslation;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslation;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslationAdapter;
-import org.eclipse.jst.jsp.ui.internal.Logger;
-import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-import org.eclipse.wst.sse.core.internal.provisional.StructuredModelManager;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-
-/**
- * Detects hyperlinks in JSP Java content
- */
-public class JSPJavaHyperlinkDetector implements IHyperlinkDetector {
-
-	private IHyperlink createHyperlink(IJavaElement element, IRegion region, IDocument document) {
-		IHyperlink link = null;
-		if (region != null) {
-			// open local variable in the JSP file...
-			if (element instanceof ISourceReference) {
-				IFile file = null;
-				int jspOffset = 0;
-				IStructuredModel sModel = null;
-
-				// try to locate the file in the workspace
-				try {
-					sModel = StructuredModelManager.getModelManager().getExistingModelForRead(document);
-					if (sModel != null) {
-						String uriString = sModel.getResolver().getFileBaseLocation();
-						file = getFile(uriString);
-					}
-				}
-				finally {
-					if (sModel != null)
-						sModel.releaseFromRead();
-				}
-
-				// get Java range, translate coordinate to JSP
-
-				try {
-					ISourceRange range = null;
-					IJSPTranslation jspTranslation = getJSPTranslation(document);
-					if (jspTranslation != null) {
-						// link to local variable definitions
-						if (element instanceof ILocalVariable) {
-							range = ((ILocalVariable) element).getNameRange();
-						}
-						// linking to fields of the same compilation unit
-						else if (element.getElementType() == IJavaElement.FIELD) {
-							Object cu = ((IField) element).getCompilationUnit();
-							if (cu != null && cu.equals(jspTranslation.getCompilationUnit()))
-								range = ((ISourceReference) element).getSourceRange();
-						}
-						// linking to methods of the same compilation unit
-						else if (element.getElementType() == IJavaElement.METHOD) {
-							Object cu = ((IMethod) element).getCompilationUnit();
-							if (cu != null && cu.equals(jspTranslation.getCompilationUnit()))
-								range = ((ISourceReference) element).getSourceRange();
-						}
-					}
-
-					if (range != null && file != null && file.exists()) {
-						jspOffset = jspTranslation.getJspOffset(range.getOffset());
-						if (jspOffset >= 0) {
-							link = new WorkspaceFileHyperlink(region, file, new Region(jspOffset, range.getLength()));
-						}
-					}
-				}
-				catch (JavaModelException jme) {
-					Logger.log(Logger.WARNING_DEBUG, jme.getMessage(), jme);
-				}
-			}
-			if (link == null) {
-				link = new JSPJavaHyperlink(region, element);
-			}
-		}
-		return link;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.hyperlink.IHyperlinkDetector#detectHyperlinks(org.eclipse.jface.text.ITextViewer,
-	 *      org.eclipse.jface.text.IRegion, boolean)
-	 */
-	public IHyperlink[] detectHyperlinks(ITextViewer textViewer, IRegion region, boolean canShowMultipleHyperlinks) {
-		List hyperlinks = new ArrayList(0);
-
-		if (region != null && textViewer != null) {
-			IDocument document = textViewer.getDocument();
-
-			// check and make sure this is a valid Java type
-			JSPTranslation jspTranslation = getJSPTranslation(document);
-			if (jspTranslation != null) {
-				// check if we are in JSP Java content
-				int javaOffset = jspTranslation.getJavaOffset(region.getOffset());
-				if (javaOffset > -1) {
-					// check that we are not in indirect Java content (like
-					// included files)
-					if (!jspTranslation.isIndirect(javaOffset)) {
-						// get Java elements
-						IJavaElement[] elements = jspTranslation.getElementsFromJspRange(region.getOffset(), region.getOffset() + region.getLength());
-						if (elements != null && elements.length > 0) {
-							// create a JSPJavaHyperlink for each Java element
-							for (int i = 0; i < elements.length; ++i) {
-								IJavaElement element = elements[i];
-
-								// find hyperlink range for Java element
-								IRegion hyperlinkRegion = selectWord(document, region.getOffset());
-								IHyperlink link = createHyperlink(element, hyperlinkRegion, document);
-								if (link != null) {
-									hyperlinks.add(link);
-								}
-							}
-						}
-					}
-				}
-			}
-		}
-
-		if (hyperlinks.size() == 0)
-			return null;
-		return (IHyperlink[]) hyperlinks.toArray(new IHyperlink[0]);
-	}
-
-	/**
-	 * Returns an IFile from the given uri if possible, null if cannot find
-	 * file from uri.
-	 * 
-	 * @param fileString
-	 *            file system path
-	 * @return returns IFile if fileString exists in the workspace
-	 */
-	private IFile getFile(String fileString) {
-		IFile file = null;
-
-		if (fileString != null) {
-			IFile[] files = ResourcesPlugin.getWorkspace().getRoot().findFilesForLocation(new Path(fileString));
-			for (int i = 0; i < files.length && file == null; i++)
-				if (files[i].exists())
-					file = files[i];
-		}
-
-		return file;
-	}
-	/**
-	 * Get JSP translation object
-	 * 
-	 * @return JSPTranslation if one exists, null otherwise
-	 */
-	private JSPTranslation getJSPTranslation(IDocument document) {
-		JSPTranslation translation = null;
-
-		IDOMModel xmlModel = null;
-		try {
-			xmlModel = (IDOMModel) StructuredModelManager.getModelManager().getExistingModelForRead(document);
-			if (xmlModel != null) {
-				IDOMDocument xmlDoc = xmlModel.getDocument();
-				JSPTranslationAdapter adapter = (JSPTranslationAdapter) xmlDoc.getAdapterFor(IJSPTranslation.class);
-				if (adapter != null) {
-					translation = adapter.getJSPTranslation();
-				}
-			}
-		}
-		finally {
-			if (xmlModel != null)
-				xmlModel.releaseFromRead();
-		}
-		return translation;
-	}
-
-	/**
-	 * Java always selects word when defining region
-	 * 
-	 * @param document
-	 * @param anchor
-	 * @return IRegion
-	 */
-	private IRegion selectWord(IDocument document, int anchor) {
-
-		try {
-			int offset = anchor;
-			char c;
-
-			while (offset >= 0) {
-				c = document.getChar(offset);
-				if (!Character.isJavaIdentifierPart(c))
-					break;
-				--offset;
-			}
-
-			int start = offset;
-
-			offset = anchor;
-			int length = document.getLength();
-
-			while (offset < length) {
-				c = document.getChar(offset);
-				if (!Character.isJavaIdentifierPart(c))
-					break;
-				++offset;
-			}
-
-			int end = offset;
-
-			if (start == end)
-				return new Region(start, 0);
-
-			return new Region(start + 1, end - start - 1);
-
-		}
-		catch (BadLocationException x) {
-			return null;
-		}
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/TaglibHyperlinkDetector.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/TaglibHyperlinkDetector.java
deleted file mode 100644
index 2f780c0..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/TaglibHyperlinkDetector.java
+++ /dev/null
@@ -1,223 +0,0 @@
-package org.eclipse.jst.jsp.ui.internal.hyperlink;
-
-import java.io.File;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.ITypedRegion;
-import org.eclipse.jface.text.Region;
-import org.eclipse.jface.text.TextUtilities;
-import org.eclipse.jface.text.hyperlink.IHyperlink;
-import org.eclipse.jface.text.hyperlink.IHyperlinkDetector;
-import org.eclipse.jface.text.hyperlink.URLHyperlink;
-import org.eclipse.jst.jsp.core.internal.contentmodel.ITaglibRecord;
-import org.eclipse.jst.jsp.core.internal.contentmodel.TLDRecord;
-import org.eclipse.jst.jsp.core.internal.contentmodel.TaglibIndex;
-import org.eclipse.jst.jsp.core.internal.provisional.JSP11Namespace;
-import org.eclipse.jst.jsp.core.internal.provisional.text.IJSPPartitionTypes;
-import org.eclipse.jst.jsp.ui.internal.Logger;
-import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-import org.eclipse.wst.sse.core.internal.provisional.IndexedRegion;
-import org.eclipse.wst.sse.core.internal.provisional.StructuredModelManager;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredPartitioning;
-import org.eclipse.wst.sse.core.internal.util.StringUtils;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMAttr;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * Detects hyperlinks for taglibs.
- */
-public class TaglibHyperlinkDetector implements IHyperlinkDetector {
-	private final String HTTP_PROTOCOL = "http://";//$NON-NLS-1$
-
-	public IHyperlink[] detectHyperlinks(ITextViewer textViewer, IRegion region, boolean canShowMultipleHyperlinks) {
-		IHyperlink hyperlink = null;
-
-		if (textViewer != null && region != null) {
-			IDocument doc = textViewer.getDocument();
-			if (doc != null) {
-				try {
-					// check if jsp tag/directive first
-					ITypedRegion partition = TextUtilities.getPartition(doc, IStructuredPartitioning.DEFAULT_STRUCTURED_PARTITIONING, region.getOffset(), false);
-					if (partition != null && partition.getType() == IJSPPartitionTypes.JSP_DIRECTIVE) {
-						// check if jsp taglib directive
-						Node currentNode = getCurrentNode(doc, region.getOffset());
-						if (currentNode != null && currentNode.getNodeType() == Node.ELEMENT_NODE && JSP11Namespace.ElementName.DIRECTIVE_TAGLIB.equalsIgnoreCase(currentNode.getNodeName())) {
-							// get the uri attribute
-							Attr taglibNode = ((Element) currentNode).getAttributeNode(JSP11Namespace.ATTR_NAME_URI);
-							ITaglibRecord reference = TaglibIndex.resolve(getBaseLocationForTaglib(doc), taglibNode.getValue(), false);
-							if (reference != null) {
-								// handle taglibs
-								switch (reference.getRecordType()) {
-									case (ITaglibRecord.TLD) : {
-										TLDRecord record = (TLDRecord) reference;
-										String uriString = record.getLocation().toString();
-										IRegion hyperlinkRegion = getHyperlinkRegion(taglibNode);
-										hyperlink = createHyperlink(uriString, hyperlinkRegion, doc, taglibNode);
-									}
-										break;
-									case (ITaglibRecord.JAR) :
-									case (ITaglibRecord.URL) : {
-										IRegion hyperlinkRegion = getHyperlinkRegion(taglibNode);
-										hyperlink = new TaglibJarUriHyperlink(hyperlinkRegion, reference);
-									}
-								}
-							}
-						}
-					}
-				}
-				catch (BadLocationException e) {
-					Logger.log(Logger.WARNING_DEBUG, e.getMessage(), e);
-				}
-			}
-		}
-		if (hyperlink != null)
-			return new IHyperlink[]{hyperlink};
-		return null;
-	}
-
-	/**
-	 * Get the base location from the current model (if within workspace,
-	 * location is relative to workspace, otherwise, file system path)
-	 */
-	private String getBaseLocationForTaglib(IDocument document) {
-		String baseLoc = null;
-
-		// get the base location from the current model
-		IStructuredModel sModel = null;
-		try {
-			sModel = StructuredModelManager.getModelManager().getExistingModelForRead(document);
-			if (sModel != null) {
-				baseLoc = sModel.getBaseLocation();
-			}
-		}
-		finally {
-			if (sModel != null) {
-				sModel.releaseFromRead();
-			}
-		}
-		return baseLoc;
-	}
-
-	// the below methods were copied from URIHyperlinkDetector
-
-	private IRegion getHyperlinkRegion(Node node) {
-		IRegion hyperRegion = null;
-
-		if (node != null) {
-			short nodeType = node.getNodeType();
-			if (nodeType == Node.DOCUMENT_TYPE_NODE) {
-				// handle doc type node
-				IDOMNode docNode = (IDOMNode) node;
-				hyperRegion = new Region(docNode.getStartOffset(), docNode.getEndOffset() - docNode.getStartOffset());
-			}
-			else if (nodeType == Node.ATTRIBUTE_NODE) {
-				// handle attribute nodes
-				IDOMAttr att = (IDOMAttr) node;
-				// do not include quotes in attribute value region
-				int regOffset = att.getValueRegionStartOffset();
-				int regLength = att.getValueRegion().getTextLength();
-				String attValue = att.getValueRegionText();
-				if (StringUtils.isQuoted(attValue)) {
-					regOffset = ++regOffset;
-					regLength = regLength - 2;
-				}
-				hyperRegion = new Region(regOffset, regLength);
-			}
-		}
-		return hyperRegion;
-	}
-
-	/**
-	 * Returns an IFile from the given uri if possible, null if cannot find
-	 * file from uri.
-	 * 
-	 * @param fileString
-	 *            file system path
-	 * @return returns IFile if fileString exists in the workspace
-	 */
-	private IFile getFile(String fileString) {
-		IFile file = null;
-
-		if (fileString != null) {
-			IFile[] files = ResourcesPlugin.getWorkspace().getRoot().findFilesForLocation(new Path(fileString));
-			for (int i = 0; i < files.length && file == null; i++)
-				if (files[i].exists())
-					file = files[i];
-		}
-
-		return file;
-	}
-
-	/**
-	 * Create the appropriate hyperlink
-	 * 
-	 * @param uriString
-	 * @param hyperlinkRegion
-	 * @return IHyperlink
-	 */
-	private IHyperlink createHyperlink(String uriString, IRegion hyperlinkRegion, IDocument document, Node node) {
-		IHyperlink link = null;
-
-		if (uriString != null) {
-			String temp = uriString.toLowerCase();
-			if (temp.startsWith(HTTP_PROTOCOL)) {
-				// this is a URLHyperlink since this is a web address
-				link = new URLHyperlink(hyperlinkRegion, uriString);
-			}
-
-			// try to locate the file in the workspace
-			IFile file = getFile(uriString);
-			if (file != null && file.exists()) {
-				// this is a WorkspaceFileHyperlink since file exists in
-				// workspace
-				link = new WorkspaceFileHyperlink(hyperlinkRegion, file);
-			}
-			else {
-				// this is an ExternalFileHyperlink since file does not exist
-				// in workspace
-				File externalFile = new File(uriString);
-				link = new ExternalFileHyperlink(hyperlinkRegion, externalFile);
-			}
-		}
-
-		return link;
-	}
-
-	/**
-	 * Returns the node the cursor is currently on in the document. null if no
-	 * node is selected
-	 * 
-	 * @param offset
-	 * @return Node either element, doctype, text, or null
-	 */
-	private Node getCurrentNode(IDocument document, int offset) {
-		// get the current node at the offset (returns either: element,
-		// doctype, text)
-		IndexedRegion inode = null;
-		IStructuredModel sModel = null;
-		try {
-			sModel = StructuredModelManager.getModelManager().getExistingModelForRead(document);
-			inode = sModel.getIndexedRegion(offset);
-			if (inode == null)
-				inode = sModel.getIndexedRegion(offset - 1);
-		}
-		finally {
-			if (sModel != null)
-				sModel.releaseFromRead();
-		}
-
-		if (inode instanceof Node) {
-			return (Node) inode;
-		}
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/TaglibJarHyperlink.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/TaglibJarHyperlink.java
deleted file mode 100644
index 6762926..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/TaglibJarHyperlink.java
+++ /dev/null
@@ -1,114 +0,0 @@
-package org.eclipse.jst.jsp.ui.internal.hyperlink;
-
-import java.io.File;
-import java.io.InputStream;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.hyperlink.IHyperlink;
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-import org.eclipse.jst.jsp.ui.internal.Logger;
-import org.eclipse.ui.IEditorDescriptor;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-
-/**
- * Hyperlink for taglib files in jars.
- */
-class TaglibJarHyperlink implements IHyperlink {
-	static class ZipStorage implements IStorage {
-		File fFile = null;
-		String fEntryName = null;
-
-		ZipStorage(File file, String entryName) {
-			fFile = file;
-			fEntryName = entryName;
-		}
-
-		public InputStream getContents() throws CoreException {
-			InputStream stream = null;
-			try {
-				ZipFile file = new ZipFile(fFile);
-				ZipEntry entry = file.getEntry(fEntryName);
-				stream = file.getInputStream(entry);
-			}
-			catch (Exception e) {
-				throw new CoreException(new Status(IStatus.ERROR, JSPUIPlugin.getDefault().getBundle().getSymbolicName(), IStatus.ERROR, getFullPath().toString(), e));
-			}
-			return stream;
-		}
-
-		public IPath getFullPath() {
-			return new Path(fFile.getAbsolutePath() + IPath.SEPARATOR + fEntryName);
-		}
-
-		public String getName() {
-			return fEntryName;
-		}
-
-		public boolean isReadOnly() {
-			return true;
-		}
-
-		public Object getAdapter(Class adapter) {
-			return null;
-		}
-	}
-
-	private IRegion fRegion;
-	private IPath fZipFilePath;
-
-	public TaglibJarHyperlink(IRegion region, IPath zipFilePath) {
-		fRegion = region;
-		fZipFilePath = zipFilePath;
-	}
-
-	public IRegion getHyperlinkRegion() {
-		return fRegion;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.hyperlink.IHyperlink#getTypeLabel()
-	 */
-	public String getTypeLabel() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.hyperlink.IHyperlink#getHyperlinkText()
-	 */
-	public String getHyperlinkText() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	public void open() {
-		IEditorInput input = new URLFileHyperlink.StorageEditorInput(new ZipStorage(fZipFilePath.toFile(), "META-INF/taglib.tld")); //$NON-NLS-1$
-		IEditorDescriptor descriptor;
-		try {
-			descriptor = IDE.getEditorDescriptor(input.getName());
-			if (descriptor != null) {
-				IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
-				IDE.openEditor(page, input, descriptor.getId(), true);
-			}
-		}
-		catch (PartInitException e) {
-			Logger.log(Logger.WARNING_DEBUG, e.getMessage(), e);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/TaglibJarUriHyperlink.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/TaglibJarUriHyperlink.java
deleted file mode 100644
index aab8f40..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/TaglibJarUriHyperlink.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package org.eclipse.jst.jsp.ui.internal.hyperlink;
-
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.hyperlink.IHyperlink;
-import org.eclipse.jst.jsp.core.internal.contentmodel.ITaglibRecord;
-import org.eclipse.jst.jsp.core.internal.contentmodel.JarRecord;
-import org.eclipse.jst.jsp.core.internal.contentmodel.URLRecord;
-
-/**
- * Hyperlink for taglib files in jars or specified by urls.
- */
-class TaglibJarUriHyperlink implements IHyperlink {
-	private IRegion fRegion;
-	private ITaglibRecord fTaglibRecord;
-	private IHyperlink fHyperlink;
-
-	public TaglibJarUriHyperlink(IRegion region, ITaglibRecord record) {
-		fRegion = region;
-		fTaglibRecord = record;
-	}
-
-	private IHyperlink getHyperlink() {
-		if (fHyperlink == null && fTaglibRecord != null) {
-			switch (fTaglibRecord.getRecordType()) {
-				case (ITaglibRecord.JAR) : {
-					JarRecord record = (JarRecord) fTaglibRecord;
-					fHyperlink = new TaglibJarHyperlink(fRegion, record.getLocation());
-				}
-					break;
-				case (ITaglibRecord.URL) : {
-					URLRecord record = (URLRecord) fTaglibRecord;
-					fHyperlink = new URLFileHyperlink(fRegion, record.getURL());
-				}
-			}
-		}
-		return fHyperlink;
-	}
-
-	public IRegion getHyperlinkRegion() {
-		IRegion region = null;
-
-		IHyperlink link = getHyperlink();
-		if (link != null) {
-			region = link.getHyperlinkRegion();
-		}
-		return region;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.hyperlink.IHyperlink#getTypeLabel()
-	 */
-	public String getTypeLabel() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.hyperlink.IHyperlink#getHyperlinkText()
-	 */
-	public String getHyperlinkText() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	public void open() {
-		IHyperlink link = getHyperlink();
-		if (link != null) {
-			link.open();
-		}
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/URIHyperlinkDetector.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/URIHyperlinkDetector.java
deleted file mode 100644
index 2414d54..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/URIHyperlinkDetector.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package org.eclipse.jst.jsp.ui.internal.hyperlink;
-
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jst.jsp.ui.internal.Logger;
-import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-import org.eclipse.wst.sse.core.internal.provisional.StructuredModelManager;
-import org.eclipse.wst.sse.core.internal.util.StringUtils;
-import org.eclipse.wst.sse.core.internal.util.URIResolver;
-import org.eclipse.wst.xml.core.internal.contentmodel.util.DOMNamespaceHelper;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Node;
-
-/**
- * Detects hyperlinks in tags. Includes detection in DOCTYPE and attribute
- * values. Resolves references to schemas, dtds, href, file, src, etc using the
- * Web Project Resolver.
- * 
- */
-public class URIHyperlinkDetector extends XMLHyperlinkDetector {
-	// copies of this class exist in:
-	// org.eclipse.wst.html.ui.internal.hyperlink
-	// org.eclipse.jst.jsp.ui.internal.hyperlink
-
-	private final String SCHEMA_LOCATION = "schemaLocation"; //$NON-NLS-1$
-	private final String XMLNS = "xmlns"; //$NON-NLS-1$
-	private final String XSI_NAMESPACE_URI = "http://www.w3.org/2001/XMLSchema-instance"; //$NON-NLS-1$
-
-	protected String getURIString(Node node, IDocument document) {
-		if (isXMLHandled(node))
-			return super.getURIString(node, document);
-		
-		String resolvedURI = null;
-		if (node.getNodeType() == Node.ATTRIBUTE_NODE) {
-			// handle attribute node
-			Attr attrNode = (Attr) node;
-			String attrValue = attrNode.getValue();
-			attrValue = StringUtils.strip(attrValue);
-
-			if (attrValue != null && attrValue.length() > 0) {
-				// currently using model's URI resolver until a better resolver is
-				// extended to common extensible URI resolver
-				// future_TODO: should use the new common extensible URI resolver
-				// when
-				// clients start implementing it
-				IStructuredModel sModel = null;
-				try {
-					sModel = StructuredModelManager.getModelManager().getExistingModelForRead(document);
-					if (sModel != null) {
-						URIResolver resolver = sModel.getResolver();
-						resolvedURI = resolver != null ? resolver.getLocationByURI(attrValue, true) : attrValue;
-					}
-				}
-				catch (Exception e) {
-					Logger.logException(e);
-				}
-				finally {
-					if (sModel != null)
-						sModel.releaseFromRead();
-				}
-			}
-		}
-		return resolvedURI;
-	}
-	
-	/**
-	 * Check if this is an xml-related node (schema location, doctype).
-	 * @param node
-	 * @return
-	 */
-	private boolean isXMLHandled(Node node) {
-		short nodeType = node.getNodeType();
-		if (nodeType == Node.DOCUMENT_TYPE_NODE) {
-			return true;
-		} else if (nodeType == Node.ATTRIBUTE_NODE) {
-			Attr attrNode = (Attr) node;
-			String attrName = attrNode.getName();
-
-			// handle schemaLocation attribute
-			String prefix = DOMNamespaceHelper.getPrefix(attrName);
-			String unprefixedName = DOMNamespaceHelper.getUnprefixedName(attrName);
-			if ((XMLNS.equals(prefix)) || (XMLNS.equals(unprefixedName))) {
-				return true;
-			} else if ((XSI_NAMESPACE_URI.equals(DOMNamespaceHelper.getNamespaceURI(attrNode))) && (SCHEMA_LOCATION.equals(unprefixedName))) {
-				return true;
-			}
-		}
-		return false;
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/URLFileHyperlink.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/URLFileHyperlink.java
deleted file mode 100644
index 092f6bd..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/URLFileHyperlink.java
+++ /dev/null
@@ -1,161 +0,0 @@
-package org.eclipse.jst.jsp.ui.internal.hyperlink;
-
-import java.io.InputStream;
-import java.net.URL;
-
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.hyperlink.IHyperlink;
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-import org.eclipse.jst.jsp.ui.internal.Logger;
-import org.eclipse.ui.IEditorDescriptor;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IPersistableElement;
-import org.eclipse.ui.IStorageEditorInput;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-
-/**
- * Hyperlink for URLs (opens in read-only mode)
- */
-class URLFileHyperlink implements IHyperlink {
-	// copies of this class exist in:
-	// org.eclipse.wst.xml.ui.internal.hyperlink
-	// org.eclipse.wst.html.ui.internal.hyperlink
-	// org.eclipse.jst.jsp.ui.internal.hyperlink
-
-	static class StorageEditorInput implements IStorageEditorInput {
-		IStorage fStorage = null;
-
-		StorageEditorInput(IStorage storage) {
-			fStorage = storage;
-		}
-
-		public IStorage getStorage() throws CoreException {
-			return fStorage;
-		}
-
-		public boolean exists() {
-			return fStorage != null;
-		}
-
-		public ImageDescriptor getImageDescriptor() {
-			return null;
-		}
-
-		public String getName() {
-			return fStorage.getName();
-		}
-
-		public IPersistableElement getPersistable() {
-			return null;
-		}
-
-		public String getToolTipText() {
-			return fStorage.getFullPath().toString();
-		}
-
-		public Object getAdapter(Class adapter) {
-			return null;
-		}
-	}
-	
-	static class URLStorage implements IStorage {
-		URL fURL = null;
-
-		URLStorage(URL url) {
-			fURL = url;
-		}
-
-		public InputStream getContents() throws CoreException {
-			InputStream stream = null;
-			try {
-				stream = fURL.openStream();
-			}
-			catch (Exception e) {
-				throw new CoreException(new Status(IStatus.ERROR, JSPUIPlugin.getDefault().getBundle().getSymbolicName(), IStatus.ERROR, fURL.toString(), e));
-			}
-			return stream;
-		}
-
-		public IPath getFullPath() {
-			return new Path(fURL.toString());
-		}
-
-		public String getName() {
-			return new Path(fURL.getFile()).lastSegment();
-		}
-
-		public boolean isReadOnly() {
-			return true;
-		}
-
-		public Object getAdapter(Class adapter) {
-			return null;
-		}
-
-	}
-
-	private IRegion fRegion;
-	private URL fURL;
-
-	public URLFileHyperlink(IRegion region, URL url) {
-		fRegion = region;
-		fURL = url;
-	}
-
-	public IRegion getHyperlinkRegion() {
-		return fRegion;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.hyperlink.IHyperlink#getTypeLabel()
-	 */
-	public String getTypeLabel() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.hyperlink.IHyperlink#getHyperlinkText()
-	 */
-	public String getHyperlinkText() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.hyperlink.IHyperlink#open()
-	 */
-	public void open() {
-		if (fURL != null) {
-			IEditorInput input = new StorageEditorInput(new URLStorage(fURL));
-			IEditorDescriptor descriptor;
-			try {
-				descriptor = IDE.getEditorDescriptor(input.getName());
-				if (descriptor != null) {
-					IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
-					IDE.openEditor(page, input, descriptor.getId(), true);
-				}
-			}
-			catch (PartInitException e) {
-				Logger.log(Logger.WARNING_DEBUG, e.getMessage(), e);
-			}
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/WorkspaceFileHyperlink.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/WorkspaceFileHyperlink.java
deleted file mode 100644
index 17aaa0a..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/WorkspaceFileHyperlink.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package org.eclipse.jst.jsp.ui.internal.hyperlink;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.hyperlink.IHyperlink;
-import org.eclipse.jst.jsp.ui.internal.Logger;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.texteditor.ITextEditor;
-
-/**
- * Hyperlink for files within the workspace. (As long as there is an IFile,
- * this can be used) Opens the default editor for the file.
- */
-class WorkspaceFileHyperlink implements IHyperlink {
-	// copies of this class exist in:
-	// org.eclipse.wst.xml.ui.internal.hyperlink
-	// org.eclipse.wst.html.ui.internal.hyperlink
-	// org.eclipse.jst.jsp.ui.internal.hyperlink
-
-	private IRegion fRegion;
-	private IFile fFile;
-	private IRegion fHighlightRange;
-
-	public WorkspaceFileHyperlink(IRegion region, IFile file) {
-		fRegion = region;
-		fFile = file;
-	}
-
-	public WorkspaceFileHyperlink(IRegion region, IFile file, IRegion range) {
-		fRegion = region;
-		fFile = file;
-		fHighlightRange = range;
-	}
-
-	public IRegion getHyperlinkRegion() {
-		return fRegion;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.hyperlink.IHyperlink#getTypeLabel()
-	 */
-	public String getTypeLabel() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.hyperlink.IHyperlink#getHyperlinkText()
-	 */
-	public String getHyperlinkText() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	public void open() {
-		if (fFile != null && fFile.exists()) {
-			try {
-				IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
-				IEditorPart editor = IDE.openEditor(page, fFile, true);
-				// highlight range in editor if possible
-				if (fHighlightRange != null && editor instanceof ITextEditor) {
-					((ITextEditor) editor).setHighlightRange(fHighlightRange.getOffset(), fHighlightRange.getLength(), true);
-				}
-			}
-			catch (PartInitException pie) {
-				Logger.log(Logger.WARNING_DEBUG, pie.getMessage(), pie);
-			}
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/XMLHyperlinkDetector.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/XMLHyperlinkDetector.java
deleted file mode 100644
index 7e2bcc5..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/XMLHyperlinkDetector.java
+++ /dev/null
@@ -1,474 +0,0 @@
-package org.eclipse.jst.jsp.ui.internal.hyperlink;
-
-import java.io.File;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.Region;
-import org.eclipse.jface.text.hyperlink.IHyperlink;
-import org.eclipse.jface.text.hyperlink.IHyperlinkDetector;
-import org.eclipse.jface.text.hyperlink.URLHyperlink;
-import org.eclipse.wst.common.uriresolver.internal.provisional.URIResolverPlugin;
-import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-import org.eclipse.wst.sse.core.internal.provisional.IndexedRegion;
-import org.eclipse.wst.sse.core.internal.provisional.StructuredModelManager;
-import org.eclipse.wst.sse.core.internal.util.StringUtils;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMDataType;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.xml.core.internal.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.xml.core.internal.contentmodel.util.DOMNamespaceHelper;
-import org.eclipse.wst.xml.core.internal.modelquery.ModelQueryUtil;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMAttr;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-import org.w3c.dom.Attr;
-import org.w3c.dom.DocumentType;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-
-/**
- * Detects hyperlinks in XML tags. Includes detection in DOCTYPE and attribute
- * values. Resolves references to schemas, dtds, etc using the Common URI
- * Resolver.
- * 
- */
-class XMLHyperlinkDetector implements IHyperlinkDetector {
-	// copies of this class exist in:
-	// org.eclipse.wst.xml.ui.internal.hyperlink
-	// org.eclipse.wst.html.ui.internal.hyperlink
-	// org.eclipse.jst.jsp.ui.internal.hyperlink
-
-	private final String NO_NAMESPACE_SCHEMA_LOCATION = "noNamespaceSchemaLocation"; //$NON-NLS-1$
-	private final String SCHEMA_LOCATION = "schemaLocation"; //$NON-NLS-1$
-	private final String XMLNS = "xmlns"; //$NON-NLS-1$
-	private final String XSI_NAMESPACE_URI = "http://www.w3.org/2001/XMLSchema-instance"; //$NON-NLS-1$
-	private final String HTTP_PROTOCOL = "http://";//$NON-NLS-1$
-
-	public IHyperlink[] detectHyperlinks(ITextViewer textViewer, IRegion region, boolean canShowMultipleHyperlinks) {
-		// for now, only capable of creating 1 hyperlink
-		List hyperlinks = new ArrayList(0);
-
-		if (region != null && textViewer != null) {
-			IDocument document = textViewer.getDocument();
-			Node currentNode = getCurrentNode(document, region.getOffset());
-			if (currentNode != null) {
-				String uriString = null;
-				if (currentNode.getNodeType() == Node.DOCUMENT_TYPE_NODE) {
-					// doctype nodes
-					uriString = getURIString(currentNode, document);
-				}
-				else if (currentNode.getNodeType() == Node.ELEMENT_NODE) {
-					// element nodes
-					Attr currentAttr = getCurrentAttrNode(currentNode, region.getOffset());
-					if (currentAttr != null) {
-						// try to find link for current attribute
-						// resolve attribute value
-						uriString = getURIString(currentAttr, document);
-						// verify validity of uri string
-						if (!isValidURI(uriString))
-							// reset current attribute
-							currentAttr = null;
-					}
-					if (currentAttr == null) {
-						// try to find a linkable attribute within element
-						currentAttr = getLinkableAttr((Element) currentNode);
-						if (currentAttr != null) {
-							uriString = getURIString(currentAttr, document);
-						}
-					}
-					currentNode = currentAttr;
-				}
-				// try to create hyperlink from information gathered
-				if (uriString != null && currentNode != null && isValidURI(uriString)) {
-					IRegion hyperlinkRegion = getHyperlinkRegion(currentNode);
-					IHyperlink hyperlink = createHyperlink(uriString, hyperlinkRegion, document, currentNode);
-					if (hyperlink != null) {
-						hyperlinks.add(hyperlink);
-					}
-				}
-			}
-		}
-		if (hyperlinks.size() == 0)
-			return null;
-		return (IHyperlink[]) hyperlinks.toArray(new IHyperlink[0]);
-	}
-
-	/**
-	 * Create the appropriate hyperlink
-	 * 
-	 * @param uriString
-	 * @param hyperlinkRegion
-	 * @return IHyperlink
-	 */
-	private IHyperlink createHyperlink(String uriString, IRegion hyperlinkRegion, IDocument document, Node node) {
-		IHyperlink link = null;
-
-		if (uriString != null) {
-			String temp = uriString.toLowerCase();
-			if (temp.startsWith(HTTP_PROTOCOL)) {
-				// this is a URLHyperlink since this is a web address
-				link = new URLHyperlink(hyperlinkRegion, uriString);
-			}
-			else {
-				// try to locate the file in the workspace
-				IFile file = getFile(uriString);
-				if (file != null && file.exists()) {
-					// this is a WorkspaceFileHyperlink since file exists in
-					// workspace
-					link = new WorkspaceFileHyperlink(hyperlinkRegion, file);
-				}
-				else {
-					// this is an ExternalFileHyperlink since file does not
-					// exist
-					// in workspace
-					File externalFile = new File(uriString);
-					link = new ExternalFileHyperlink(hyperlinkRegion, externalFile);
-				}
-			}
-		}
-
-		return link;
-	}
-
-	private IRegion getHyperlinkRegion(Node node) {
-		IRegion hyperRegion = null;
-
-		if (node != null) {
-			short nodeType = node.getNodeType();
-			if (nodeType == Node.DOCUMENT_TYPE_NODE) {
-				// handle doc type node
-				IDOMNode docNode = (IDOMNode) node;
-				hyperRegion = new Region(docNode.getStartOffset(), docNode.getEndOffset() - docNode.getStartOffset());
-			}
-			else if (nodeType == Node.ATTRIBUTE_NODE) {
-				// handle attribute nodes
-				IDOMAttr att = (IDOMAttr) node;
-				// do not include quotes in attribute value region
-				int regOffset = att.getValueRegionStartOffset();
-				int regLength = att.getValueRegion().getTextLength();
-				String attValue = att.getValueRegionText();
-				if (StringUtils.isQuoted(attValue)) {
-					regOffset = ++regOffset;
-					regLength = regLength - 2;
-				}
-				hyperRegion = new Region(regOffset, regLength);
-			}
-		}
-		return hyperRegion;
-	}
-
-	/**
-	 * Returns the URI string
-	 * 
-	 * @param node -
-	 *            assumes not null
-	 */
-	protected String getURIString(Node node, IDocument document) {
-		String resolvedURI = null;
-		// need the base location, publicId, and systemId for URIResolver
-		String baseLoc = null;
-		String publicId = null;
-		String systemId = null;
-
-		short nodeType = node.getNodeType();
-		// handle doc type node
-		if (nodeType == Node.DOCUMENT_TYPE_NODE) {
-			baseLoc = getBaseLocation(document);
-			publicId = ((DocumentType) node).getPublicId();
-			systemId = ((DocumentType) node).getSystemId();
-		}
-		else if (nodeType == Node.ATTRIBUTE_NODE) {
-			// handle attribute node
-			Attr attrNode = (Attr) node;
-			baseLoc = getBaseLocation(document);
-			String attrName = attrNode.getName();
-			String attrValue = attrNode.getValue();
-			attrValue = StringUtils.strip(attrValue);
-
-			// handle schemaLocation attribute
-			String prefix = DOMNamespaceHelper.getPrefix(attrName);
-			String unprefixedName = DOMNamespaceHelper.getUnprefixedName(attrName);
-			if ((XMLNS.equals(prefix)) || (XMLNS.equals(unprefixedName))) {
-				publicId = attrValue;
-				systemId = getLocationHint(attrNode.getOwnerElement(), publicId);
-			}
-			else if ((XSI_NAMESPACE_URI.equals(DOMNamespaceHelper.getNamespaceURI(attrNode))) && (SCHEMA_LOCATION.equals(unprefixedName))) {
-				// for now just use the first pair
-				// need to look into being more precise
-				StringTokenizer st = new StringTokenizer(attrValue);
-				publicId = st.hasMoreTokens() ? st.nextToken() : null;
-				systemId = st.hasMoreTokens() ? st.nextToken() : null;
-				// else check if xmlns publicId = value
-			}
-			else {
-				systemId = attrValue;
-			}
-		}
-
-		resolvedURI = resolveURI(baseLoc, publicId, systemId);
-		return resolvedURI;
-	}
-
-	/**
-	 * Returns an IFile from the given uri if possible, null if cannot find
-	 * file from uri.
-	 * 
-	 * @param fileString
-	 *            file system path
-	 * @return returns IFile if fileString exists in the workspace
-	 */
-	private IFile getFile(String fileString) {
-		IFile file = null;
-
-		if (fileString != null) {
-			IFile[] files = ResourcesPlugin.getWorkspace().getRoot().findFilesForLocation(new Path(fileString));
-			for (int i = 0; i < files.length && file == null; i++)
-				if (files[i].exists())
-					file = files[i];
-		}
-
-		return file;
-	}
-
-	/**
-	 * Checks to see if the given attribute is openable. Attribute is openable
-	 * if it is a namespace declaration attribute or if the attribute value is
-	 * of type URI.
-	 * 
-	 * @param attr
-	 *            cannot be null
-	 * @param cmElement
-	 *            CMElementDeclaration associated with the attribute (can be
-	 *            null)
-	 * @return true if this attribute is "openOn-able" false otherwise
-	 */
-	private boolean isLinkableAttr(Attr attr, CMElementDeclaration cmElement) {
-		String attrName = attr.getName();
-		String prefix = DOMNamespaceHelper.getPrefix(attrName);
-		String unprefixedName = DOMNamespaceHelper.getUnprefixedName(attrName);
-		// determine if attribute is namespace declaration
-		if ((XMLNS.equals(prefix)) || (XMLNS.equals(unprefixedName)))
-			return true;
-
-		// determine if attribute contains schema location
-		if ((XSI_NAMESPACE_URI.equals(DOMNamespaceHelper.getNamespaceURI(attr))) && ((SCHEMA_LOCATION.equals(unprefixedName)) || (NO_NAMESPACE_SCHEMA_LOCATION.equals(unprefixedName))))
-			return true;
-
-		// determine if attribute value is of type URI
-		if (cmElement != null) {
-			CMAttributeDeclaration attrDecl = (CMAttributeDeclaration) cmElement.getAttributes().getNamedItem(attrName);
-			if ((attrDecl != null) && (attrDecl.getAttrType() != null) && (CMDataType.URI.equals(attrDecl.getAttrType().getDataTypeName()))) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Attempts to find an attribute within element that is openable.
-	 * 
-	 * @param element -
-	 *            cannot be null
-	 * @return Attr attribute that can be used for open on, null if no
-	 *         attribute could be found
-	 */
-	private Attr getLinkableAttr(Element element) {
-		CMElementDeclaration ed = getCMElementDeclaration(element);
-		// get the list of attributes for this node
-		NamedNodeMap attrs = element.getAttributes();
-		for (int i = 0; i < attrs.getLength(); ++i) {
-			// check if this attribute is "openOn-able"
-			Attr att = (Attr) attrs.item(i);
-			if (isLinkableAttr(att, ed)) {
-				return att;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Get the CMElementDeclaration for an element
-	 * 
-	 * @param element
-	 * @return CMElementDeclaration
-	 */
-	private CMElementDeclaration getCMElementDeclaration(Element element) {
-		CMElementDeclaration ed = null;
-
-		ModelQuery mq = ModelQueryUtil.getModelQuery(element.getOwnerDocument());
-		if (mq != null) {
-			ed = mq.getCMElementDeclaration(element);
-		}
-		return ed;
-	}
-
-	/**
-	 * Returns the attribute node within node at offset
-	 * 
-	 * @param node
-	 * @param offset
-	 * @return Attr
-	 */
-	private Attr getCurrentAttrNode(Node node, int offset) {
-		if ((node instanceof IndexedRegion) && ((IndexedRegion) node).contains(offset) && (node.hasAttributes())) {
-			NamedNodeMap attrs = node.getAttributes();
-			// go through each attribute in node and if attribute contains
-			// offset, return that attribute
-			for (int i = 0; i < attrs.getLength(); ++i) {
-				// assumption that if parent node is of type IndexedRegion,
-				// then its attributes will also be of type IndexedRegion
-				IndexedRegion attRegion = (IndexedRegion) attrs.item(i);
-				if (attRegion.contains(offset)) {
-					return (Attr) attrs.item(i);
-				}
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the node the cursor is currently on in the document. null if no
-	 * node is selected
-	 * 
-	 * @param offset
-	 * @return Node either element, doctype, text, or null
-	 */
-	private Node getCurrentNode(IDocument document, int offset) {
-		// get the current node at the offset (returns either: element,
-		// doctype, text)
-		IndexedRegion inode = null;
-		IStructuredModel sModel = null;
-		try {
-			sModel = StructuredModelManager.getModelManager().getExistingModelForRead(document);
-			if (sModel != null) {
-				inode = sModel.getIndexedRegion(offset);
-				if (inode == null)
-					inode = sModel.getIndexedRegion(offset - 1);
-			}
-		}
-		finally {
-			if (sModel != null)
-				sModel.releaseFromRead();
-		}
-
-		if (inode instanceof Node) {
-			return (Node) inode;
-		}
-		return null;
-	}
-
-	/**
-	 * Get the base location from the current model (local file system)
-	 */
-	private String getBaseLocation(IDocument document) {
-		String baseLoc = null;
-
-		// get the base location from the current model
-		IStructuredModel sModel = null;
-		try {
-			sModel = StructuredModelManager.getModelManager().getExistingModelForRead(document);
-			if (sModel != null) {
-				IPath location = new Path(sModel.getBaseLocation());
-				if (location.toFile().exists()) {
-					baseLoc = location.toString();
-				}
-				else {
-					IPath basePath = new Path(sModel.getBaseLocation());
-					if (basePath.segmentCount() > 1)
-						baseLoc = ResourcesPlugin.getWorkspace().getRoot().getFile(basePath).getLocation().toString();
-					else
-						baseLoc = ResourcesPlugin.getWorkspace().getRoot().getLocation().append(basePath).toString();
-				}
-			}
-		}
-		finally {
-			if (sModel != null) {
-				sModel.releaseFromRead();
-			}
-		}
-		return baseLoc;
-	}
-
-	/**
-	 * Checks whether the given uriString is really pointing to a file
-	 * 
-	 * @param uriString
-	 * @return boolean
-	 */
-	private boolean isValidURI(String uriString) {
-		boolean isValid = false;
-
-		if (uriString != null) {
-			// first do a quick check to see if this is some sort of http://
-			String tempString = uriString.toLowerCase();
-			if (tempString.startsWith(HTTP_PROTOCOL))
-				isValid = true;
-			else {
-				File file = new File(uriString);
-				try {
-					URI uri = new URI(uriString);
-					file = new File(uri);
-				}
-				catch (URISyntaxException e) {
-					// it is okay that a uri could not be created out of
-					// uriString
-				}
-				catch (IllegalArgumentException e) {
-					// it is okay that file could not be created out of uri
-				}
-				isValid = file.exists();
-			}
-		}
-		return isValid;
-	}
-
-	/**
-	 * Resolves the given URI information
-	 * 
-	 * @param baseLocation
-	 * @param publicId
-	 * @param systemId
-	 * @return String resolved uri.
-	 */
-	private String resolveURI(String baseLocation, String publicId, String systemId) {
-		// dont resolve if there's nothing to resolve
-		if ((baseLocation == null) && (publicId == null) && (systemId == null))
-			return null;
-		return URIResolverPlugin.createResolver().resolve(baseLocation, publicId, systemId);
-	}
-
-	/**
-	 * Find the location hint for the given namespaceURI if it exists
-	 * 
-	 * @param elementNode -
-	 *            cannot be null
-	 * @param namespaceURI -
-	 *            cannot be null
-	 * @return location hint (systemId) if it was found, null otherwise
-	 */
-	private String getLocationHint(Element elementNode, String namespaceURI) {
-		Attr schemaLocNode = elementNode.getAttributeNodeNS(XSI_NAMESPACE_URI, SCHEMA_LOCATION);
-		if (schemaLocNode != null) {
-			StringTokenizer st = new StringTokenizer(schemaLocNode.getValue());
-			while (st.hasMoreTokens()) {
-				String publicId = st.hasMoreTokens() ? st.nextToken() : null;
-				String systemId = st.hasMoreTokens() ? st.nextToken() : null;
-				// found location hint
-				if (namespaceURI.equalsIgnoreCase(publicId))
-					return systemId;
-			}
-		}
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/BasicRefactorSearchRequestor.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/BasicRefactorSearchRequestor.java
deleted file mode 100644
index 8a7501c..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/BasicRefactorSearchRequestor.java
+++ /dev/null
@@ -1,357 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.java.refactoring;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Reader;
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.search.SearchDocument;
-import org.eclipse.jdt.core.search.SearchMatch;
-import org.eclipse.jdt.core.search.SearchRequestor;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jst.jsp.core.internal.java.search.JSPSearchSupport;
-import org.eclipse.jst.jsp.core.internal.java.search.JavaSearchDocumentDelegate;
-import org.eclipse.jst.jsp.ui.internal.JSPUIMessages;
-import org.eclipse.jst.jsp.ui.internal.Logger;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.DocumentChange;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.text.edits.MalformedTreeException;
-import org.eclipse.text.edits.MultiTextEdit;
-import org.eclipse.text.edits.ReplaceEdit;
-import org.eclipse.text.edits.TextEdit;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorReference;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.wst.sse.core.internal.document.DocumentReader;
-import org.eclipse.wst.sse.core.internal.encoding.CodedStreamCreator;
-
-/**
- * Creates document change(s) for an IJavaElement rename.
- * Changes are created for every type "match" in the workspace
- * @author pavery
- */
-public class BasicRefactorSearchRequestor extends SearchRequestor {
-	
-	/**
-	 * Workspace operation to perform save on model for updated documents.
-	 * Should only be done on models not open in an editor.
-	 */
-	private class SaveJspFileOp extends WorkspaceModifyOperation {
-		
-		private IDocument fJSPDoc = null;
-		private IFile fJSPFile = null;
-		
-		public SaveJspFileOp(IFile jspFile, IDocument jspDoc) {
-			this.fJSPDoc = jspDoc;
-			this.fJSPFile = jspFile;
-		}
-		
-		protected void execute(IProgressMonitor monitor) throws CoreException, InvocationTargetException, InterruptedException {
-			
-			// https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=3765
-			// save file w/ no intermediate model creation
-			
-			CodedStreamCreator codedStreamCreator = new CodedStreamCreator();
-			Reader reader = new DocumentReader(this.fJSPDoc);
-			codedStreamCreator.set(this.fJSPFile, reader);
-			
-			ByteArrayOutputStream codedByteStream = null;
-			InputStream codedStream = null;
-			try {
-				codedByteStream = codedStreamCreator.getCodedByteArrayOutputStream();
-				codedStream = new ByteArrayInputStream(codedByteStream.toByteArray());
-				if (this.fJSPFile.exists())
-					this.fJSPFile.setContents(codedStream, true, true, null);
-				else
-					this.fJSPFile.create(codedStream, false, null);
-				
-			} catch (CoreException e) {
-				Logger.logException(e);
-			} catch (IOException e) {
-				Logger.logException(e);
-			}
-			finally {
-				try {
-					if(codedByteStream != null)
-						codedByteStream.close();
-					if(codedStream != null)
-						codedStream.close();
-				}
-				catch (IOException e){
-					// unlikely
-				}
-			}
-		}
-	}
-	// end inner class SaveJspFileOp
-	
-	/**
-	 * Change class that wraps a text edit on the jsp document
-	 */
-	private class RenameChange extends DocumentChange {
-
-		private TextEdit fEdit = null;
-		private IFile fJSPFile = null;
-		private IDocument fJSPDoc = null;
-		private String fDescription = JSPUIMessages.BasicRefactorSearchRequestor_0;
-		
-		public RenameChange(IFile jspFile, IDocument jspDoc, TextEdit edit, String description) {
-			super(JSPUIMessages.BasicRefactorSearchRequestor_6, jspDoc);
-			this.fEdit = edit;
-			this.fJSPFile = jspFile;
-			this.fJSPDoc = jspDoc;
-			this.fDescription = description;
-		}
-		
-		public RefactoringStatus isValid(IProgressMonitor pm)throws CoreException {
-			return new RefactoringStatus();
-		}
-		
-		public Change perform(IProgressMonitor pm) throws CoreException {
-			RenameChange undoChange = null;
-			try {
-				
-				if(!isOpenInEditor(this.fJSPDoc)) {
-					// apply edit to JSP doc AND save model
-					undoChange = new RenameChange(this.fJSPFile, this.fJSPDoc, this.fEdit.apply(fJSPDoc), this.fDescription);
-					saveFile(this.fJSPFile, this.fJSPDoc);
-				}
-				else {
-					// just apply edit to JSP document
-					undoChange = new RenameChange(this.fJSPFile, this.fJSPDoc, this.fEdit.apply(fJSPDoc), this.fDescription);
-				}
-				
-			} catch (MalformedTreeException e) {
-				Logger.logException(e);
-			} catch (BadLocationException e) {
-				Logger.logException(e);
-			}
-			return undoChange;
-		}
-		
-		/**
-		 * Performed in an operation since it modifies resources in the workspace
-		 * @param jspDoc
-		 * @throws CoreException
-		 */
-		private void saveFile(IFile jspFile, IDocument jspDoc) {
-			
-			SaveJspFileOp op  = new SaveJspFileOp(jspFile, jspDoc);
-			
-			try {
-				op.run(JSPSearchSupport.getInstance().getProgressMonitor());
-			} catch (InvocationTargetException e) {
-				Logger.logException(e);
-			} catch (InterruptedException e) {
-				Logger.logException(e);
-			}
-		}
-
-		/**
-		 * Checks if a document is open in an editor
-		 * @param jspDoc
-		 * @return
-		 */
-		private boolean isOpenInEditor(IDocument jspDoc) {
-			IWorkbenchWindow[] windows = PlatformUI.getWorkbench().getWorkbenchWindows();
-			IWorkbenchWindow w = null;
-			for (int i = 0; i < windows.length; i++) {
-
-				w = windows[i];
-				IWorkbenchPage page = w.getActivePage();
-				if (page != null) {
-
-					IEditorReference[] references = page.getEditorReferences();
-					IEditorPart editor = null;
-					Object o = null;
-					IDocument doc = null;
-					for (int j = 0; j < references.length; j++) {
-
-						editor = references[j].getEditor(true);
-						// https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=3764
-						// use adapter to get ITextEditor (for things like
-						// page designer)
-						o = editor.getAdapter(ITextEditor.class);
-						if (o != null && o instanceof ITextEditor) {
-
-							doc = ((ITextEditor) o).getDocumentProvider().getDocument(editor.getEditorInput());
-							if (doc != null && doc.equals(jspDoc)) {
-								return true;
-							}
-						}
-					}
-				}
-			}
-			return false;
-		}
-
-		public String getName() {
-			return this.fDescription;
-		}
-		
-		public Object getModifiedElement() {
-			return getElement();
-		}
-	}
-	// end inner class RenameChange
-	
-	
-	/** The type being renamed (the old type)*/
-	IJavaElement fElement = null;
-	/** The new name of the type being renamed*/
-	private String fNewName = ""; //$NON-NLS-1$
-	/** maps a JSPSearchDocument path -> MultiTextEdit for the java file*/
-	private HashMap fSearchDocPath2JavaEditMap = null;
-	
-	public BasicRefactorSearchRequestor(IJavaElement element, String newName) {
-		this.fNewName = newName;
-		this.fElement = element;
-		this.fSearchDocPath2JavaEditMap = new HashMap();
-	}
-	
-	public IJavaElement getElement() {
-		return this.fElement;
-	}
-
-	/**
-	 * @return the new name for the Type
-	 */
-	public String getNewName() {
-		return this.fNewName;
-	}
-	
-	/**
-	 * @see org.eclipse.jdt.core.search.SearchRequestor#acceptSearchMatch(org.eclipse.jdt.core.search.SearchMatch)
-	 */
-	public void acceptSearchMatch(SearchMatch javaMatch) throws CoreException {
-		
-		String matchDocumentPath = javaMatch.getResource().getFullPath().toString();
-		SearchDocument searchDoc = JSPSearchSupport.getInstance().getSearchDocument(matchDocumentPath);
-	
-		if (searchDoc != null && searchDoc instanceof JavaSearchDocumentDelegate) {
-	
-			String renameText = getRenameText((JavaSearchDocumentDelegate)searchDoc, javaMatch);
-			
-			// add it for the correct document
-			addJavaEdit(searchDoc.getPath(), new ReplaceEdit(javaMatch.getOffset(), javaMatch.getLength(), renameText));
-		}
-	}
-	
-	/**
-	 * @param searchDoc
-	 * @return
-	 */
-	protected String getRenameText(JavaSearchDocumentDelegate searchDoc, SearchMatch javaMatch) {
-		return getNewName();
-	}
-
-	/**
-	 * Adds to the multi edit for a give java document.
-	 * @param javaDocument
-	 * @param javaEdit
-	 */
-	private void addJavaEdit(String searchDocPath, ReplaceEdit javaEdit) {
-		
-		Object o = this.fSearchDocPath2JavaEditMap.get(searchDocPath);
-		if(o != null) {
-
-			MultiTextEdit multi = (MultiTextEdit)o;
-			multi.addChild(javaEdit);
-		}
-		else {
-			// use a multi edit so doc position offsets get updated automatically
-			// when adding multiple child edits
-			MultiTextEdit multi = new MultiTextEdit();
-			multi.addChild(javaEdit);
-			this.fSearchDocPath2JavaEditMap.put(searchDocPath, multi);
-		}
-	}
-	
-	/**
-	 * 
-	 * @return all JSP changes for the search matches for the given Type
-	 */
-	public Change[] getChanges() {
-		
-		JSPSearchSupport support = JSPSearchSupport.getInstance();
-		List changes = new ArrayList();
-		Iterator keys = fSearchDocPath2JavaEditMap.keySet().iterator();
-		String searchDocPath = null;
-		SearchDocument delegate = null;
-		
-		while(keys.hasNext()) {
-			// create on the fly
-			searchDocPath = (String)keys.next();
-			MultiTextEdit javaEdit = (MultiTextEdit)fSearchDocPath2JavaEditMap.get(searchDocPath);
-			delegate = support.getSearchDocument(searchDocPath);
-			
-			if(delegate != null && delegate instanceof JavaSearchDocumentDelegate) {
-				JavaSearchDocumentDelegate javaDelegate = (JavaSearchDocumentDelegate)delegate;
-				changes.add(createChange(javaDelegate, javaDelegate.getJspTranslation().getJspEdit(javaEdit)));
-			}
-		}
-		return (Change[])changes.toArray(new Change[changes.size()]);
-	}
-	
-	private Change createChange(JavaSearchDocumentDelegate searchDoc, TextEdit edit) {
-		
-		IDocument doc = searchDoc.getJspTranslation().getJspDocument();
-		String file = searchDoc.getFile().getName();
-		String description = getDescription();
-		try {
-			// document lines are 0 based
-			String lineNumber = Integer.toString(doc.getLineOfOffset(edit.getOffset()) + 1);
-			description += " " + NLS.bind(JSPUIMessages.BasicRefactorSearchRequestor_1, new String[]{file, lineNumber}); //$NON-NLS-1$
-		} 
-		catch (BadLocationException e) {
-			Logger.logException(e);
-		}
-		return new RenameChange(searchDoc.getFile(), doc, edit, description);
-	}
-	
-	// https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=3205
-	// only relevant for IType refactorings
-	protected boolean isFullyQualified(String matchText) {
-		if(getElement() instanceof IType) {
-			String pkg = ((IType)getElement()).getPackageFragment().getElementName();
-			return matchText.startsWith(pkg);
-		}
-		return false;
-	}
-
-	/**
-	 * Subclasses should override to better describe the change.
-	 * @return
-	 */
-	protected String getDescription() {
-		return ""; //$NON-NLS-1$
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPJavaSelectionProvider.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPJavaSelectionProvider.java
deleted file mode 100644
index 1ac5f8a..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPJavaSelectionProvider.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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.jst.jsp.ui.internal.java.refactoring;
-
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jst.jsp.core.internal.java.IJSPTranslation;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslation;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslationAdapter;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.wst.sse.core.internal.provisional.StructuredModelManager;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-
-class JSPJavaSelectionProvider {
-	static IJavaElement[] getSelection(ITextEditor textEditor) {
-		IJavaElement[] elements = null;
-
-		IDocument document = textEditor.getDocumentProvider().getDocument(textEditor.getEditorInput());
-		ISelection selection = textEditor.getSelectionProvider().getSelection();
-		if (selection instanceof ITextSelection) {
-			ITextSelection textSelection = (ITextSelection) selection;
-			// get the JSP translation object for this editor's document
-			IDOMModel xmlModel = (IDOMModel) StructuredModelManager.getModelManager().getExistingModelForRead(document);
-			try {
-				if (xmlModel != null) {
-					IDOMDocument xmlDoc = xmlModel.getDocument();
-
-					JSPTranslationAdapter adapter = (JSPTranslationAdapter) xmlDoc.getAdapterFor(IJSPTranslation.class);
-					if (adapter != null) {
-						JSPTranslation translation = adapter.getJSPTranslation();
-						elements = translation.getElementsFromJspRange(textSelection.getOffset(), textSelection.getOffset() + textSelection.getLength());
-					}
-				}
-			}
-			finally {
-				if (xmlModel != null)
-					xmlModel.releaseFromRead();
-			}
-		}
-		if (elements == null) {
-			elements = new IJavaElement[0];
-		}
-		return elements;
-	}
-
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPMethodRenameChange.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPMethodRenameChange.java
deleted file mode 100644
index 485ff11..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPMethodRenameChange.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.java.refactoring;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jdt.core.IMethod;
-import org.eclipse.jst.jsp.core.internal.java.search.JSPSearchScope;
-import org.eclipse.jst.jsp.core.internal.java.search.JSPSearchSupport;
-import org.eclipse.jst.jsp.ui.internal.JSPUIMessages;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-
-/**
- * @author pavery
- */
-public class JSPMethodRenameChange extends Change {
-
-	public static Change[] createChangesFor(IMethod method, String newName) {
-		JSPSearchSupport support = JSPSearchSupport.getInstance();
-		
-		// should be handled by JSPIndexManager
-		// https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=3036
-		// support.indexWorkspaceAndWait();
-		
-		BasicRefactorSearchRequestor requestor = new JSPMethodRenameRequestor(method, newName);
-		support.searchRunnable(method, new JSPSearchScope(), requestor);
-
-		return requestor.getChanges();
-	}
-
-	public String getName() {
-		return JSPUIMessages.JSP_changes; //$NON-NLS-1$
-	}
-
-	public void initializeValidationData(IProgressMonitor pm) {
-		// pa_TODO implement
-		// must be implemented to decide correct value of isValid
-	}
-
-	public RefactoringStatus isValid(IProgressMonitor pm) throws CoreException {
-		// pa_TODO implement
-		// This method must ensure that the change object is still valid.
-		// This is in particular interesting when performing an undo change
-		// since the workspace could have changed since the undo change has
-		// been created.
-		return new RefactoringStatus();
-	}
-
-	public Change perform(IProgressMonitor pm) throws CoreException {
-		// pa_TODO return the "undo" change here
-		return null;
-	}
-
-	public Object getModifiedElement() {
-		// pa_TODO Auto-generated method stub
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPMethodRenameParticipant.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPMethodRenameParticipant.java
deleted file mode 100644
index edac9c8..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPMethodRenameParticipant.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * Created on May 6, 2004
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-package org.eclipse.jst.jsp.ui.internal.java.refactoring;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jdt.core.IMethod;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jst.jsp.ui.internal.JSPUIMessages;
-import org.eclipse.jst.jsp.ui.internal.Logger;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.CompositeChange;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.ltk.core.refactoring.participants.CheckConditionsContext;
-import org.eclipse.ltk.core.refactoring.participants.RenameParticipant;
-
-/**
- * @author pavery
- */
-public class JSPMethodRenameParticipant extends RenameParticipant {
-	
-	private IMethod fMethod = null;
-	
-	/**
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#initialize(java.lang.Object)
-	 */
-	protected boolean initialize(Object element) {
-		if(element instanceof IMethod) {
-			this.fMethod = (IMethod) element;
-			return true;
-		}
-		return false;
-	}
-	
-	/**
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#getName()
-	 */
-	public String getName() {
-		String name = ""; //$NON-NLS-1$
-		if(this.fMethod != null) {
-			try {
-				name = this.fMethod.getSource();
-			} catch (JavaModelException e) {
-				Logger.logException(e);
-			}
-		}
-		return name;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#checkConditions(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.ltk.core.refactoring.participants.CheckConditionsContext)
-	 */
-	public RefactoringStatus checkConditions(IProgressMonitor pm, CheckConditionsContext context) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#createChange(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public Change createChange(IProgressMonitor pm) throws CoreException {
-		Change[] changes = JSPMethodRenameChange.createChangesFor(this.fMethod, getArguments().getNewName());
-		CompositeChange multiChange = null; 
-			if(changes.length > 0)
-				multiChange  = new CompositeChange(JSPUIMessages.JSP_changes, changes); //$NON-NLS-1$
-		return multiChange;
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPMethodRenameRequestor.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPMethodRenameRequestor.java
deleted file mode 100644
index 6147208..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPMethodRenameRequestor.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.java.refactoring;
-
-import java.text.MessageFormat;
-
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.search.SearchMatch;
-import org.eclipse.jst.jsp.core.internal.java.search.JavaSearchDocumentDelegate;
-import org.eclipse.jst.jsp.ui.internal.JSPUIMessages;
-
-/**
- * @author pavery
- */
-public class JSPMethodRenameRequestor extends BasicRefactorSearchRequestor {
-	
-	public JSPMethodRenameRequestor(IJavaElement element, String newName) {
-		super(element, newName);
-	}
-	
-	protected String getRenameText(JavaSearchDocumentDelegate searchDoc, SearchMatch javaMatch) {
-		
-		String javaText = searchDoc.getJspTranslation().getJavaText();
-		String methodText = javaText.substring(javaMatch.getOffset(), javaMatch.getOffset() + javaMatch.getLength());
-		String methodSuffix = methodText.substring(methodText.indexOf("(")); //$NON-NLS-1$
-		return getNewName() + methodSuffix;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.jsp.ui.internal.java.refactoring.BasicRefactorSearchRequestor#getDescription()
-	 */
-	protected String getDescription() {
-		
-		String methodName = getElement().getElementName();
-		String newName = getNewName();
-		String description = MessageFormat.format(JSPUIMessages.BasicRefactorSearchRequestor_3, new String[]{methodName, newName}); //$NON-NLS-1$
-		return description;
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPMoveElementAction.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPMoveElementAction.java
deleted file mode 100644
index 8d21c72..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPMoveElementAction.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.java.refactoring;
-
-import java.util.ResourceBundle;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.internal.corext.codemanipulation.CodeGenerationSettings;
-import org.eclipse.jdt.internal.corext.refactoring.reorg.JavaMoveProcessor;
-import org.eclipse.jdt.internal.corext.util.CodeFormatterUtil;
-import org.eclipse.jdt.internal.ui.refactoring.actions.RefactoringStarter;
-import org.eclipse.jdt.internal.ui.refactoring.reorg.CreateTargetQueries;
-import org.eclipse.jdt.internal.ui.refactoring.reorg.ReorgMoveWizard;
-import org.eclipse.jdt.internal.ui.refactoring.reorg.ReorgQueries;
-import org.eclipse.jdt.ui.PreferenceConstants;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jst.jsp.ui.internal.JSPUIMessages;
-import org.eclipse.jst.jsp.ui.internal.Logger;
-import org.eclipse.ltk.core.refactoring.participants.MoveRefactoring;
-import org.eclipse.ltk.ui.refactoring.RefactoringWizard;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.ui.texteditor.TextEditorAction;
-import org.eclipse.wst.sse.ui.internal.util.PlatformStatusLineUtil;
-
-/**
- * A TextEditorAction that launches JDT move element wizard
- * 
- * Still relies heavily on internal API
- * will change post 3.0 with public move support
- * https://bugs.eclipse.org/bugs/show_bug.cgi?id=61817 
- * @author pavery
- */
-public class JSPMoveElementAction extends TextEditorAction {
-
-	public JSPMoveElementAction(ResourceBundle bundle, String prefix, ITextEditor editor) {
-
-		super(bundle, prefix, editor);
-	}
-	
-	public boolean isEnabled() {
-		// always enabled, just print appropriate status to window
-		// if for some reason the action can't run (like multiple java elements selected)
-		
-		return true;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.texteditor.TextEditorAction#update()
-	 */
-	public void update() {
-		super.update();
-		PlatformStatusLineUtil.clearStatusLine();
-	}
-	
-	private IJavaElement[] getSelectedElements() {
-		
-		IJavaElement[] elements = new IJavaElement[0];
-		if (getTextEditor() != null)
-			elements = JSPJavaSelectionProvider.getSelection(getTextEditor());
-		return elements;
-	}
-	
-	private IResource[] getResources(IJavaElement[] elements) {
-
-		IResource[] resources = new IResource[elements.length];
-		for (int i = 0; i < elements.length; i++) {
-			try {
-				resources[i] = elements[i].getPrimaryElement().getCorrespondingResource();//elements[i].getResource();
-			} catch (JavaModelException e) {
-				Logger.logException(e);
-			}
-		}
-		return resources;
-	}
-
-	/**
-	 * will change post 3.0 with public move support
-	 * https://bugs.eclipse.org/bugs/show_bug.cgi?id=61817
-	 */
-	public void run() {
-		IJavaElement[] elements = getSelectedElements();
-		if(elements.length > 0) {	
-			
-			// need to check if it's movable
-			try {
-				JavaMoveProcessor processor= JavaMoveProcessor.create(getResources(elements), elements/*, getCodeGenerationSettings()*/);
-				Shell parent = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
-				
-				MoveRefactoring refactoring= new MoveRefactoring(processor);
-			
-				RefactoringWizard wizard= createWizard(refactoring);
-				
-				/*
-				 * We want to get the shell from the refactoring dialog but it's not
-				 * known at this point, so we pass the wizard and then, once the dialog
-				 * is open, we will have access to its shell.
-				 */
-				
-				processor.setCreateTargetQueries(new CreateTargetQueries(wizard));
-				processor.setReorgQueries(new ReorgQueries(wizard));
-				//String openRefactoringWizMsg = RefactoringMessages.getString("OpenRefactoringWizardAction.refactoring"); //$NON-NLS-1$
-				String openRefactoringWizMsg = JSPUIMessages.MoveElementWizard; //"Move the selected elements"; //$NON-NLS-1$
-				new RefactoringStarter().activate(refactoring, wizard, parent, openRefactoringWizMsg, true);
-				
-				PlatformStatusLineUtil.clearStatusLine();
-				
-			} catch (JavaModelException e) {
-				Logger.logException(e);
-			}
-		}
-		else  {
-			PlatformStatusLineUtil.displayErrorMessage(JSPUIMessages.JSPMoveElementAction_0); //$NON-NLS-1$
-		}
-	}
-
-	// these methods are copied from internal JDT class org.eclipse.jdt.internal.ui.preferences.JavaPreferencesSettings
-	/**
-	 * will change post 3.0 with public move support
-	 * https://bugs.eclipse.org/bugs/show_bug.cgi?id=61817
-	 */
-	public static CodeGenerationSettings getCodeGenerationSettings() {
-		
-		IPreferenceStore store= PreferenceConstants.getPreferenceStore();
-		
-		CodeGenerationSettings res= new CodeGenerationSettings();
-		res.createComments= store.getBoolean(PreferenceConstants.CODEGEN_ADD_COMMENTS);
-		res.useKeywordThis= store.getBoolean(PreferenceConstants.CODEGEN_KEYWORD_THIS);
-		res.importOrder= getImportOrderPreference(store);
-		res.importThreshold= getImportNumberThreshold(store);
-		res.tabWidth= CodeFormatterUtil.getTabWidth();
-		return res;
-	}
-
-	/**
-	 * will change post 3.0 with public move support
-	 * https://bugs.eclipse.org/bugs/show_bug.cgi?id=61817
-	 */
-	public static int getImportNumberThreshold(IPreferenceStore prefs) {
-		int threshold= prefs.getInt(PreferenceConstants.ORGIMPORTS_ONDEMANDTHRESHOLD);
-		if (threshold < 0) {
-			threshold= Integer.MAX_VALUE;
-		}
-		return threshold;
-	}
-
-	/**
-	 * will change post 3.0 with public move support
-	 * https://bugs.eclipse.org/bugs/show_bug.cgi?id=61817
-	 */
-	public static String[] getImportOrderPreference(IPreferenceStore prefs) {
-		String str= prefs.getString(PreferenceConstants.ORGIMPORTS_IMPORTORDER);
-		if (str != null) {
-			return unpackList(str, ";"); //$NON-NLS-1$
-		}
-		return new String[0];
-	}
-
-	/**
-	 * will change post 3.0 with public move support
-	 * https://bugs.eclipse.org/bugs/show_bug.cgi?id=61817
-	 */
-	private static String[] unpackList(String str, String separator) {
-		StringTokenizer tok= new StringTokenizer(str, separator); //$NON-NLS-1$
-		int nTokens= tok.countTokens();
-		String[] res= new String[nTokens];
-		for (int i= 0; i < nTokens; i++) {
-			res[i]= tok.nextToken().trim();
-		}
-		return res;
-	}
-	
-	/**
-	 * will change post 3.0 with public move support
-	 * https://bugs.eclipse.org/bugs/show_bug.cgi?id=61817
-	 */
-	private RefactoringWizard createWizard(MoveRefactoring refactoring) {
-		return new ReorgMoveWizard(refactoring);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPPackageRenameChange.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPPackageRenameChange.java
deleted file mode 100644
index d15e089..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPPackageRenameChange.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.java.refactoring;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jst.jsp.core.internal.java.search.JSPSearchScope;
-import org.eclipse.jst.jsp.core.internal.java.search.JSPSearchSupport;
-import org.eclipse.jst.jsp.ui.internal.JSPUIMessages;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-
-/**
- * @author pavery
- */
-public class JSPPackageRenameChange extends Change {
-
-	public static Change[] createChangesFor(IPackageFragment pkg, String newName) {
-		JSPSearchSupport support = JSPSearchSupport.getInstance();
-		
-		// should be handled by JSPIndexManager
-		// https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=3036
-		//support.indexWorkspaceAndWait();
-		
-		BasicRefactorSearchRequestor requestor = new JSPPackageRenameRequestor(pkg, newName);
-		support.searchRunnable(pkg, new JSPSearchScope(), requestor);
-
-		return requestor.getChanges();
-	}
-
-	public String getName() {
-		return JSPUIMessages.JSP_changes; //$NON-NLS-1$
-	}
-
-	public void initializeValidationData(IProgressMonitor pm) {
-		// pa_TODO implement
-		// must be implemented to decide correct value of isValid
-	}
-
-	public RefactoringStatus isValid(IProgressMonitor pm) throws CoreException {
-		// pa_TODO implement
-		// This method must ensure that the change object is still valid.
-		// This is in particular interesting when performing an undo change
-		// since the workspace could have changed since the undo change has
-		// been created.
-		return new RefactoringStatus();
-	}
-
-	public Change perform(IProgressMonitor pm) throws CoreException {
-		// TODO return the "undo" change here
-		return null;
-	}
-
-	public Object getModifiedElement() {
-		
-		//return this.pkg;
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPPackageRenameParticipant.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPPackageRenameParticipant.java
deleted file mode 100644
index 3903d39..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPPackageRenameParticipant.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.java.refactoring;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jst.jsp.ui.internal.JSPUIMessages;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.CompositeChange;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.ltk.core.refactoring.participants.CheckConditionsContext;
-import org.eclipse.ltk.core.refactoring.participants.RenameParticipant;
-
-/**
- * Remember to change the plugin.xml file if the name of this class changes.
- * 
- * @author pavery
- */
-public class JSPPackageRenameParticipant extends RenameParticipant {
-
-	private IPackageFragment fPkg = null;
-	
-	/**
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#initialize(java.lang.Object)
-	 */
-	protected boolean initialize(Object element) {
-		if(element instanceof IPackageFragment) {
-			this.fPkg = (IPackageFragment) element;
-			return true;
-		}
-		return false;
-	}
-	
-	/**
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#getName()
-	 */
-	public String getName() {
-		String name = ""; //$NON-NLS-1$
-		if(this.fPkg != null) {
-			name = this.fPkg.getElementName();
-		}
-		return name;
-	}
-
-	/**
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#checkConditions(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.ltk.core.refactoring.participants.CheckConditionsContext)
-	 */
-	public RefactoringStatus checkConditions(IProgressMonitor pm, CheckConditionsContext context) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#createChange(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public Change createChange(IProgressMonitor pm) throws CoreException {
-		 Change[] changes = JSPPackageRenameChange.createChangesFor(this.fPkg, getArguments().getNewName());
-		 CompositeChange multiChange = null;
-		 if(changes.length > 0)
-			multiChange = new CompositeChange(JSPUIMessages.JSP_changes, changes); //$NON-NLS-1$
-	     return multiChange;
-	}
-	
-	
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPPackageRenameRequestor.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPPackageRenameRequestor.java
deleted file mode 100644
index 3cffa0c..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPPackageRenameRequestor.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.java.refactoring;
-
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jst.jsp.ui.internal.JSPUIMessages;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Overrides get description
- * @author pavery
- */
-public class JSPPackageRenameRequestor extends BasicRefactorSearchRequestor {
-	
-	/**
-	 * Element is the old package.  newName is the new package name.
-	 * @param element
-	 * @param newName
-	 */
-	public JSPPackageRenameRequestor(IJavaElement element, String newName) {
-		super(element, newName);
-	}
-	
-	/*
-	 * @see org.eclipse.jst.jsp.ui.internal.java.refactoring.BasicRefactorSearchRequestor#getDescription()
-	 */
-	protected String getDescription() {
-		String packageName = getElement().getElementName();
-		String newName = getNewName();
-		String description = NLS.bind(JSPUIMessages.BasicRefactorSearchRequestor_5, (new String[]{packageName, newName})); //$NON-NLS-1$
-		return description;
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPRenameElementAction.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPRenameElementAction.java
deleted file mode 100644
index 6348bbc..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPRenameElementAction.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.java.refactoring;
-
-import java.util.ResourceBundle;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IMethod;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.ui.refactoring.RenameSupport;
-import org.eclipse.jst.jsp.ui.internal.JSPUIMessages;
-import org.eclipse.jst.jsp.ui.internal.Logger;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.ui.texteditor.TextEditorAction;
-import org.eclipse.wst.sse.ui.internal.util.PlatformStatusLineUtil;
-
-/**
- * A TextEditorAction that launches JDT rename element wizard
- * 
- * @author pavery
- */
-public class JSPRenameElementAction extends TextEditorAction {
-
-	public JSPRenameElementAction(ResourceBundle bundle, String prefix, ITextEditor editor) {
-
-		super(bundle, prefix, editor);
-	}
-	
-	public boolean isEnabled() {
-		// always enabled, just print appropriate status to window
-		// if for some reason the action can't run (like multiple java elements selected)
-		return true;
-	}
-	
-	/**
-	 * @see org.eclipse.ui.texteditor.TextEditorAction#update()
-	 */
-	public void update() {
-		super.update();
-		PlatformStatusLineUtil.clearStatusLine();
-	}
-	
-	private IJavaElement getSelectedElement() {
-		IJavaElement element = null;
-		if (getTextEditor() != null) {
-			IJavaElement[] elements = JSPJavaSelectionProvider.getSelection(getTextEditor());
-			if (elements.length == 1)
-				element = elements[0];
-		}
-		return element;
-	}
-	
-	public void run() {
-		IJavaElement element = getSelectedElement();
-		if(element != null) {
-			RenameSupport renameSupport = null;
-			try {
-				switch(element.getElementType()) {
-					case IJavaElement.TYPE:
-						renameSupport= RenameSupport.create((IType)element, element.getElementName(), RenameSupport.UPDATE_REFERENCES);
-						break;
-					case IJavaElement.METHOD:
-						renameSupport= RenameSupport.create((IMethod)element, element.getElementName(), RenameSupport.UPDATE_REFERENCES);
-						break;
-					case IJavaElement.PACKAGE_FRAGMENT:
-						renameSupport= RenameSupport.create((IPackageFragment)element, element.getElementName(), RenameSupport.UPDATE_REFERENCES);
-						break;
-				}
-				if(renameSupport != null) {
-					renameSupport.openDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell());
-					PlatformStatusLineUtil.clearStatusLine();
-				}
-			}
-			catch (CoreException e) {
-				Logger.logException(e);
-			}
-		}
-		else  {
-			PlatformStatusLineUtil.displayErrorMessage(JSPUIMessages.JSPRenameElementAction_0); //$NON-NLS-1$
-			PlatformStatusLineUtil.addOneTimeClearListener();
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPTypeMoveChange.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPTypeMoveChange.java
deleted file mode 100644
index facd680..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPTypeMoveChange.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.java.refactoring;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jst.jsp.core.internal.java.search.JSPSearchScope;
-import org.eclipse.jst.jsp.core.internal.java.search.JSPSearchSupport;
-import org.eclipse.jst.jsp.ui.internal.JSPUIMessages;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-
-/**
- * @author pavery
- */
-public class JSPTypeMoveChange extends Change {
-
-	public static Change[] createChangesFor(IType type, String newName) {
-		
-		JSPSearchSupport support = JSPSearchSupport.getInstance();
-		// should be handled by JSPIndexManager
-		// https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=3036
-		// support.indexWorkspaceAndWait();
-		
-		JSPTypeMoveRequestor requestor = new JSPTypeMoveRequestor(type, newName);
-		support.searchRunnable(type, new JSPSearchScope(), requestor);
-
-		return requestor.getChanges();
-	}
-
-	public String getName() {
-		return JSPUIMessages.JSP_changes; //$NON-NLS-1$
-	}
-
-	public void initializeValidationData(IProgressMonitor pm) {
-		// pa_TODO implement
-		// must be implemented to decide correct value of isValid
-	}
-
-	public RefactoringStatus isValid(IProgressMonitor pm) throws CoreException {
-		// pa_TODO implement
-		// This method must ensure that the change object is still valid.
-		// This is in particular interesting when performing an undo change
-		// since the workspace could have changed since the undo change has
-		// been created.
-		return new RefactoringStatus();
-	}
-
-	public Change perform(IProgressMonitor pm) throws CoreException {
-		// TODO return the "undo" change here
-		return null;
-	}
-
-	public Object getModifiedElement() {
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPTypeMoveParticipant.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPTypeMoveParticipant.java
deleted file mode 100644
index c5a2148..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPTypeMoveParticipant.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.java.refactoring;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jst.jsp.ui.internal.JSPUIMessages;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.CompositeChange;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.ltk.core.refactoring.participants.CheckConditionsContext;
-import org.eclipse.ltk.core.refactoring.participants.MoveParticipant;
-
-/**
- * @author pavery
- */
-public class JSPTypeMoveParticipant extends MoveParticipant {
-	
-	IType fType = null;
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#initialize(java.lang.Object)
-	 */
-	protected boolean initialize(Object element) {
-		
-		if(element instanceof IType) {
-			this.fType = (IType)element;
-			return true;
-		}
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#getName()
-	 */
-	public String getName() {
-		
-		String name = ""; //$NON-NLS-1$
-		if(this.fType != null)
-			name = this.fType.getElementName();
-		return name;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#checkConditions(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.ltk.core.refactoring.participants.CheckConditionsContext)
-	 */
-	public RefactoringStatus checkConditions(IProgressMonitor pm, CheckConditionsContext context) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#createChange(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public Change createChange(IProgressMonitor pm) throws CoreException {
-		
-		if(pm != null && pm.isCanceled())
-			return null;
-		
-		CompositeChange multiChange = null; 
-		Object dest = getArguments().getDestination();
-		Change[] changes = JSPTypeMoveChange.createChangesFor(fType, ((IPackageFragment)dest).getElementName());
-		
-		if(dest instanceof IPackageFragment && changes.length > 0)
-			multiChange = new CompositeChange(JSPUIMessages.JSP_changes, changes); //$NON-NLS-1$
-		
-		return multiChange;
-	}
-	
-	
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPTypeMoveRequestor.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPTypeMoveRequestor.java
deleted file mode 100644
index edd02f2..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPTypeMoveRequestor.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.java.refactoring;
-
-import java.text.MessageFormat;
-
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.search.SearchMatch;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslation;
-import org.eclipse.jst.jsp.core.internal.java.search.JavaSearchDocumentDelegate;
-import org.eclipse.jst.jsp.ui.internal.JSPUIMessages;
-
-/**
- * @author pavery
- */
-public class JSPTypeMoveRequestor extends BasicRefactorSearchRequestor {
-
-	/**
-	 * @param element
-	 * @param newName
-	 */
-	public JSPTypeMoveRequestor(IJavaElement element, String newPackage) {
-		super(element, newPackage);
-	}
-	
-	protected String getRenameText(JavaSearchDocumentDelegate searchDoc, SearchMatch javaMatch) {
-		
-		String renameText = getElement().getElementName();
-
-		JSPTranslation trans = searchDoc.getJspTranslation();
-		String matchText = trans.getJavaText().substring(javaMatch.getOffset(), javaMatch.getOffset() + javaMatch.getLength());
-		
-		// if it's an import or jsp:useBean, we need to add the package name as well
-		if(trans.isImport(javaMatch.getOffset()) || trans.isUseBean(javaMatch.getOffset()) || isFullyQualified(matchText)) {
-			if(!getNewName().equals("")) //$NON-NLS-1$
-				// getNewName() is the pkg name
-				renameText = getNewName() + "." + renameText; //$NON-NLS-1$
-		}
-		return renameText;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.jsp.ui.internal.java.refactoring.BasicRefactorSearchRequestor#getDescription()
-	 */
-	protected String getDescription() {
-		
-		String typeName = getElement().getElementName();
-		String newName = getNewName();
-		String description = MessageFormat.format(JSPUIMessages.BasicRefactorSearchRequestor_2, new String[]{typeName, newName}); //$NON-NLS-1$
-		return description;
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPTypeRenameChange.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPTypeRenameChange.java
deleted file mode 100644
index 99f1666..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPTypeRenameChange.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.java.refactoring;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jst.jsp.core.internal.java.search.JSPSearchScope;
-import org.eclipse.jst.jsp.core.internal.java.search.JSPSearchSupport;
-import org.eclipse.jst.jsp.ui.internal.JSPUIMessages;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-
-
-/**
- * @author pavery
- */
-public class JSPTypeRenameChange extends Change {
-
-	public static Change[] createChangesFor(IType type, String newName) {
-		JSPSearchSupport support = JSPSearchSupport.getInstance();
-		
-		// should be handled by JSPIndexManager
-		// https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=3036
-		// support.indexWorkspaceAndWait();
-	
-		
-		JSPTypeRenameRequestor requestor = new JSPTypeRenameRequestor(type, newName);
-		support.searchRunnable(type, new JSPSearchScope(), requestor);
-
-		return requestor.getChanges();
-	}
-
-	public String getName() {
-		return JSPUIMessages.JSP_changes; //$NON-NLS-1$
-	}
-
-	public void initializeValidationData(IProgressMonitor pm) {
-		// pa_TODO implement
-		// must be implemented to decide correct value of isValid
-	}
-
-	public RefactoringStatus isValid(IProgressMonitor pm) throws CoreException {
-		// pa_TODO implement
-		// This method must ensure that the change object is still valid.
-		// This is in particular interesting when performing an undo change
-		// since the workspace could have changed since the undo change has
-		// been created.
-		return new RefactoringStatus();
-	}
-
-	public Change perform(IProgressMonitor pm) throws CoreException {
-		// TODO return the "undo" change here
-		return null;
-	}
-
-	public Object getModifiedElement() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPTypeRenameParticipant.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPTypeRenameParticipant.java
deleted file mode 100644
index e6a16de..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPTypeRenameParticipant.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.java.refactoring;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jst.jsp.ui.internal.JSPUIMessages;
-import org.eclipse.jst.jsp.ui.internal.Logger;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.CompositeChange;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.ltk.core.refactoring.participants.CheckConditionsContext;
-import org.eclipse.ltk.core.refactoring.participants.RenameParticipant;
-
-/**
- * Remember to change the plugin.xml file if the name of this class changes.
- * 
- * @author pavery
- */
-public class JSPTypeRenameParticipant extends RenameParticipant {
-
-	private IType fType = null;
-	
-	/**
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#initialize(java.lang.Object)
-	 */
-	protected boolean initialize(Object element) {
-		if(element instanceof IType) {
-			this.fType = (IType) element;
-			return true;
-		}
-		return false;
-	}
-	
-	/**
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#getName()
-	 */
-	public String getName() {
-		String name = ""; //$NON-NLS-1$
-		if(this.fType != null) {
-			try {
-				name = this.fType.getSource();
-			} catch (JavaModelException e) {
-				Logger.logException(e);
-			}
-		}
-		return name;
-	}
-
-	/**
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#checkConditions(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.ltk.core.refactoring.participants.CheckConditionsContext)
-	 */
-	public RefactoringStatus checkConditions(IProgressMonitor pm, CheckConditionsContext context) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#createChange(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public Change createChange(IProgressMonitor pm) throws CoreException {
-		Change[] changes =  JSPTypeRenameChange.createChangesFor(fType, getArguments().getNewName());
-		CompositeChange multiChange = null;
-		if(changes.length > 0)
-			multiChange = new CompositeChange(JSPUIMessages.JSP_changes, changes); //$NON-NLS-1$
-		return multiChange;
-	}
-	
-	
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPTypeRenameRequestor.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPTypeRenameRequestor.java
deleted file mode 100644
index d93ccf7..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPTypeRenameRequestor.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.java.refactoring;
-
-import java.text.MessageFormat;
-
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.search.SearchMatch;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslation;
-import org.eclipse.jst.jsp.core.internal.java.search.JavaSearchDocumentDelegate;
-import org.eclipse.jst.jsp.ui.internal.JSPUIMessages;
-
-/**
- * Creates document change(s) for a type rename.
- * Changes are created for every type "match" in the workspace
- * @author pavery
- */
-public class JSPTypeRenameRequestor extends BasicRefactorSearchRequestor {
-
-	public JSPTypeRenameRequestor(IType type, String newName) {
-		super(type, newName);
-	}
-	
-	private IType getType() {
-		return (IType)getElement();
-	}
-	
-	protected String getRenameText(JavaSearchDocumentDelegate searchDoc, SearchMatch javaMatch) {
-		
-		String renameText = getNewName();
-		
-		String pkg = getType().getPackageFragment().getElementName();
-		JSPTranslation trans = searchDoc.getJspTranslation();
-		String matchText = trans.getJavaText().substring(javaMatch.getOffset(), javaMatch.getOffset() + javaMatch.getLength());
-		
-		// if it's an import or jsp:useBean or fully qualified type, we need to add the package name as well
-		if(trans.isImport(javaMatch.getOffset()) || /*trans.isUseBean(javaMatch.getOffset()) ||*/ isFullyQualified(matchText)) {
-			if(!pkg.equals("")) //$NON-NLS-1$
-				renameText = pkg + "." + renameText; //$NON-NLS-1$
-		}
-		return renameText;
-	}
-	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.jsp.ui.internal.java.refactoring.BasicRefactorSearchRequestor#getDescription()
-	 */
-	protected String getDescription() {
-		
-		String typeName = getElement().getElementName();
-		String newName = getNewName();
-		String description = MessageFormat.format(JSPUIMessages.BasicRefactorSearchRequestor_4, new String[]{typeName, newName}); //$NON-NLS-1$
-		return description;
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/RenameChange.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/RenameChange.java
deleted file mode 100644
index 3f873c9..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/RenameChange.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package org.eclipse.jst.jsp.ui.internal.java.refactoring;
-
-public class RenameChange {
-
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/search/BasicJSPSearchRequestor.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/search/BasicJSPSearchRequestor.java
deleted file mode 100644
index ae3dbc4..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/search/BasicJSPSearchRequestor.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.java.search;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jdt.core.search.SearchDocument;
-import org.eclipse.jdt.core.search.SearchMatch;
-import org.eclipse.jdt.core.search.SearchParticipant;
-import org.eclipse.jdt.core.search.SearchRequestor;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslation;
-import org.eclipse.jst.jsp.core.internal.java.search.JSPSearchSupport;
-import org.eclipse.jst.jsp.core.internal.java.search.JavaSearchDocumentDelegate;
-
-/**
- * Accepts matches from JSPSearchSupport.search(...) request.
- * Adapts the results from java to JSP and displays in the SearchResultView.
- * 
- * @author pavery
- */
-public class BasicJSPSearchRequestor extends SearchRequestor {
-
-	// for debugging
-	private static final boolean DEBUG;
-	static {
-		String value= Platform.getDebugOption("org.eclipse.jst.jsp.core/debug/jspsearch"); //$NON-NLS-1$
-		DEBUG= value != null && value.equalsIgnoreCase("true"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Maps java search coordinates to corresponding JSP coordinates.
-	 * Adds the matches to the Search Results view.
-	 * @see org.eclipse.jdt.core.search.SearchRequestor#acceptSearchMatch(org.eclipse.jdt.core.search.SearchMatch)
-	 */
-	public void acceptSearchMatch(SearchMatch match) throws CoreException {
-
-		if(JSPSearchSupport.getInstance().isCanceled())
-			return;
-				
-		String matchDocumentPath = match.getResource().getFullPath().toString();
-		SearchDocument searchDoc = JSPSearchSupport.getInstance().getSearchDocument(matchDocumentPath);
-		
-		if (searchDoc != null && searchDoc instanceof JavaSearchDocumentDelegate) {
-			JavaSearchDocumentDelegate javaSearchDoc = (JavaSearchDocumentDelegate)searchDoc;
-			int jspStart = javaSearchDoc.getJspOffset(match.getOffset());
-			int jspEnd = javaSearchDoc.getJspOffset(match.getOffset() + match.getLength());
-
-			JSPTranslation trans = javaSearchDoc.getJspTranslation();
-			String jspText = trans.getJspText();
-			String javaText = javaSearchDoc.getJavaText();
-
-			if (DEBUG) 
-				displayDebugInfo(match, jspStart, jspEnd, jspText, javaText);
-		
-			if (jspStart > -1 && jspEnd > -1)
-				addSearchMatch(new Document(trans.getJspText()), javaSearchDoc.getFile(), jspStart, jspEnd, jspText);
-		}
-	}
-
-	/**
-	 * @param searchDoc
-	 * @param jspStart
-	 * @param jspEnd
-	 * @param jspTranslation
-	 * @param jspText
-	 * @throws CoreException
-	 */
-	protected void addSearchMatch(IDocument jspDocument, IFile jspFile, int jspStart, int jspEnd, String jspText) {
-		// implement in subclass
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jdt.core.search.SearchRequestor#beginReporting()
-	 */
-	public void beginReporting() {
-
-		if (DEBUG)
-			System.out.println("JSP Search requestor: beginReporting()"); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.jdt.core.search.SearchRequestor#endReporting()
-	 */
-	public void endReporting() {
-
-		if (DEBUG)
-			System.out.println("JSP Search requestor: endReporting()"); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.jdt.core.search.SearchRequestor#enterParticipant(org.eclipse.jdt.core.search.SearchParticipant)
-	 */
-	public void enterParticipant(SearchParticipant participant) {
-
-		if (DEBUG)
-			System.out.println("JSP Search requestor: enterParticipant()"); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.jdt.core.search.SearchRequestor#exitParticipant(org.eclipse.jdt.core.search.SearchParticipant)
-	 */
-	public void exitParticipant(SearchParticipant participant) {
-
-		if (DEBUG)
-			System.out.println("JSP Search requestor: exitParticipant()"); //$NON-NLS-1$
-	}
-
-	/**
-	 * For debug.
-	 * @param origMatch
-	 * @param jspStart
-	 * @param jspEnd
-	 * @param jspText
-	 * @param javaText
-	 */
-	private void displayDebugInfo(SearchMatch origMatch, int jspStart, int jspEnd, String jspText, String javaText) {
-
-		if (origMatch == null || jspStart == -1 || jspEnd == -1 || jspEnd < jspStart || jspText == null || javaText == null)
-			return;
-
-		System.out.println("+-----------------------------------------+"); //$NON-NLS-1$
-		System.out.println("accept possible match [jspDoc: " + origMatch.getResource().getFullPath().toOSString() + " " + origMatch.getOffset() + ":" + origMatch.getOffset() + origMatch.getLength() + "]?"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		System.out.println("match info:"); //$NON-NLS-1$
-		System.out.println("the java text is:" + javaText.substring(origMatch.getOffset(), origMatch.getOffset() + origMatch.getLength())); //$NON-NLS-1$
-		System.out.println("java search match translates to jsp coords [start: " + jspStart + " end:" + jspEnd + "]"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		System.out.println(" the jsp text is:" + jspText.substring(jspStart, jspEnd)); //$NON-NLS-1$
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/search/JSPFindOccurrencesAction.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/search/JSPFindOccurrencesAction.java
deleted file mode 100644
index 98498e8..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/search/JSPFindOccurrencesAction.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.java.search;
-
-import java.util.ResourceBundle;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.search.IJavaSearchConstants;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jst.jsp.core.internal.java.IJSPTranslation;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslation;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslationAdapter;
-import org.eclipse.jst.jsp.core.internal.provisional.text.IJSPPartitionTypes;
-import org.eclipse.jst.jsp.core.internal.regions.DOMJSPRegionContexts;
-import org.eclipse.search.ui.ISearchQuery;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-import org.eclipse.wst.sse.ui.internal.StructuredTextEditor;
-import org.eclipse.wst.sse.ui.internal.search.BasicFindOccurrencesAction;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.eclipse.wst.xml.core.internal.regions.DOMRegionContext;
-
-/**
- * <p>
- * Finds occurrences of Java elements in a JSP file using JSPSearchSupport.
- * </p>
- * 
- * @author pavery
- */
-public class JSPFindOccurrencesAction extends BasicFindOccurrencesAction implements IJavaSearchConstants {
-
-	private IFile fJSPFile = null;
-
-	public JSPFindOccurrencesAction(ResourceBundle bundle, String prefix, ITextEditor editor) {
-
-		super(bundle, prefix, editor);
-	}
-
-
-	public ISearchQuery getSearchQuery() {
-		return new JSPSearchQuery(getJspFile(), getJavaElement());
-	}
-
-	public void update() {
-
-		super.update();
-
-		if (isEnabled()) {
-			// do java element check here...
-			// should already be in a jsp/java partition
-			IJavaElement[] elements = getJavaElementsForCurrentSelection();
-			// we can only find occurrences of one element
-			setEnabled(elements.length == 1);
-		}
-	}
-
-	/**
-	 * uses JSPTranslation to get currently selected Java elements.
-	 * 
-	 * @return currently selected IJavaElements
-	 */
-	public IJavaElement[] getJavaElementsForCurrentSelection() {
-		IJavaElement[] elements = new IJavaElement[0];
-		StructuredTextEditor editor = (StructuredTextEditor) getTextEditor();
-		// get JSP translation object for this viewer's document
-		IStructuredModel model = editor.getModel();
-		if (model != null && model instanceof IDOMModel) {
-			IDOMDocument xmlDoc = ((IDOMModel) model).getDocument();
-			JSPTranslationAdapter adapter = (JSPTranslationAdapter) xmlDoc.getAdapterFor(IJSPTranslation.class);
-			if (adapter != null) {
-				JSPTranslation translation = adapter.getJSPTranslation();
-				ISelection s = editor.getSelectionProvider().getSelection();
-				if (s instanceof ITextSelection) {
-					ITextSelection selection = (ITextSelection) s;
-					elements = translation.getElementsFromJspRange(selection.getOffset(), selection.getLength());
-				}
-			}
-		}
-		return elements;
-	}
-
-	public String[] getPartitionTypes() {
-		return new String[]{IJSPPartitionTypes.JSP_DEFAULT, IJSPPartitionTypes.JSP_CONTENT_JAVA};
-	}
-
-	public String[] getRegionTypes() {
-		return new String[]{DOMRegionContext.BLOCK_TEXT, DOMJSPRegionContexts.JSP_CONTENT};
-	}
-
-	private IFile getJspFile() {
-		if (this.fJSPFile == null)
-			this.fJSPFile = ((StructuredTextEditor) getTextEditor()).getFileInEditor();
-		return this.fJSPFile;
-	}
-
-	private IJavaElement getJavaElement() {
-		IJavaElement[] elements = getJavaElementsForCurrentSelection();
-		return elements.length > 0 ? elements[0] : null;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/search/JSPOccurrencesSearchResult.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/search/JSPOccurrencesSearchResult.java
deleted file mode 100644
index f1d4f8e..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/search/JSPOccurrencesSearchResult.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.java.search;
-
-import org.eclipse.search.ui.ISearchQuery;
-import org.eclipse.search.ui.text.Match;
-import org.eclipse.wst.sse.ui.internal.search.OccurrencesSearchResult;
-
-/**
- * @author pavery
- */
-public class JSPOccurrencesSearchResult extends OccurrencesSearchResult {
-	
-	public JSPOccurrencesSearchResult(ISearchQuery query) {
-		super(query);
-	}
-	
-	public Match[] getMatches() {
-		return ((JSPSearchQuery)getQuery()).getMatches();
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/search/JSPSearchQuery.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/search/JSPSearchQuery.java
deleted file mode 100644
index 424a676..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/search/JSPSearchQuery.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.java.search;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.search.SearchDocument;
-import org.eclipse.jst.jsp.core.internal.java.search.JSPSearchScope;
-import org.eclipse.jst.jsp.core.internal.java.search.JSPSearchSupport;
-import org.eclipse.jst.jsp.ui.internal.JSPUIMessages;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.search.ui.ISearchResult;
-import org.eclipse.wst.sse.ui.internal.search.BasicSearchQuery;
-
-/**
- * Implementation of <code>ISearchQuery</code> for <code>IJavaElement</code>s in JSP files.
- * 
- * @author pavery
- */
-public class JSPSearchQuery extends BasicSearchQuery {
-	
-	private class SingleFileSearch implements IWorkspaceRunnable {
-
-		public void run(IProgressMonitor monitor) throws CoreException {
-
-			if (getFile() != null && getJavaElement() != null) {
-				
-				JSPSearchSupport support = JSPSearchSupport.getInstance();
-				// index the file
-				SearchDocument delegate =  support.addJspFile(getFile());
-				String scopePath = delegate.getPath();
-				JSPSearchScope singleFileScope = new JSPSearchScope(new String[]{getFile().getFullPath().toString(), scopePath});
-				
-				// perform a search
-				// by passing in this jsp search query, requstor can add matches
-				support.searchRunnable(getJavaElement(), singleFileScope, new JSPSingleFileSearchRequestor(getInstance()));
-			}
-		}
-	}
-	
-	/** the IJavaElement we are searching for in the file **/
-	private IJavaElement fElement = null;
-	
-	public JSPSearchQuery(IFile file, IJavaElement element) {
-		super(file);
-		this.fElement = element;
-	}
-	
-	public IJavaElement getJavaElement() {
-		return this.fElement;
-	}
-	
-	// for access by inner class
-	public JSPSearchQuery getInstance() {
-		return this;
-	}
-
-	protected IWorkspaceRunnable getRunnable() {
-		return new SingleFileSearch();
-	}
-	
-	protected IStatus doQuery() {
-		
-		clearMatches();
-		
-		IStatus status = Status.OK_STATUS;
-		try {
-			JSPSearchSupport support = JSPSearchSupport.getInstance();
-			// index the file
-			SearchDocument delegate =  support.addJspFile(getFile());
-			String scopePath = delegate.getPath();
-			JSPSearchScope singleFileScope = new JSPSearchScope(new String[]{getFile().getFullPath().toString(), scopePath});
-			
-			// perform a searchs
-			// by passing in this jsp search query, requstor can add matches
-			support.searchRunnable(getJavaElement(), singleFileScope, new JSPSingleFileSearchRequestor(getInstance()));
-		}
-		catch (Exception e){
-			status = new Status(IStatus.ERROR, "org.eclipse.wst.sse.ui", IStatus.OK, "", null); //$NON-NLS-1$	//$NON-NLS-2$
-		}
-		return status;
-	}
-	
-	/**
-	 * @see org.eclipse.search.ui.ISearchQuery#getLabel()
-	 */
-	public String getLabel() {
-		String[] args = {getSearchText(), getOccurrencesCountText(), getFilename()};
-		return NLS.bind(JSPUIMessages.OccurrencesSearchQuery_0, args);
-	}
-
-	private String getFilename() {
-		String filename = JSPUIMessages.OccurrencesSearchQuery_2;
-		if(getFile() != null)
-			filename = getFile().getName();
-		return filename;
-	}
-	
-	private String getOccurrencesCountText() {
-		String count = ""; //$NON-NLS-1$
-		// pa_TODO make dynamic
-		return count;
-	}
-
-	protected String getSearchText() {
-		return this.fElement.getElementName();
-	}
-	
-	public boolean canRerun() {
-		
-		return false;
-	}
-
-	/**
-	 * @see org.eclipse.search.ui.ISearchQuery#canRunInBackground()
-	 */
-	public boolean canRunInBackground() {
-		return true;
-	}
-
-	/**
-	 * @see org.eclipse.search.ui.ISearchQuery#getSearchResult()
-	 */
-	public ISearchResult getSearchResult() {
-		
-		return new JSPOccurrencesSearchResult(this);
-	}
-
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/search/JSPSearchRequestor.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/search/JSPSearchRequestor.java
deleted file mode 100644
index 9dc8275..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/search/JSPSearchRequestor.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.java.search;
-
-import java.util.HashMap;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.ui.search.ISearchRequestor;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jst.jsp.ui.internal.Logger;
-import org.eclipse.search.ui.NewSearchUI;
-import org.eclipse.search.ui.text.Match;
-
-
-/**
- * @author pavery
- */
-public class JSPSearchRequestor extends BasicJSPSearchRequestor {
-	
-	private ISearchRequestor fJavaRequestor = null;
-	
-	public JSPSearchRequestor() {
-		super();
-	}
-	
-	public JSPSearchRequestor(ISearchRequestor javaRequestor) {
-		// need to report matches to javaRequestor
-		this.fJavaRequestor = javaRequestor;
-	}
-	
-
-	protected void addSearchMatch(IDocument jspDocument, IFile jspFile, int jspStart, int jspEnd, String jspText) {
-		
-		if(!jspFile.exists())
-			return;
-
-		int lineNumber = -1;
-		try {
-			lineNumber = jspDocument.getLineOfOffset(jspStart);
-		} catch (BadLocationException e) {
-			Logger.logException(e);
-		}
-		createSearchMarker(jspFile, jspStart, jspEnd, lineNumber);
-		
-		if(this.fJavaRequestor != null) {
-			Match match = new Match(jspFile, jspStart, jspEnd - jspStart);
-			this.fJavaRequestor.reportMatch(match);
-		}
-	}
-
-	/**
-	 * @param jspFile
-	 * @param jspStart
-	 * @param jspEnd
-	 */
-	private void createSearchMarker(IFile jspFile, int jspStart, int jspEnd, int lineNumber) {
-		
-		try {
-			IMarker marker = jspFile.createMarker(NewSearchUI.SEARCH_MARKER);
-			HashMap attributes = new HashMap(4);
-			attributes.put(IMarker.CHAR_START, new Integer(jspStart));
-			attributes.put(IMarker.CHAR_END, new Integer(jspEnd));
-			attributes.put(IMarker.LINE_NUMBER, new Integer(lineNumber));
-			marker.setAttributes(attributes);
-			
-		} catch (CoreException e) {
-			Logger.logException(e);
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/search/JSPSingleFileSearchRequestor.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/search/JSPSingleFileSearchRequestor.java
deleted file mode 100644
index 4e35d83..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/search/JSPSingleFileSearchRequestor.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.java.search;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.text.IDocument;
-
-
-/**
- * <p>
- * Special requestor that adds search results for single file search
- * (Used for JSPFindOccurrences action).
- * It groups each match as it's own result.
- * </p>
- * 
- * @author pavery
- */
-public class JSPSingleFileSearchRequestor extends BasicJSPSearchRequestor {
-
-	private JSPSearchQuery fQuery = null;
-	
-	public JSPSingleFileSearchRequestor(JSPSearchQuery query) {
-		this.fQuery = query;
-	}
-	
-	protected void addSearchMatch(IDocument jspDocument, IFile jspFile, int jspStart, int jspEnd, String jspText) {
-		// add match to JSP query...
-		this.fQuery.addMatch(jspDocument, jspStart, jspEnd);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/search/ui/JSPMatchPresentation.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/search/ui/JSPMatchPresentation.java
deleted file mode 100644
index 74b1a26..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/search/ui/JSPMatchPresentation.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.java.search.ui;
-
-import org.eclipse.jdt.ui.search.IMatchPresentation;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.search.ui.text.Match;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.wst.sse.ui.internal.search.BasicSearchLabelProvider;
-
-/**
- * @author pavery
- */
-public class JSPMatchPresentation implements IMatchPresentation {
-
-	/**
-	 * @see org.eclipse.jdt.ui.search.IMatchPresentation#createLabelProvider()
-	 */
-	public ILabelProvider createLabelProvider() {
-		return new BasicSearchLabelProvider();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.ui.search.IMatchPresentation#showMatch(org.eclipse.search.ui.text.Match, int, int, boolean)
-	 */
-	public void showMatch(Match match, int currentOffset, int currentLength, boolean activate) throws PartInitException {
-		// pa_TODO implement
-//		Object obj = match.getElement();
-		// show match in JSP editor
-		if(activate) {
-			// use show in target?
-		}
-		else {
-			// just select
-		}
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/search/ui/JSPQueryParticipant.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/search/ui/JSPQueryParticipant.java
deleted file mode 100644
index badbf18..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/search/ui/JSPQueryParticipant.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.java.search.ui;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.search.SearchPattern;
-import org.eclipse.jdt.core.search.SearchRequestor;
-import org.eclipse.jdt.ui.search.ElementQuerySpecification;
-import org.eclipse.jdt.ui.search.IMatchPresentation;
-import org.eclipse.jdt.ui.search.IQueryParticipant;
-import org.eclipse.jdt.ui.search.ISearchRequestor;
-import org.eclipse.jdt.ui.search.PatternQuerySpecification;
-import org.eclipse.jdt.ui.search.QuerySpecification;
-import org.eclipse.jst.jsp.core.internal.java.search.JSPSearchScope;
-import org.eclipse.jst.jsp.core.internal.java.search.JSPSearchSupport;
-import org.eclipse.jst.jsp.ui.internal.java.search.JSPSearchRequestor;
-
-/**
- * @author pavery 
- */
-public class JSPQueryParticipant implements IQueryParticipant {
-
-	// for debugging
-	private static final boolean DEBUG;
-	static {
-		String value= Platform.getDebugOption("org.eclipse.jst.jsp.core/debug/jspsearch"); //$NON-NLS-1$
-		DEBUG= value != null && value.equalsIgnoreCase("true"); //$NON-NLS-1$
-	}
-	/**
-	 * @see org.eclipse.jdt.ui.search.IQueryParticipant#search(org.eclipse.jdt.ui.search.ISearchRequestor, org.eclipse.jdt.ui.search.QuerySpecification, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void search(ISearchRequestor requestor, QuerySpecification querySpecification, IProgressMonitor monitor) throws CoreException {
-		
-		//indexIfNeeded();
-		
-		// do search based on the particular Java query
-		if(querySpecification instanceof ElementQuerySpecification) {
-			// element search (eg. from global find references in Java file)
-			ElementQuerySpecification elementQuery = (ElementQuerySpecification)querySpecification;
-			IJavaElement element = elementQuery.getElement();
-			
-			if(DEBUG)
-				System.out.println("JSP Query Participant searching on ELEMENT: " + element); //$NON-NLS-1$
-			
-			SearchRequestor jspRequestor = new JSPSearchRequestor(requestor);
-			
-			// pa_TODO need to adapt JavaSearchScope to a JSPSearchScope
-			JSPSearchSupport.getInstance().search(element, new JSPSearchScope(), jspRequestor);
-			
-		}
-		else if(querySpecification instanceof PatternQuerySpecification) {
-			
-			// pattern search (eg. from Java search page)
-			PatternQuerySpecification patternQuery = (PatternQuerySpecification)querySpecification;
-			String pattern = patternQuery.getPattern();
-			
-			if(DEBUG)
-				System.out.println("JSP Query Participant searching on PATTERN: " + pattern); //$NON-NLS-1$
-			
-			SearchRequestor jspRequestor = new JSPSearchRequestor(requestor);
-			
-			JSPSearchSupport.getInstance().search(pattern, 
-													new JSPSearchScope(), 
-													patternQuery.getSearchFor(), 
-													patternQuery.getLimitTo(), 
-													SearchPattern.R_PATTERN_MATCH, 
-													false, 
-													jspRequestor);
-		}
-	}
-
-	/**
-	 * @see org.eclipse.jdt.ui.search.IQueryParticipant#estimateTicks(org.eclipse.jdt.ui.search.QuerySpecification)
-	 */
-	public int estimateTicks(QuerySpecification data) {
-		// pa_TODO use project file counter from JSPSearchSupport...
-		return 0;
-	}
-
-	/**
-	 * @see org.eclipse.jdt.ui.search.IQueryParticipant#getUIParticipant()
-	 */
-	public IMatchPresentation getUIParticipant() {
-		return new JSPMatchPresentation();
-	}
-
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/preferences/JSPUIPreferenceInitializer.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/preferences/JSPUIPreferenceInitializer.java
deleted file mode 100644
index 7b2649a..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/preferences/JSPUIPreferenceInitializer.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package org.eclipse.jst.jsp.ui.internal.preferences;
-
-import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.text.templates.Template;
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-import org.eclipse.jst.jsp.ui.internal.style.IStyleConstantsJSP;
-import org.eclipse.wst.html.ui.internal.style.IStyleConstantsHTML;
-import org.eclipse.wst.sse.ui.internal.preferences.ui.ColorHelper;
-import org.eclipse.wst.xml.ui.internal.style.IStyleConstantsXML;
-
-/**
- * Sets default values for JSP UI preferences
- */
-public class JSPUIPreferenceInitializer extends AbstractPreferenceInitializer {
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences()
-	 */
-	public void initializeDefaultPreferences() {
-		IPreferenceStore store = JSPUIPlugin.getDefault().getPreferenceStore();
-
-		// setting the same as HTML
-		store.setDefault(JSPUIPreferenceNames.AUTO_PROPOSE, true);
-		store.setDefault(JSPUIPreferenceNames.AUTO_PROPOSE_CODE, "<");//$NON-NLS-1$
-
-		// JSP Style Preferences
-		String NOBACKGROUNDBOLD = " | null | false"; //$NON-NLS-1$
-		String styleValue = ColorHelper.getColorString(127, 0, 127) + NOBACKGROUNDBOLD;
-		store.setDefault(IStyleConstantsXML.TAG_ATTRIBUTE_NAME, styleValue);
-
-		styleValue = ColorHelper.getColorString(42, 0, 255) + NOBACKGROUNDBOLD;
-		store.setDefault(IStyleConstantsXML.TAG_ATTRIBUTE_VALUE, styleValue);
-
-		styleValue = "null" + NOBACKGROUNDBOLD; //$NON-NLS-1$
-
-		// specified value is black; leaving as widget default
-		store.setDefault(IStyleConstantsXML.TAG_ATTRIBUTE_EQUALS, styleValue);
-
-		styleValue = ColorHelper.getColorString(63, 95, 191) + NOBACKGROUNDBOLD;
-		store.setDefault(IStyleConstantsXML.COMMENT_BORDER, styleValue);
-		store.setDefault(IStyleConstantsXML.COMMENT_TEXT, styleValue);
-
-		styleValue = ColorHelper.getColorString(0, 128, 128) + NOBACKGROUNDBOLD;
-		store.setDefault(IStyleConstantsXML.TAG_BORDER, styleValue);
-
-		styleValue = ColorHelper.getColorString(63, 127, 127) + NOBACKGROUNDBOLD;
-		store.setDefault(IStyleConstantsXML.TAG_NAME, styleValue);
-
-		styleValue = ColorHelper.getColorString(191, 95, 63) + NOBACKGROUNDBOLD;
-		store.setDefault(IStyleConstantsHTML.SCRIPT_AREA_BORDER, styleValue);
-
-		styleValue = "null" + NOBACKGROUNDBOLD; //$NON-NLS-1$
-		store.setDefault(IStyleConstantsJSP.JSP_CONTENT, styleValue);
-		
-		// set default new jsp file template to use in new file wizard
-		/*
-		 * Need to find template name that goes with default template id (name
-		 * may change for differnt language)
-		 */
-		String templateName = ""; //$NON-NLS-1$
-		Template template = JSPUIPlugin.getDefault().getTemplateStore().findTemplateById("org.eclipse.jst.jsp.ui.templates.jsphtml"); //$NON-NLS-1$
-		if (template != null)
-			templateName = template.getName();
-		store.setDefault(JSPUIPreferenceNames.NEW_FILE_TEMPLATE_NAME, templateName);
-	}
-
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/preferences/JSPUIPreferenceNames.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/preferences/JSPUIPreferenceNames.java
deleted file mode 100644
index c185063..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/preferences/JSPUIPreferenceNames.java
+++ /dev/null
@@ -1,65 +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 Corporation - initial API and implementation
- *     
- *******************************************************************************/
-package org.eclipse.jst.jsp.ui.internal.preferences;
-
-/**
- * Preference keys for JSP UI
- */
-public class JSPUIPreferenceNames {
-	/**
-	 * A named preference that controls if code assist gets auto activated.
-	 * <p>
-	 * Value is of type <code>Boolean</code>.
-	 * </p>
-	 */
-	public static final String AUTO_PROPOSE = getAutoProposeKey();
-
-	private static String getAutoProposeKey() {
-		return "autoPropose";//$NON-NLS-1$
-	}
-
-	/**
-	 * A named preference that holds the characters that auto activate code
-	 * assist.
-	 * <p>
-	 * Value is of type <code>String</code>. All characters that trigger
-	 * auto code assist.
-	 * </p>
-	 */
-	public static final String AUTO_PROPOSE_CODE = getAutoProposeCodeKey();
-
-	private static String getAutoProposeCodeKey() {
-		return "autoProposeCode";//$NON-NLS-1$
-	}
-
-	/**
-	 * The key to store customized templates.
-	 * <p>
-	 * Value is of type <code>String</code>.
-	 * </p>
-	 */
-	public static final String TEMPLATES_KEY = getTemplatesKey();
-
-	private static String getTemplatesKey() {
-		return "org.eclipse.wst.sse.ui.custom_templates"; //$NON-NLS-1$
-	}
-
-	/**
-	 * The key to store the last template name used in new JSP file wizard.
-	 * Template name is stored instead of template id because user-created
-	 * templates do not have template ids.
-	 * <p>
-	 * Value is of type <code>String</code>.
-	 * </p>
-	 */
-	public static final String NEW_FILE_TEMPLATE_NAME = "newFileTemplateName"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/preferences/ui/JSPColorPage.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/preferences/ui/JSPColorPage.java
deleted file mode 100644
index c7f2347..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/preferences/ui/JSPColorPage.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.preferences.ui;
-
-import java.util.ArrayList;
-import java.util.Dictionary;
-import java.util.Hashtable;
-import java.util.Iterator;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jst.jsp.core.internal.provisional.contenttype.ContentTypeIdForJSP;
-import org.eclipse.jst.jsp.core.internal.regions.DOMJSPRegionContexts;
-import org.eclipse.jst.jsp.ui.internal.JSPUIMessages;
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-import org.eclipse.jst.jsp.ui.internal.editor.IHelpContextIds;
-import org.eclipse.jst.jsp.ui.internal.style.IStyleConstantsJSP;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.wst.html.ui.internal.style.IStyleConstantsHTML;
-import org.eclipse.wst.sse.core.internal.provisional.IModelManager;
-import org.eclipse.wst.sse.core.internal.provisional.StructuredModelManager;
-import org.eclipse.wst.sse.ui.internal.preferences.OverlayPreferenceStore;
-import org.eclipse.wst.sse.ui.internal.preferences.OverlayPreferenceStore.OverlayKey;
-import org.eclipse.wst.sse.ui.internal.preferences.ui.StyledTextColorPicker;
-import org.eclipse.wst.xml.core.internal.regions.DOMRegionContext;
-import org.eclipse.wst.xml.ui.internal.preferences.XMLColorPage;
-import org.eclipse.wst.xml.ui.internal.style.IStyleConstantsXML;
-
-public class JSPColorPage extends XMLColorPage {
-
-	/**
-	 * Overridden to set up StyledTextColorPicker differently
-	 */
-	protected void createContentsForPicker(Composite parent) {
-		// create the color picker
-		fPicker = new JSPStyledTextColorPicker(parent, SWT.NULL);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		fPicker.setLayoutData(data);
-
-		fPicker.setPreferenceStore(fOverlayStore);
-		setupPicker(fPicker);
-
-		fPicker.setText(getSampleText());
-	}
-	
-	/**
-	 * Set up all the style preference keys in the overlay store
-	 */
-	protected OverlayKey[] createOverlayStoreKeys() {
-		ArrayList overlayKeys = new ArrayList();
-		
-		ArrayList styleList = new ArrayList();
-		initStyleList(styleList);
-		Iterator i = styleList.iterator();
-		while (i.hasNext()) {
-			overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, (String)i.next()));	
-		}
-
-		OverlayPreferenceStore.OverlayKey[] keys = new OverlayPreferenceStore.OverlayKey[overlayKeys.size()];
-		overlayKeys.toArray(keys);
-		return keys;
-	}
-
-	public String getSampleText() {
-		return JSPUIMessages.Sample_JSP_doc; //$NON-NLS-1$ = "<%@ page \n\tlanguage=\"java\" \n\tcontentType=\"text/html; charset=ISO-8859-1\"\n%>\n<jsp:include flush=\"true\" page=\"titleBar.jsp\"/>\n\n<%-- Use below tags ONLY for JSP 1.1 --%>\n<%\n\tSystem.out.println(\"Welcome!\");\n%>\n<%-- Use below tags ONLY for JSP 1.2 --%>\n<jsp:scriptlet>\n\tSystem.out.println(\"Welcome!\");\n</jsp:scriptlet>"
-	}
-
-	protected void initContextStyleMap(Dictionary contextStyleMap) {
-
-		initCommonContextStyleMap(contextStyleMap);
-		contextStyleMap.remove(DOMRegionContext.XML_CONTENT); // leave content between tags alone
-		contextStyleMap.remove(DOMRegionContext.XML_DECLARATION_OPEN); // xml/html specific
-		contextStyleMap.remove(DOMRegionContext.XML_DECLARATION_CLOSE); // xml/html specific
-		contextStyleMap.remove(DOMRegionContext.XML_ELEMENT_DECLARATION); // xml/html specific
-		contextStyleMap.remove(DOMRegionContext.XML_ELEMENT_DECL_CLOSE); // xml/html specific
-
-		//	contextStyleMap.put(XMLJSPRegionContexts.JSP_CONTENT, HTMLColorManager.SCRIPT_AREA);
-		//	contextStyleMap.put(XMLJSPRegionContexts.BLOCK_TEXT, HTMLColorManager.SCRIPT_AREA);
-		contextStyleMap.put(DOMJSPRegionContexts.JSP_DECLARATION_OPEN, IStyleConstantsHTML.SCRIPT_AREA_BORDER);
-		contextStyleMap.put(DOMJSPRegionContexts.JSP_SCRIPTLET_OPEN, IStyleConstantsHTML.SCRIPT_AREA_BORDER);
-		contextStyleMap.put(DOMJSPRegionContexts.JSP_EXPRESSION_OPEN, IStyleConstantsHTML.SCRIPT_AREA_BORDER);
-		contextStyleMap.put(DOMJSPRegionContexts.JSP_DIRECTIVE_OPEN, IStyleConstantsHTML.SCRIPT_AREA_BORDER);
-		contextStyleMap.put(DOMJSPRegionContexts.JSP_DIRECTIVE_CLOSE, IStyleConstantsHTML.SCRIPT_AREA_BORDER);
-		contextStyleMap.put(DOMJSPRegionContexts.JSP_CLOSE, IStyleConstantsHTML.SCRIPT_AREA_BORDER);
-		
-		contextStyleMap.put(DOMJSPRegionContexts.JSP_CONTENT, IStyleConstantsJSP.JSP_CONTENT);
-		
-		contextStyleMap.put(DOMJSPRegionContexts.JSP_DIRECTIVE_NAME, IStyleConstantsXML.TAG_NAME);
-		contextStyleMap.put(DOMJSPRegionContexts.JSP_ROOT_TAG_NAME, IStyleConstantsXML.TAG_NAME);
-		contextStyleMap.put(DOMJSPRegionContexts.JSP_COMMENT_OPEN, IStyleConstantsXML.COMMENT_BORDER);
-		contextStyleMap.put(DOMJSPRegionContexts.JSP_COMMENT_TEXT, IStyleConstantsXML.COMMENT_TEXT);
-		contextStyleMap.put(DOMJSPRegionContexts.JSP_COMMENT_CLOSE, IStyleConstantsXML.COMMENT_BORDER);
-		
-		contextStyleMap.put(DOMJSPRegionContexts.XML_TAG_ATTRIBUTE_VALUE_DQUOTE, IStyleConstantsXML.TAG_ATTRIBUTE_VALUE);
-		contextStyleMap.put(DOMJSPRegionContexts.XML_TAG_ATTRIBUTE_VALUE_SQUOTE, IStyleConstantsXML.TAG_ATTRIBUTE_VALUE);
-	}
-
-	protected void initDescriptions(Dictionary descriptions) {
-		initCommonDescriptions(descriptions);
-		descriptions.remove(IStyleConstantsXML.XML_CONTENT); // leave content between tags alone
-		descriptions.remove(IStyleConstantsXML.DECL_BORDER); // xml/html specific
-		descriptions.put(IStyleConstantsHTML.SCRIPT_AREA_BORDER, JSPUIMessages.JSP_Delimiters_UI_); //$NON-NLS-1$ = "JSP Delimiters"
-		descriptions.put(IStyleConstantsJSP.JSP_CONTENT, JSPUIMessages.JSPColorPage_jsp_content);
-	}
-
-	protected void initStyleList(ArrayList list) {
-		initCommonStyleList(list);
-		list.remove(IStyleConstantsXML.XML_CONTENT); // leave content between tags alone
-		list.remove(IStyleConstantsXML.DECL_BORDER); // xml/html specific
-		list.add(IStyleConstantsHTML.SCRIPT_AREA_BORDER);
-		list.add(IStyleConstantsJSP.JSP_CONTENT);
-	}
-
-	protected void setupPicker(StyledTextColorPicker picker) {
-		IModelManager mmanager = StructuredModelManager.getModelManager();
-		picker.setParser(mmanager.createStructuredDocumentFor(ContentTypeIdForJSP.ContentTypeID_JSP).getParser());
-
-		// create descriptions for highlighting types
-		Dictionary descriptions = new Hashtable();
-		initDescriptions(descriptions);
-
-		// map region types to highlighting types
-		Dictionary contextStyleMap = new Hashtable();
-		initContextStyleMap(contextStyleMap);
-
-		ArrayList styleList = new ArrayList();
-		initStyleList(styleList);
-
-		picker.setContextStyleMap(contextStyleMap);
-		picker.setDescriptions(descriptions);
-		picker.setStyleList(styleList);
-
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createContents(Composite parent) {
-		
-		Control c = super.createContents(parent);
-		WorkbenchHelp.setHelp(c, IHelpContextIds.JSP_PREFWEBX_STYLES_HELPID);
-		return c;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#doGetPreferenceStore()
-	 */
-	protected IPreferenceStore doGetPreferenceStore() {
-		return JSPUIPlugin.getDefault().getPreferenceStore();
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.sse.ui.preferences.ui.AbstractColorPage#savePreferences()
-	 */
-	protected void savePreferences() {
-		JSPUIPlugin.getDefault().savePluginPreferences();
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/preferences/ui/JSPFilesPreferencePage.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/preferences/ui/JSPFilesPreferencePage.java
deleted file mode 100644
index 4351d30..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/preferences/ui/JSPFilesPreferencePage.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.preferences.ui;
-
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jst.jsp.core.internal.JSPCorePlugin;
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-import org.eclipse.jst.jsp.ui.internal.editor.IHelpContextIds;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.wst.html.ui.internal.preferences.ui.HTMLFilesPreferencePage;
-
-public class JSPFilesPreferencePage extends HTMLFilesPreferencePage {
-
-
-	protected Preferences getModelPreferences() {
-		return JSPCorePlugin.getDefault().getPluginPreferences();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#doGetPreferenceStore()
-	 */
-	protected IPreferenceStore doGetPreferenceStore() {
-		return JSPUIPlugin.getDefault().getPreferenceStore();
-	}
-
-	protected void doSavePreferenceStore() {
-		JSPCorePlugin.getDefault().savePluginPreferences(); // model
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createContents(Composite parent) {
-		Control c = super.createContents(parent);
-		WorkbenchHelp.setHelp(c, IHelpContextIds.JSP_PREFWEBX_FILES_HELPID);
-		return c;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.html.ui.preferences.ui.HTMLFilesPreferencePage#createContentsForLoadingGroup(org.eclipse.swt.widgets.Composite)
-	 */
-	protected void createContentsForLoadingGroup(Composite parent) {
-		// no loading preferences
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.html.ui.preferences.ui.HTMLFilesPreferencePage#initializeValuesForLoadingGroup()
-	 */
-	protected void initializeValuesForLoadingGroup() {
-		// no loading preferences
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.html.ui.preferences.ui.HTMLFilesPreferencePage#performDefaultsForLoadingGroup()
-	 */
-	protected void performDefaultsForLoadingGroup() {
-		// no loading preferences
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.html.ui.preferences.ui.HTMLFilesPreferencePage#storeValuesForLoadingGroup()
-	 */
-	protected void storeValuesForLoadingGroup() {
-		// no loading preferences
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/preferences/ui/JSPSourcePreferencePage.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/preferences/ui/JSPSourcePreferencePage.java
deleted file mode 100644
index 5381ecb..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/preferences/ui/JSPSourcePreferencePage.java
+++ /dev/null
@@ -1,100 +0,0 @@
-package org.eclipse.jst.jsp.ui.internal.preferences.ui;
-
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.jst.jsp.ui.internal.JSPUIMessages;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.ScrolledComposite;
-import org.eclipse.swt.graphics.Point;
-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.Text;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.dialogs.PreferenceLinkArea;
-import org.eclipse.ui.preferences.IWorkbenchPreferenceContainer;
-
-public class JSPSourcePreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
-
-	public void init(IWorkbench workbench) {
-		// do nothing
-	}
-
-	protected Control createContents(Composite parent) {
-		Composite composite = createScrolledComposite(parent);
-
-		Text label = new Text(composite, SWT.READ_ONLY);
-		label.setText(JSPUIMessages.JSPSourcePreferencePage_0);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL);
-		data.horizontalIndent = 0;
-		label.setLayoutData(data);
-		
-		PreferenceLinkArea fileEditorsArea = new PreferenceLinkArea(composite, SWT.NONE, "org.eclipse.wst.html.ui.preferences.source", JSPUIMessages.JSPSourcePreferencePage_1,//$NON-NLS-1$
-					(IWorkbenchPreferenceContainer) getContainer(), null);
-
-		data = new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL);
-		data.horizontalIndent = 5;
-		fileEditorsArea.getControl().setLayoutData(data);
-
-		PreferenceLinkArea contentTypeArea = new PreferenceLinkArea(composite, SWT.NONE, "org.eclipse.wst.sse.ui.preferences.xml.source", JSPUIMessages.JSPSourcePreferencePage_2,//$NON-NLS-1$
-					(IWorkbenchPreferenceContainer) getContainer(), null);
-
-		data = new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL);
-		data.horizontalIndent = 5;
-		contentTypeArea.getControl().setLayoutData(data);
-
-		return composite;
-	}
-
-	private Composite createScrolledComposite(Composite parent) {
-		// create scrollbars for this parent when needed
-		final ScrolledComposite sc1 = new ScrolledComposite(parent, SWT.H_SCROLL | SWT.V_SCROLL);
-		sc1.setLayoutData(new GridData(GridData.FILL_BOTH));
-		Composite composite = createComposite(sc1);
-		sc1.setContent(composite);
-
-		// not calling setSize for composite will result in a blank composite,
-		// so calling it here initially
-		// setSize actually needs to be called after all controls are created,
-		// so scrolledComposite
-		// has correct minSize
-		setSize(composite);
-		return composite;
-	}
-
-	private void setSize(Composite composite) {
-		if (composite != null) {
-			Point minSize = composite.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-			composite.setSize(minSize);
-			// set scrollbar composite's min size so page is expandable but
-			// has scrollbars when needed
-			if (composite.getParent() instanceof ScrolledComposite) {
-				ScrolledComposite sc1 = (ScrolledComposite) composite.getParent();
-				sc1.setMinSize(minSize);
-				sc1.setExpandHorizontal(true);
-				sc1.setExpandVertical(true);
-			}
-		}
-	}
-
-	private Composite createComposite(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NULL);
-
-		// GridLayout
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		composite.setLayout(layout);
-
-		// GridData
-		GridData data = new GridData(GridData.FILL);
-		data.horizontalIndent = 0;
-		data.verticalAlignment = GridData.FILL;
-		data.horizontalAlignment = GridData.FILL;
-		composite.setLayoutData(data);
-
-		composite.setFont(parent.getFont());
-		return composite;
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/preferences/ui/JSPStyledTextColorPicker.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/preferences/ui/JSPStyledTextColorPicker.java
deleted file mode 100644
index d35451e..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/preferences/ui/JSPStyledTextColorPicker.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package org.eclipse.jst.jsp.ui.internal.preferences.ui;
-
-import org.eclipse.jst.jsp.ui.internal.style.IStyleConstantsJSP;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.wst.sse.ui.internal.preferences.ui.StyledTextColorPicker;
-
-/**
-* Overrides StyledTextColorPicker for special enablement behavior 
-* for JSPContent (only background settable)
-**/
-public class JSPStyledTextColorPicker extends StyledTextColorPicker {
-	
-	public JSPStyledTextColorPicker(Composite parent, int style) {
-		super(parent, style);
-	}
-	
-	/**
-	 * Activate controls based on the given local color type.
-	 * Overridden to disable foreground color, bold.
-	 */
-	protected void activate(String namedStyle) {
-		if(namedStyle != null && namedStyle == IStyleConstantsJSP.JSP_CONTENT) {
-			fForeground.setEnabled(false);
-			fBackground.setEnabled(true);
-			fClearStyle.setEnabled(true);
-			fBold.setEnabled(false);
-			if (showItalic)
-				fItalic.setEnabled(false);
-			fForegroundLabel.setEnabled(false);
-			fBackgroundLabel.setEnabled(false);
-		}
-		else {
-			super.activate(namedStyle);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/preferences/ui/JSPTemplatePreferencePage.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/preferences/ui/JSPTemplatePreferencePage.java
deleted file mode 100644
index 3ce9d9e..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/preferences/ui/JSPTemplatePreferencePage.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.preferences.ui;
-
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-import org.eclipse.jst.jsp.ui.internal.editor.IHelpContextIds;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.texteditor.templates.TemplatePreferencePage;
-
-
-/**
- * Preference page for JSP templates
- */
-public class JSPTemplatePreferencePage extends TemplatePreferencePage {
-
-	public JSPTemplatePreferencePage() {
-		JSPUIPlugin jspEditorPlugin = JSPUIPlugin.getDefault();
-		
-		setPreferenceStore(jspEditorPlugin.getPreferenceStore());
-		setTemplateStore(jspEditorPlugin.getTemplateStore());
-		setContextTypeRegistry(jspEditorPlugin.getTemplateContextRegistry());
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.IPreferencePage#performOk()
-	 */
-	public boolean performOk() {
-  	  boolean ok = super.performOk();
-  	  JSPUIPlugin.getDefault().savePluginPreferences();
-	  return ok;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.texteditor.templates.TemplatePreferencePage#isShowFormatterSetting()
-	 */
-	protected boolean isShowFormatterSetting() {
-		// template formatting has not been implemented
-		return false;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createContents(Composite ancestor) {
-		Control c = super.createContents(ancestor);
-		WorkbenchHelp.setHelp(c, IHelpContextIds.JSP_PREFWEBX_TEMPLATES_HELPID);
-		return c;
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/projection/ProjectionModelNodeAdapterFactoryHTML.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/projection/ProjectionModelNodeAdapterFactoryHTML.java
deleted file mode 100644
index cd59cd1..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/projection/ProjectionModelNodeAdapterFactoryHTML.java
+++ /dev/null
@@ -1,97 +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 Corporation - initial API and implementation
- *     
- *******************************************************************************/
-package org.eclipse.jst.jsp.ui.internal.projection;
-
-import org.eclipse.jface.text.source.projection.ProjectionViewer;
-import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace;
-import org.eclipse.wst.sse.core.internal.provisional.AbstractAdapterFactory;
-import org.eclipse.wst.sse.core.internal.provisional.INodeAdapter;
-import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
-import org.w3c.dom.Node;
-
-public class ProjectionModelNodeAdapterFactoryHTML extends AbstractAdapterFactory {
-	// copies of this class located in:
-	// org.eclipse.wst.html.ui.internal.projection
-	// org.eclipse.jst.jsp.ui.internal.projection
-
-	private ProjectionViewer fProjectionViewer;
-
-	public ProjectionModelNodeAdapterFactoryHTML() {
-		adapterKey = ProjectionModelNodeAdapterHTML.class;
-	}
-
-	/**
-	 * Actually creates an adapter for the parent of target if target is the
-	 * "adapt-able" node
-	 */
-	protected INodeAdapter createAdapter(INodeNotifier target) {
-		if ((fProjectionViewer != null) && (target instanceof Node) && ((Node) target).getNodeType() == Node.ELEMENT_NODE) {
-			Node node = (Node) target;
-			if (isNodeProjectable(node)) {
-
-				// actually work with the parent node to listen for add,
-				// delete events
-				Node parent = node.getParentNode();
-				if (parent instanceof INodeNotifier) {
-					INodeNotifier parentNotifier = (INodeNotifier) parent;
-					ProjectionModelNodeAdapterHTML parentAdapter = (ProjectionModelNodeAdapterHTML) parentNotifier.getExistingAdapter(ProjectionModelNodeAdapterHTML.class);
-					if (parentAdapter == null) {
-						// create a new adapter for parent
-						parentAdapter = new ProjectionModelNodeAdapterHTML(this);
-						parentNotifier.addAdapter(parentAdapter);
-					}
-					// call update on parent because a new node has just been
-					// added
-					parentAdapter.updateAdapter(parent);
-				}
-			}
-		}
-
-		return null;
-	}
-
-	ProjectionViewer getProjectionViewer() {
-		return fProjectionViewer;
-	}
-
-	/**
-	 * Returns true if node is a node type able to fold
-	 * 
-	 * @param node
-	 * @return boolean true if node is projectable, false otherwise
-	 */
-	boolean isNodeProjectable(Node node) {
-		if (node.getNodeType() == Node.ELEMENT_NODE) {
-			String tagName = node.getNodeName();
-			// node is only projectable if it is head, body, script, style,
-			// table tags
-			if (HTML40Namespace.ElementName.HEAD.equalsIgnoreCase(tagName) || HTML40Namespace.ElementName.BODY.equalsIgnoreCase(tagName) || HTML40Namespace.ElementName.SCRIPT.equalsIgnoreCase(tagName) || HTML40Namespace.ElementName.STYLE.equalsIgnoreCase(tagName) || HTML40Namespace.ElementName.TABLE.equalsIgnoreCase((tagName)))
-				return true;
-		}
-		return false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.AbstractAdapterFactory#release()
-	 */
-	public void release() {
-		fProjectionViewer = null;
-
-		super.release();
-	}
-
-	void setProjectionViewer(ProjectionViewer viewer) {
-		fProjectionViewer = viewer;
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/projection/ProjectionModelNodeAdapterFactoryJSP.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/projection/ProjectionModelNodeAdapterFactoryJSP.java
deleted file mode 100644
index 0941a19..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/projection/ProjectionModelNodeAdapterFactoryJSP.java
+++ /dev/null
@@ -1,69 +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 Corporation - initial API and implementation
- *     
- *******************************************************************************/
-package org.eclipse.jst.jsp.ui.internal.projection;
-
-import org.eclipse.jst.jsp.core.internal.provisional.JSP11Namespace;
-import org.eclipse.wst.sse.core.internal.provisional.INodeAdapter;
-import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
-import org.w3c.dom.Node;
-
-public class ProjectionModelNodeAdapterFactoryJSP extends ProjectionModelNodeAdapterFactoryHTML {
-	public ProjectionModelNodeAdapterFactoryJSP() {
-		adapterKey = ProjectionModelNodeAdapterJSP.class;
-	}
-
-	/**
-	 * Actually creates an adapter for the parent of target if target is the
-	 * "adapt-able" node
-	 */
-	protected INodeAdapter createAdapter(INodeNotifier target) {
-		if ((getProjectionViewer() != null) && (target instanceof Node) && ((Node) target).getNodeType() == Node.ELEMENT_NODE) {
-			Node node = (Node) target;
-			if (isNodeProjectable(node)) {
-
-				// actually work with the parent node to listen for add,
-				// delete events
-				Node parent = node.getParentNode();
-				if (parent instanceof INodeNotifier) {
-					INodeNotifier parentNotifier = (INodeNotifier) parent;
-					ProjectionModelNodeAdapterJSP parentAdapter = (ProjectionModelNodeAdapterJSP) parentNotifier.getExistingAdapter(ProjectionModelNodeAdapterJSP.class);
-					if (parentAdapter == null) {
-						// create a new adapter for parent
-						parentAdapter = new ProjectionModelNodeAdapterJSP(this);
-						parentNotifier.addAdapter(parentAdapter);
-					}
-					// call update on parent because a new node has just been
-					// added
-					parentAdapter.updateAdapter(parent);
-				}
-			}
-		}
-
-		return null;
-	}
-
-	/**
-	 * Returns true if node is a node type able to fold
-	 * 
-	 * @param node
-	 * @return boolean true if node is projectable, false otherwise
-	 */
-	boolean isNodeProjectable(Node node) {
-		if (node.getNodeType() == Node.ELEMENT_NODE) {
-			String tagName = node.getNodeName();
-			// node is only projectable if it is jsp scriptlet tag
-			if (JSP11Namespace.ElementName.SCRIPTLET.equalsIgnoreCase(tagName))
-				return true;
-		}
-		return false;
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/projection/ProjectionModelNodeAdapterHTML.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/projection/ProjectionModelNodeAdapterHTML.java
deleted file mode 100644
index 8f8d660..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/projection/ProjectionModelNodeAdapterHTML.java
+++ /dev/null
@@ -1,263 +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 Corporation - initial API and implementation
- *     
- *******************************************************************************/
-package org.eclipse.jst.jsp.ui.internal.projection;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.text.source.projection.ProjectionAnnotation;
-import org.eclipse.jface.text.source.projection.ProjectionAnnotationModel;
-import org.eclipse.jface.text.source.projection.ProjectionViewer;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Canvas;
-import org.eclipse.wst.html.ui.internal.Logger;
-import org.eclipse.wst.sse.core.internal.provisional.INodeAdapter;
-import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
-import org.eclipse.wst.sse.core.internal.provisional.IndexedRegion;
-import org.w3c.dom.Node;
-
-/**
- * Updates projection annotation model with projection annotations for this
- * adapter node's children
- */
-public class ProjectionModelNodeAdapterHTML implements INodeAdapter {
-
-	private class TagProjectionAnnotation extends ProjectionAnnotation {
-		private boolean fIsVisible = false; /* workaround for BUG85874 */
-		private Node fNode;
-
-		public TagProjectionAnnotation(Node node, boolean isCollapsed) {
-			super(isCollapsed);
-			fNode = node;
-		}
-
-		public Node getNode() {
-			return fNode;
-		}
-
-		public void setNode(Node node) {
-			fNode = node;
-		}
-
-		/**
-		 * Does not paint hidden annotations. Annotations are hidden when they
-		 * only span one line.
-		 * 
-		 * @see ProjectionAnnotation#paint(org.eclipse.swt.graphics.GC,
-		 *      org.eclipse.swt.widgets.Canvas,
-		 *      org.eclipse.swt.graphics.Rectangle)
-		 */
-		public void paint(GC gc, Canvas canvas, Rectangle rectangle) {
-			/* workaround for BUG85874 */
-			/*
-			 * only need to check annotations that are expanded because hidden
-			 * annotations should never have been given the chance to
-			 * collapse.
-			 */
-			if (!isCollapsed()) {
-				// working with rectangle, so need the styledtext line height
-				int lineHeight = fAdapterFactory.getProjectionViewer().getTextWidget().getLineHeight();
-
-				// do not draw annotations that only span one line and mark
-				// them as not visible
-				if ((rectangle.height / lineHeight) <= 1) {
-					fIsVisible = false;
-					return;
-				}
-			}
-			fIsVisible = true;
-			super.paint(gc, canvas, rectangle);
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.text.source.projection.ProjectionAnnotation#markCollapsed()
-		 */
-		public void markCollapsed() {
-			/* workaround for BUG85874 */
-			// do not mark collapsed if annotation is not visible
-			if (fIsVisible)
-				super.markCollapsed();
-		}
-	}
-
-	// copies of this class located in:
-	// org.eclipse.wst.html.ui.internal.projection
-	// org.eclipse.jst.jsp.ui.internal.projection
-	private final static boolean debugProjectionPerf = "true".equalsIgnoreCase(Platform.getDebugOption("org.eclipse.wst.html.ui/projectionperf")); //$NON-NLS-1$ //$NON-NLS-2$
-
-	ProjectionModelNodeAdapterFactoryHTML fAdapterFactory;
-	private Map fTagAnnotations = new HashMap();
-
-	public ProjectionModelNodeAdapterHTML(ProjectionModelNodeAdapterFactoryHTML factory) {
-		fAdapterFactory = factory;
-	}
-
-	/**
-	 * Create a projection position from the given node. Able to get
-	 * projection position if node isNodeProjectable.
-	 * 
-	 * @param node
-	 * @return null if no projection position possible, a Position otherwise
-	 */
-	private Position createProjectionPosition(Node node) {
-		Position pos = null;
-		if (fAdapterFactory.isNodeProjectable(node) && node instanceof IndexedRegion) {
-			IDocument document = fAdapterFactory.getProjectionViewer().getDocument();
-			if (document != null) {
-				IndexedRegion inode = (IndexedRegion) node;
-				int start = inode.getStartOffset();
-				int end = inode.getEndOffset();
-				if (start >= 0 && start < end) {
-					try {
-//						// region-based
-//						// extra line when collapsed, but no region increase when add newline
-//						pos = new Position(start, end - start);
-						
-//						// line-based
-//						// extra line when collapsed, but no region increase when add newline
-//						IRegion startLineRegion = document.getLineInformationOfOffset(start);
-//						IRegion endLineRegion = document.getLineInformationOfOffset(end);
-//						int startOffset = startLineRegion.getOffset();
-//						int endOffset = endLineRegion.getOffset() + endLineRegion.getLength();
-//						if (endOffset > startOffset) {
-//							pos = new Position(startOffset, endOffset - startOffset);
-//						}
-						
-						// line-based
-						// no extra line when collapsed, but region increase when add newline
-						int startLine = document.getLineOfOffset(start);
-						int endLine = document.getLineOfOffset(end);
-						if (endLine + 1 < document.getNumberOfLines()) {
-							int offset = document.getLineOffset(startLine);
-							int endOffset = document.getLineOffset(endLine + 1);
-							pos = new Position(offset, endOffset - offset);
-						}
-					} catch (BadLocationException x) {
-						Logger.log(Logger.WARNING_DEBUG, null, x);
-					}
-				}
-			}
-		}
-		return pos;
-	}
-
-	/**
-	 * Find TagProjectionAnnotation for node in the current list of projection
-	 * annotations for this adapter
-	 * 
-	 * @param node
-	 * @return TagProjectionAnnotation
-	 */
-	private TagProjectionAnnotation getExistingAnnotation(Node node) {
-		TagProjectionAnnotation anno = null;
-
-		if ((node != null) && (!fTagAnnotations.isEmpty())) {
-			Iterator it = fTagAnnotations.keySet().iterator();
-			while (it.hasNext() && anno == null) {
-				TagProjectionAnnotation a = (TagProjectionAnnotation) it.next();
-				Node n = a.getNode();
-				if (node.equals(n)) {
-					anno = a;
-				}
-			}
-		}
-		return anno;
-	}
-
-	public boolean isAdapterForType(Object type) {
-		return type == ProjectionModelNodeAdapterHTML.class;
-	}
-
-	public void notifyChanged(INodeNotifier notifier, int eventType, Object changedFeature, Object oldValue, Object newValue, int pos) {
-		// check if folding is even enabled, if not, just ignore notifyChanged
-		// events
-		if (fAdapterFactory.getProjectionViewer() == null) {
-			return;
-		}
-
-		if ((eventType == INodeNotifier.STRUCTURE_CHANGED) && (notifier instanceof Node)) {
-			updateAdapter((Node) notifier);
-		}
-	}
-
-	/**
-	 * Update the projection annotation of all the nodes that are children of
-	 * node
-	 * 
-	 * @param node
-	 */
-	void updateAdapter(Node node) {
-		long start = System.currentTimeMillis();
-
-		Map additions = new HashMap();
-		Map projectionAnnotations = new HashMap();
-
-		// go through immediate child nodes and figure out projection
-		// model annotations
-		if (node != null) {
-			Node childNode = node.getFirstChild();
-			while (childNode != null) {
-				Position newPos = createProjectionPosition(childNode);
-				if (newPos != null) {
-					TagProjectionAnnotation newAnnotation = new TagProjectionAnnotation(childNode, false);
-					TagProjectionAnnotation existing = getExistingAnnotation(childNode);
-					if (existing == null) {
-						// add to map containing all annotations for this
-						// adapter
-						projectionAnnotations.put(newAnnotation, newPos);
-						// add to map containing annotations to add
-						additions.put(newAnnotation, newPos);
-					} else {
-						// add to map containing all annotations for this
-						// adapter
-						projectionAnnotations.put(existing, newPos);
-						// remove from map containing annotations to delete
-						fTagAnnotations.remove(existing);
-					}
-				}
-				childNode = childNode.getNextSibling();
-			}
-
-			// in the end, want to delete anything leftover in old list, add
-			// everything in additions, and update everything in
-			// projectionAnnotations
-			ProjectionAnnotation[] oldList = null;
-			if (!fTagAnnotations.isEmpty()) {
-				oldList = (ProjectionAnnotation[]) fTagAnnotations.keySet().toArray(new ProjectionAnnotation[0]);
-			}
-			ProjectionAnnotation[] modifyList = null;
-			if (!projectionAnnotations.isEmpty()) {
-				modifyList = (ProjectionAnnotation[]) projectionAnnotations.keySet().toArray(new ProjectionAnnotation[0]);
-			}
-			ProjectionViewer viewer = fAdapterFactory.getProjectionViewer();
-			ProjectionAnnotationModel annotationModel = viewer.getProjectionAnnotationModel();
-			annotationModel.modifyAnnotations(oldList, additions, modifyList);
-		}
-
-		// save new list of annotations
-		fTagAnnotations = additions;
-
-		long end = System.currentTimeMillis();
-		if (debugProjectionPerf) {
-			String nodeName = node != null ? node.getNodeName() : "null"; //$NON-NLS-1$
-			System.out.println("ProjectionModelNodeAdapterHTML.updateAdapter (" + nodeName + "):" + (end - start)); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/projection/ProjectionModelNodeAdapterJSP.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/projection/ProjectionModelNodeAdapterJSP.java
deleted file mode 100644
index a195368..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/projection/ProjectionModelNodeAdapterJSP.java
+++ /dev/null
@@ -1,26 +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 Corporation - initial API and implementation
- *     
- *******************************************************************************/
-package org.eclipse.jst.jsp.ui.internal.projection;
-
-/**
- * Updates projection annotation model with projection annotations for this
- * adapter node's children
- */
-public class ProjectionModelNodeAdapterJSP extends ProjectionModelNodeAdapterHTML {
-	public ProjectionModelNodeAdapterJSP(ProjectionModelNodeAdapterFactoryJSP factory) {
-		super(factory);
-	}
-
-	public boolean isAdapterForType(Object type) {
-		return type == ProjectionModelNodeAdapterJSP.class;
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/projection/StructuredTextFoldingProviderJSP.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/projection/StructuredTextFoldingProviderJSP.java
deleted file mode 100644
index f4316f9..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/projection/StructuredTextFoldingProviderJSP.java
+++ /dev/null
@@ -1,275 +0,0 @@
-package org.eclipse.jst.jsp.ui.internal.projection;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.source.projection.IProjectionListener;
-import org.eclipse.jface.text.source.projection.ProjectionViewer;
-import org.eclipse.wst.sse.core.internal.PropagatingAdapter;
-import org.eclipse.wst.sse.core.internal.model.FactoryRegistry;
-import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
-import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-import org.eclipse.wst.sse.core.internal.provisional.IndexedRegion;
-import org.eclipse.wst.sse.core.internal.provisional.StructuredModelManager;
-import org.eclipse.wst.sse.ui.internal.projection.IStructuredTextFoldingProvider;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-
-/**
- * Updates the projection model of a structured model for JSP.
- */
-public class StructuredTextFoldingProviderJSP implements IStructuredTextFoldingProvider, IProjectionListener {
-	private final static boolean debugProjectionPerf = "true".equalsIgnoreCase(Platform.getDebugOption("org.eclipse.jst.jsp.ui/projectionperf")); //$NON-NLS-1$ //$NON-NLS-2$
-	
-	private IDocument fDocument;
-	private ProjectionViewer fViewer;
-
-	/**
-	 * Adds an adapter to node and its children
-	 * 
-	 * @param node
-	 * @param level
-	 */
-	private void addAdapterToNodeAndChildren(Node node, int level) {
-		if (node instanceof INodeNotifier) {
-			INodeNotifier notifier = (INodeNotifier) node;
-
-			// try and get the adapter for the current node and update the
-			// adapter with projection information
-			ProjectionModelNodeAdapterJSP adapter = (ProjectionModelNodeAdapterJSP) notifier.getExistingAdapter(ProjectionModelNodeAdapterJSP.class);
-			if (adapter != null) {
-				adapter.updateAdapter(node);
-			}
-			else {
-				// just call getadapter so the adapter is created and
-				// automatically initialized
-				notifier.getAdapterFor(ProjectionModelNodeAdapterJSP.class);
-			}
-			ProjectionModelNodeAdapterHTML adapter2 = (ProjectionModelNodeAdapterHTML) notifier.getExistingAdapter(ProjectionModelNodeAdapterHTML.class);
-			if (adapter2 != null) {
-				adapter2.updateAdapter(node);
-			}
-			else {
-				// just call getadapter so the adapter is created and
-				// automatically initialized
-				notifier.getAdapterFor(ProjectionModelNodeAdapterHTML.class);
-			}
-
-			Node nextChild = node.getFirstChild();
-			while (nextChild != null) {
-				Node childNode = nextChild;
-				nextChild = childNode.getNextSibling();
-
-				addAdapterToNodeAndChildren(childNode, level + 1);
-			}
-		}
-	}
-
-	/**
-	 * Goes through every node and adds an adapter onto each for tracking
-	 * purposes
-	 */
-	private void addAllAdapters() {
-		long start = System.currentTimeMillis();
-		
-		IStructuredModel sModel = null;
-		try {
-			sModel = StructuredModelManager.getModelManager().getExistingModelForRead(fDocument);
-			if (sModel != null) {
-				int startOffset = 0;
-				IndexedRegion startNode = sModel.getIndexedRegion(startOffset);
-				if (startNode instanceof Node) {
-					int level = 0;
-					Node nextSibling = (Node) startNode;
-					while (nextSibling != null) {
-						Node currentNode = nextSibling;
-						nextSibling = currentNode.getNextSibling();
-
-						addAdapterToNodeAndChildren(currentNode, level);
-					}
-				}
-			}
-		}
-		finally {
-			if (sModel != null) {
-				sModel.releaseFromRead();
-			}
-		}
-		long end = System.currentTimeMillis();
-		if (debugProjectionPerf)
-			System.out.println("StructuredTextFoldingProviderJSP.addAllAdapters: " + (end - start)); //$NON-NLS-1$
-	}
-
-	/**
-	 * Get the ProjectionModelNodeAdapterFactoryHTML to use with this
-	 * provider.
-	 * 
-	 * @return ProjectionModelNodeAdapterFactoryHTML
-	 */
-	private ProjectionModelNodeAdapterFactoryHTML getAdapterFactoryHTML(boolean createIfNeeded) {
-		long start = System.currentTimeMillis();
-		
-		ProjectionModelNodeAdapterFactoryHTML factory = null;
-		IStructuredModel sModel = null;
-		try {
-			sModel = StructuredModelManager.getModelManager().getExistingModelForRead(fDocument);
-			if (sModel != null) {
-				FactoryRegistry factoryRegistry = sModel.getFactoryRegistry();
-
-				// getting the projectionmodelnodeadapter for the first time
-				// so do some initializing
-				if (!factoryRegistry.contains(ProjectionModelNodeAdapterHTML.class) && createIfNeeded) {
-					ProjectionModelNodeAdapterFactoryHTML newFactory = new ProjectionModelNodeAdapterFactoryHTML();
-
-					// add factory to factory registry
-					factoryRegistry.addFactory(newFactory);
-
-					// add factory to propogating adapter
-					IDOMModel domModel = (IDOMModel) sModel;
-					Document document = domModel.getDocument();
-					PropagatingAdapter propagatingAdapter = (PropagatingAdapter) ((INodeNotifier) document).getAdapterFor(PropagatingAdapter.class);
-					if (propagatingAdapter != null) {
-						propagatingAdapter.addAdaptOnCreateFactory(newFactory);
-					}
-				}
-
-				// try and get the factory
-				factory = (ProjectionModelNodeAdapterFactoryHTML) factoryRegistry.getFactoryFor(ProjectionModelNodeAdapterHTML.class);
-			}
-		}
-		finally {
-			if (sModel != null)
-				sModel.releaseFromRead();
-		}
-		
-		long end = System.currentTimeMillis();
-		if (debugProjectionPerf)
-			System.out.println("StructuredTextFoldingProviderJSP.getAdapterFactoryHTML: " + (end - start)); //$NON-NLS-1$
-		return factory;
-	}
-
-	/**
-	 * Get the ProjectionModelNodeAdapterFactoryJSP to use with this provider.
-	 * 
-	 * @return ProjectionModelNodeAdapterFactoryJSP
-	 */
-	private ProjectionModelNodeAdapterFactoryJSP getAdapterFactoryJSP(boolean createIfNeeded) {
-		long start = System.currentTimeMillis();
-		
-		ProjectionModelNodeAdapterFactoryJSP factory = null;
-		IStructuredModel sModel = null;
-		try {
-			sModel = StructuredModelManager.getModelManager().getExistingModelForRead(fDocument);
-			if (sModel != null) {
-				FactoryRegistry factoryRegistry = sModel.getFactoryRegistry();
-
-				// getting the projectionmodelnodeadapter for the first time
-				// so do some initializing
-				if (!factoryRegistry.contains(ProjectionModelNodeAdapterJSP.class) && createIfNeeded) {
-					ProjectionModelNodeAdapterFactoryJSP newFactory = new ProjectionModelNodeAdapterFactoryJSP();
-
-					// add factory to factory registry
-					factoryRegistry.addFactory(newFactory);
-
-					// add factory to propogating adapter
-					IDOMModel domModel = (IDOMModel) sModel;
-					Document document = domModel.getDocument();
-					PropagatingAdapter propagatingAdapter = (PropagatingAdapter) ((INodeNotifier) document).getAdapterFor(PropagatingAdapter.class);
-					if (propagatingAdapter != null) {
-						propagatingAdapter.addAdaptOnCreateFactory(newFactory);
-					}
-				}
-
-				// try and get the factory
-				factory = (ProjectionModelNodeAdapterFactoryJSP) factoryRegistry.getFactoryFor(ProjectionModelNodeAdapterJSP.class);
-			}
-		}
-		finally {
-			if (sModel != null)
-				sModel.releaseFromRead();
-		}
-		
-		long end = System.currentTimeMillis();
-		if (debugProjectionPerf)
-			System.out.println("StructuredTextFoldingProviderJSP.getAdapterFactoryJSP: " + (end - start)); //$NON-NLS-1$
-		return factory;
-	}
-
-	/**
-	 * Initialize this provider with the correct document. Assumes projection
-	 * is enabled. (otherwise, only install would have been called)
-	 */
-	public void initialize() {
-		if (!isInstalled())
-			return;
-
-		// set projection viewer to null on old document's adapter factory
-		projectionDisabled();
-
-		// clear out all annotations
-		if (fViewer.getProjectionAnnotationModel() != null)
-			fViewer.getProjectionAnnotationModel().removeAllAnnotations();
-		fDocument = fViewer.getDocument();
-
-		if (fDocument != null) {
-			// set projection viewer on new document's adapter factory
-			ProjectionModelNodeAdapterFactoryJSP factory = getAdapterFactoryJSP(true);
-			if (factory != null) {
-				factory.setProjectionViewer(fViewer);
-			}
-			ProjectionModelNodeAdapterFactoryHTML factory2 = getAdapterFactoryHTML(true);
-			if (factory2 != null) {
-				factory2.setProjectionViewer(fViewer);
-			}
-
-			addAllAdapters();
-		}
-	}
-
-	/**
-	 * Associate a ProjectionViewer with this IStructuredTextFoldingProvider
-	 * 
-	 * @param viewer
-	 */
-	public void install(ProjectionViewer viewer) {
-		// uninstall before trying to install new viewer
-		if (isInstalled()) {
-			uninstall();
-		}
-		fViewer = viewer;
-		fViewer.addProjectionListener(this);
-	}
-
-	private boolean isInstalled() {
-		return fViewer != null;
-	}
-
-	public void projectionDisabled() {
-		ProjectionModelNodeAdapterFactoryJSP factory = getAdapterFactoryJSP(false);
-		if (factory != null) {
-			factory.setProjectionViewer(null);
-		}
-		ProjectionModelNodeAdapterFactoryHTML factory2 = getAdapterFactoryHTML(false);
-		if (factory2 != null) {
-			factory2.setProjectionViewer(null);
-		}
-
-		fDocument = null;
-	}
-
-	public void projectionEnabled() {
-		initialize();
-	}
-
-	/**
-	 * Disconnect this IStructuredTextFoldingProvider from projection viewer
-	 */
-	public void uninstall() {
-		if (isInstalled()) {
-			projectionDisabled();
-
-			fViewer.removeProjectionListener(this);
-			fViewer = null;
-		}
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/provisional/StructuredTextViewerConfigurationJSP.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/provisional/StructuredTextViewerConfigurationJSP.java
deleted file mode 100644
index c91f277..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/provisional/StructuredTextViewerConfigurationJSP.java
+++ /dev/null
@@ -1,486 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.provisional;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jdt.ui.PreferenceConstants;
-import org.eclipse.jdt.ui.text.IJavaPartitions;
-import org.eclipse.jdt.ui.text.JavaSourceViewerConfiguration;
-import org.eclipse.jdt.ui.text.JavaTextTools;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.text.IAutoEditStrategy;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextDoubleClickStrategy;
-import org.eclipse.jface.text.ITextHover;
-import org.eclipse.jface.text.contentassist.ContentAssistant;
-import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
-import org.eclipse.jface.text.contentassist.IContentAssistant;
-import org.eclipse.jface.text.formatter.IContentFormatter;
-import org.eclipse.jface.text.formatter.MultiPassContentFormatter;
-import org.eclipse.jface.text.hyperlink.IHyperlinkDetector;
-import org.eclipse.jface.text.information.IInformationPresenter;
-import org.eclipse.jface.text.information.IInformationProvider;
-import org.eclipse.jface.text.information.InformationPresenter;
-import org.eclipse.jface.text.reconciler.IReconciler;
-import org.eclipse.jface.text.reconciler.IReconcilingStrategy;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.jst.jsp.core.internal.provisional.text.IJSPPartitionTypes;
-import org.eclipse.jst.jsp.core.internal.text.StructuredTextPartitionerForJSP;
-import org.eclipse.jst.jsp.ui.internal.autoedit.StructuredAutoEditStrategyJSP;
-import org.eclipse.jst.jsp.ui.internal.contentassist.JSPContentAssistProcessor;
-import org.eclipse.jst.jsp.ui.internal.contentassist.JSPELContentAssistProcessor;
-import org.eclipse.jst.jsp.ui.internal.contentassist.JSPJavaContentAssistProcessor;
-import org.eclipse.jst.jsp.ui.internal.contentassist.NoRegionContentAssistProcessorForJSP;
-import org.eclipse.jst.jsp.ui.internal.format.FormattingStrategyJSPJava;
-import org.eclipse.jst.jsp.ui.internal.hyperlink.JSPJavaHyperlinkDetector;
-import org.eclipse.jst.jsp.ui.internal.hyperlink.TaglibHyperlinkDetector;
-import org.eclipse.jst.jsp.ui.internal.hyperlink.URIHyperlinkDetector;
-import org.eclipse.jst.jsp.ui.internal.reconcile.StructuredTextReconcilingStrategyForJSP;
-import org.eclipse.jst.jsp.ui.internal.style.LineStyleProviderForJSP;
-import org.eclipse.jst.jsp.ui.internal.style.java.LineStyleProviderForJava;
-import org.eclipse.jst.jsp.ui.internal.style.jspel.LineStyleProviderForJSPEL;
-import org.eclipse.jst.jsp.ui.internal.taginfo.JSPBestMatchHoverProcessor;
-import org.eclipse.jst.jsp.ui.internal.taginfo.JSPJavaBestMatchHoverProcessor;
-import org.eclipse.jst.jsp.ui.internal.taginfo.JSPJavaJavadocHoverProcessor;
-import org.eclipse.jst.jsp.ui.internal.taginfo.JSPTagInfoHoverProcessor;
-import org.eclipse.ui.texteditor.AbstractDecoratedTextEditorPreferenceConstants;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.wst.css.core.internal.provisional.text.ICSSPartitionTypes;
-import org.eclipse.wst.css.ui.internal.style.LineStyleProviderForEmbeddedCSS;
-import org.eclipse.wst.html.core.internal.format.HTMLFormatProcessorImpl;
-import org.eclipse.wst.html.core.internal.provisional.text.IHTMLPartitionTypes;
-import org.eclipse.wst.html.ui.internal.provisional.StructuredTextViewerConfigurationHTML;
-import org.eclipse.wst.html.ui.internal.style.LineStyleProviderForHTML;
-import org.eclipse.wst.javascript.ui.internal.common.style.LineStyleProviderForJavaScript;
-import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-import org.eclipse.wst.sse.core.internal.provisional.StructuredModelManager;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredPartitionTypes;
-import org.eclipse.wst.sse.ui.internal.format.StructuredFormattingStrategy;
-import org.eclipse.wst.sse.ui.internal.provisional.StructuredTextViewerConfiguration;
-import org.eclipse.wst.sse.ui.internal.provisional.preferences.CommonEditorPreferenceNames;
-import org.eclipse.wst.sse.ui.internal.provisional.style.IHighlighter;
-import org.eclipse.wst.sse.ui.internal.provisional.style.LineStyleProvider;
-import org.eclipse.wst.sse.ui.internal.reconcile.StructuredRegionProcessor;
-import org.eclipse.wst.sse.ui.internal.taginfo.AnnotationHoverProcessor;
-import org.eclipse.wst.sse.ui.internal.taginfo.ProblemAnnotationHoverProcessor;
-import org.eclipse.wst.sse.ui.internal.taginfo.TextHoverManager;
-import org.eclipse.wst.sse.ui.internal.util.EditorUtility;
-import org.eclipse.wst.xml.core.internal.provisional.text.IXMLPartitions;
-import org.eclipse.wst.xml.ui.internal.provisional.StructuredTextViewerConfigurationXML;
-import org.eclipse.wst.xml.ui.internal.style.LineStyleProviderForXML;
-import org.eclipse.wst.xml.ui.internal.validation.StructuredTextReconcilingStrategyForMarkup;
-
-public class StructuredTextViewerConfigurationJSP extends StructuredTextViewerConfiguration {
-
-	InformationPresenter fInformationPresenter = null;
-
-	private JavaSourceViewerConfiguration fJavaSourceViewerConfiguration;
-	private StructuredTextViewerConfiguration fXMLSourceViewerConfiguration;
-	private StructuredTextViewerConfiguration fHTMLSourceViewerConfiguration;
-
-	public StructuredTextViewerConfigurationJSP() {
-		super();
-	}
-
-	public StructuredTextViewerConfigurationJSP(IPreferenceStore store) {
-		super(store);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.source.SourceViewerConfiguration#getAutoEditStrategies(org.eclipse.jface.text.source.ISourceViewer,
-	 *      java.lang.String)
-	 */
-	public IAutoEditStrategy[] getAutoEditStrategies(ISourceViewer sourceViewer, String contentType) {
-		IAutoEditStrategy[] strategies = null;
-		
-		if (contentType == IXMLPartitions.XML_DEFAULT) {
-			strategies = getXMLSourceViewerConfiguration().getAutoEditStrategies(sourceViewer, contentType);
-		} else if (contentType == IJSPPartitionTypes.JSP_CONTENT_JAVA) {
-			strategies = getJavaSourceViewerConfiguration().getAutoEditStrategies(sourceViewer, IJavaPartitions.JAVA_PARTITIONING);
-		} else {
-			List allStrategies = new ArrayList(0);
-	
-			IAutoEditStrategy[] superStrategies = super.getAutoEditStrategies(sourceViewer, contentType);
-			for (int i = 0; i < superStrategies.length; i++) {
-				allStrategies.add(superStrategies[i]);
-			}
-	
-			if (contentType == IHTMLPartitionTypes.HTML_DEFAULT || contentType == IHTMLPartitionTypes.HTML_DECLARATION) {
-				allStrategies.add(new StructuredAutoEditStrategyJSP());
-			}
-			
-			strategies = (IAutoEditStrategy[]) allStrategies.toArray(new IAutoEditStrategy[0]);
-		}
-
-		return strategies;
-	}
-
-	public String[] getConfiguredContentTypes(ISourceViewer sourceViewer) {
-		if (configuredContentTypes == null) {
-			/*
-			 * A little bit of cheating because assuming html's configured
-			 * content types will add default, unknown, and all xml configured
-			 * content types
-			 */
-			String[] htmlTypes = getHTMLSourceViewerConfiguration().getConfiguredContentTypes(sourceViewer);
-			String[] jspTypes = StructuredTextPartitionerForJSP.getConfiguredContentTypes();
-			configuredContentTypes = new String[htmlTypes.length + jspTypes.length];
-
-			int index = 0;
-			System.arraycopy(htmlTypes, 0, configuredContentTypes, index, htmlTypes.length);
-			System.arraycopy(jspTypes, 0, configuredContentTypes, index += htmlTypes.length, jspTypes.length);
-		}
-
-		return configuredContentTypes;
-	}
-
-	public IContentAssistant getContentAssistant(ISourceViewer sourceViewer) {
-		IContentAssistant ca = super.getContentAssistant(sourceViewer);
-
-		if (ca != null && ca instanceof ContentAssistant) {
-			ContentAssistant contentAssistant = (ContentAssistant) ca;
-
-			IContentAssistant htmlContentAssistant = getHTMLSourceViewerConfiguration().getContentAssistant(sourceViewer);
-
-			IContentAssistProcessor jspContentAssistProcessor = new JSPContentAssistProcessor();
-			IContentAssistProcessor jspJavaContentAssistProcessor = new JSPJavaContentAssistProcessor();
-			IContentAssistProcessor noRegionProcessorJsp = new NoRegionContentAssistProcessorForJSP();
-			IContentAssistProcessor jspELContentAssistProcessor = new JSPELContentAssistProcessor();
-
-			// HTML
-			setContentAssistProcessor(contentAssistant, htmlContentAssistant.getContentAssistProcessor(IHTMLPartitionTypes.HTML_DEFAULT), IHTMLPartitionTypes.HTML_DEFAULT);
-			setContentAssistProcessor(contentAssistant, htmlContentAssistant.getContentAssistProcessor(IHTMLPartitionTypes.HTML_COMMENT), IHTMLPartitionTypes.HTML_COMMENT);
-
-			// HTML JavaScript
-			setContentAssistProcessor(contentAssistant, htmlContentAssistant.getContentAssistProcessor(IHTMLPartitionTypes.SCRIPT), IHTMLPartitionTypes.SCRIPT);
-
-			// CSS
-			setContentAssistProcessor(contentAssistant, htmlContentAssistant.getContentAssistProcessor(ICSSPartitionTypes.STYLE), ICSSPartitionTypes.STYLE);
-
-			// JSP
-			setContentAssistProcessor(contentAssistant, jspContentAssistProcessor, IStructuredPartitionTypes.DEFAULT_PARTITION);
-			setContentAssistProcessor(contentAssistant, jspContentAssistProcessor, IXMLPartitions.XML_DEFAULT);
-			setContentAssistProcessor(contentAssistant, jspContentAssistProcessor, IHTMLPartitionTypes.HTML_DEFAULT);
-			setContentAssistProcessor(contentAssistant, jspContentAssistProcessor, IHTMLPartitionTypes.HTML_COMMENT);
-			setContentAssistProcessor(contentAssistant, jspContentAssistProcessor, IJSPPartitionTypes.JSP_DEFAULT);
-
-			// JSP directives
-			setContentAssistProcessor(contentAssistant, jspContentAssistProcessor, IJSPPartitionTypes.JSP_DIRECTIVE);
-			// JSP delimiters
-			setContentAssistProcessor(contentAssistant, jspContentAssistProcessor, IJSPPartitionTypes.JSP_CONTENT_DELIMITER);
-			// JSP JavaScript
-			setContentAssistProcessor(contentAssistant, jspContentAssistProcessor, IJSPPartitionTypes.JSP_CONTENT_JAVASCRIPT);
-			// JSP Java
-			setContentAssistProcessor(contentAssistant, jspJavaContentAssistProcessor, IJSPPartitionTypes.JSP_CONTENT_JAVA);
-			// JSP EL
-			setContentAssistProcessor(contentAssistant, jspELContentAssistProcessor, IJSPPartitionTypes.JSP_DEFAULT_EL);
-			// unknown
-			setContentAssistProcessor(contentAssistant, noRegionProcessorJsp, IStructuredPartitionTypes.UNKNOWN_PARTITION);
-			// CMVC 269718
-			// JSP COMMENT
-			setContentAssistProcessor(contentAssistant, jspContentAssistProcessor, IJSPPartitionTypes.JSP_COMMENT);
-		}
-
-		return ca;
-	}
-
-	public IContentAssistant getCorrectionAssistant(ISourceViewer sourceViewer) {
-		return null;
-	}
-
-	public IContentFormatter getContentFormatter(ISourceViewer sourceViewer) {
-		MultiPassContentFormatter formatter = new MultiPassContentFormatter(getConfiguredDocumentPartitioning(sourceViewer), IXMLPartitions.XML_DEFAULT);
-
-		formatter.setMasterStrategy(new StructuredFormattingStrategy(new HTMLFormatProcessorImpl()));
-		formatter.setSlaveStrategy(new FormattingStrategyJSPJava(), IJSPPartitionTypes.JSP_CONTENT_JAVA);
-
-		return formatter;
-	}
-
-	public ITextDoubleClickStrategy getDoubleClickStrategy(ISourceViewer sourceViewer, String contentType) {
-		ITextDoubleClickStrategy strategy = null;
-
-		// html or javascript
-		if (contentType == IHTMLPartitionTypes.HTML_DEFAULT || contentType == IHTMLPartitionTypes.SCRIPT)
-			strategy = getHTMLSourceViewerConfiguration().getDoubleClickStrategy(sourceViewer, contentType);
-		else if (contentType == IJSPPartitionTypes.JSP_CONTENT_JAVA || contentType == IJSPPartitionTypes.JSP_CONTENT_JAVASCRIPT)
-			// JSP Java or JSP JavaScript
-			strategy = getJavaSourceViewerConfiguration().getDoubleClickStrategy(sourceViewer, contentType);
-		else if (contentType == IJSPPartitionTypes.JSP_DEFAULT)
-			// JSP (just treat like html)
-			strategy = getHTMLSourceViewerConfiguration().getDoubleClickStrategy(sourceViewer, IHTMLPartitionTypes.HTML_DEFAULT);
-		else
-			strategy = super.getDoubleClickStrategy(sourceViewer, contentType);
-
-		return strategy;
-	}
-
-	public IHighlighter getHighlighter(ISourceViewer sourceViewer) {
-		IHighlighter highlighter = super.getHighlighter(sourceViewer);
-
-		if (highlighter != null) {
-			// HTML
-			LineStyleProvider htmlLineStyleProvider = new LineStyleProviderForHTML();
-			highlighter.addProvider(IHTMLPartitionTypes.HTML_DEFAULT, htmlLineStyleProvider);
-			highlighter.addProvider(IHTMLPartitionTypes.HTML_COMMENT, htmlLineStyleProvider);
-			highlighter.addProvider(IHTMLPartitionTypes.HTML_DECLARATION, htmlLineStyleProvider);
-
-			// HTML JavaScript
-			LineStyleProvider jsLineStyleProvider = new LineStyleProviderForJavaScript();
-			highlighter.addProvider(IHTMLPartitionTypes.SCRIPT, jsLineStyleProvider);
-
-			// CSS
-			LineStyleProvider cssLineStyleProvider = new LineStyleProviderForEmbeddedCSS();
-			highlighter.addProvider(ICSSPartitionTypes.STYLE, cssLineStyleProvider);
-
-			// JSP
-			LineStyleProvider jspLineStyleProvider = new LineStyleProviderForJSP();
-			highlighter.addProvider(IJSPPartitionTypes.JSP_DEFAULT, jspLineStyleProvider);
-			highlighter.addProvider(IJSPPartitionTypes.JSP_COMMENT, jspLineStyleProvider);
-			highlighter.addProvider(IJSPPartitionTypes.JSP_DIRECTIVE, jspLineStyleProvider);
-			highlighter.addProvider(IJSPPartitionTypes.JSP_CONTENT_DELIMITER, jspLineStyleProvider);
-
-			// XML
-			LineStyleProviderForXML xmlLineStyleProvider = new LineStyleProviderForXML();
-			highlighter.addProvider(IXMLPartitions.XML_DEFAULT, xmlLineStyleProvider);
-			highlighter.addProvider(IXMLPartitions.XML_COMMENT, xmlLineStyleProvider);
-			highlighter.addProvider(IXMLPartitions.XML_CDATA, xmlLineStyleProvider);
-			highlighter.addProvider(IXMLPartitions.XML_DECLARATION, xmlLineStyleProvider);
-			highlighter.addProvider(IXMLPartitions.XML_PI, xmlLineStyleProvider);
-
-
-			// JSP Java or JSP JavaScript
-			highlighter.addProvider(IJSPPartitionTypes.JSP_CONTENT_JAVA, new LineStyleProviderForJava());
-			highlighter.addProvider(IJSPPartitionTypes.JSP_CONTENT_JAVASCRIPT, new LineStyleProviderForJavaScript());
-
-			// JSPEL
-			highlighter.addProvider(IJSPPartitionTypes.JSP_DEFAULT_EL, new LineStyleProviderForJSPEL());
-		}
-
-		return highlighter;
-	}
-
-	public IInformationPresenter getInformationPresenter(ISourceViewer sourceViewer) {
-		if (fInformationPresenter == null) {
-			fInformationPresenter = new InformationPresenter(getInformationPresenterControlCreator(sourceViewer));
-
-			// HTML
-			IInformationPresenter htmlPresenter = getHTMLSourceViewerConfiguration().getInformationPresenter(sourceViewer);
-			IInformationProvider htmlInformationProvider = htmlPresenter.getInformationProvider(IHTMLPartitionTypes.HTML_DEFAULT);
-			fInformationPresenter.setInformationProvider(htmlInformationProvider, IHTMLPartitionTypes.HTML_DEFAULT);
-
-			// HTML JavaScript
-			IInformationProvider javascriptInformationProvider = htmlPresenter.getInformationProvider(IHTMLPartitionTypes.SCRIPT);
-			fInformationPresenter.setInformationProvider(javascriptInformationProvider, IHTMLPartitionTypes.SCRIPT);
-
-			// XML
-			IInformationPresenter xmlPresenter = getXMLSourceViewerConfiguration().getInformationPresenter(sourceViewer);
-			IInformationProvider xmlInformationProvider = xmlPresenter.getInformationProvider(IXMLPartitions.XML_DEFAULT);
-			fInformationPresenter.setInformationProvider(xmlInformationProvider, IXMLPartitions.XML_DEFAULT);
-
-			fInformationPresenter.setSizeConstraints(60, 10, true, true);
-			fInformationPresenter.setDocumentPartitioning(getConfiguredDocumentPartitioning(sourceViewer));
-		}
-		return fInformationPresenter;
-	}
-
-	public ITextHover getTextHover(ISourceViewer sourceViewer, String contentType, int stateMask) {
-		ITextHover hover = null;
-
-		// html + javascript
-		if (contentType == IHTMLPartitionTypes.HTML_DEFAULT || contentType == IHTMLPartitionTypes.SCRIPT) {
-			hover = getHTMLSourceViewerConfiguration().getTextHover(sourceViewer, contentType, stateMask);
-		} else if ((contentType == IJSPPartitionTypes.JSP_DEFAULT) || (contentType == IJSPPartitionTypes.JSP_DIRECTIVE)) {
-			// JSP
-			TextHoverManager.TextHoverDescriptor[] hoverDescs = getTextHovers();
-			int i = 0;
-			while (i < hoverDescs.length) {
-				if (hoverDescs[i].isEnabled() && EditorUtility.computeStateMask(hoverDescs[i].getModifierString()) == stateMask) {
-					String hoverType = hoverDescs[i].getId();
-					if (TextHoverManager.COMBINATION_HOVER.equalsIgnoreCase(hoverType))
-						hover = new JSPBestMatchHoverProcessor();
-					else if (TextHoverManager.PROBLEM_HOVER.equalsIgnoreCase(hoverType))
-						hover = new ProblemAnnotationHoverProcessor();
-					else if (TextHoverManager.ANNOTATION_HOVER.equalsIgnoreCase(hoverType))
-						hover = new AnnotationHoverProcessor();
-					else if (TextHoverManager.DOCUMENTATION_HOVER.equalsIgnoreCase(hoverType))
-						hover = new JSPTagInfoHoverProcessor();
-				}
-				i++;
-			}
-		} else if (contentType == IJSPPartitionTypes.JSP_CONTENT_JAVA) {
-			// JSP Java
-			TextHoverManager.TextHoverDescriptor[] hoverDescs = getTextHovers();
-			int i = 0;
-			while (i < hoverDescs.length) {
-				if (hoverDescs[i].isEnabled() && EditorUtility.computeStateMask(hoverDescs[i].getModifierString()) == stateMask) {
-					String hoverType = hoverDescs[i].getId();
-					if (TextHoverManager.COMBINATION_HOVER.equalsIgnoreCase(hoverType)) {
-						hover = new JSPJavaBestMatchHoverProcessor();
-					} else if (TextHoverManager.PROBLEM_HOVER.equalsIgnoreCase(hoverType))
-						hover = new ProblemAnnotationHoverProcessor();
-					else if (TextHoverManager.ANNOTATION_HOVER.equalsIgnoreCase(hoverType))
-						hover = new AnnotationHoverProcessor();
-					else if (TextHoverManager.DOCUMENTATION_HOVER.equalsIgnoreCase(hoverType)) {
-						hover = new JSPJavaJavadocHoverProcessor();
-					}
-				}
-				i++;
-			}
-		} else if (contentType == IXMLPartitions.XML_DEFAULT) {
-			hover = getXMLSourceViewerConfiguration().getTextHover(sourceViewer, contentType, stateMask);
-		} else {
-			hover = super.getTextHover(sourceViewer, contentType, stateMask);
-		}
-		return hover;
-	}
-
-	public void unConfigure(ISourceViewer viewer) {
-		super.unConfigure(viewer);
-
-		// InformationPresenters
-		if (fInformationPresenter != null)
-			fInformationPresenter.uninstall();
-
-		if (fXMLSourceViewerConfiguration != null)
-			fXMLSourceViewerConfiguration.unConfigure(viewer);
-		if (fHTMLSourceViewerConfiguration != null)
-			fHTMLSourceViewerConfiguration.unConfigure(viewer);
-	}
-
-	public IReconciler getReconciler(ISourceViewer sourceViewer) {
-
-		if (fPreferenceStore == null)
-			return null;
-
-		if (fReconciler != null) {
-			// a reconciler should always be installed or disposed of
-			if (!fReconciler.isInstalled()) {
-				fReconciler = null;
-			}
-		}
-
-		// the first time running through, there's no model (so no pref store)
-		// but the reconciler still needs to be created so that its document
-		// gets set
-		if (fReconciler == null) {
-			// create one
-			fReconciler = new StructuredRegionProcessor();
-			fReconciler.setDocumentPartitioning(getConfiguredDocumentPartitioning(sourceViewer));
-		}
-
-		boolean reconcilingEnabled = fPreferenceStore.getBoolean(CommonEditorPreferenceNames.EVALUATE_TEMPORARY_PROBLEMS);
-
-		if (!reconcilingEnabled)
-			return fReconciler;
-
-		if (fReconciler != null) {
-			IDocument doc = ((ITextEditor) editorPart).getDocumentProvider().getDocument(editorPart.getEditorInput());
-			IStructuredModel sModel = StructuredModelManager.getModelManager().getExistingModelForRead(doc);
-			try {
-				if (sModel != null) {
-
-					IReconcilingStrategy markupStrategy = new StructuredTextReconcilingStrategyForMarkup((ITextEditor) editorPart);
-					IReconcilingStrategy jspStrategy = new StructuredTextReconcilingStrategyForJSP((ITextEditor) editorPart);
-
-					fReconciler.setReconcilingStrategy(markupStrategy, IStructuredPartitionTypes.DEFAULT_PARTITION);
-					fReconciler.setReconcilingStrategy(markupStrategy, IXMLPartitions.XML_DEFAULT);
-
-					fReconciler.setReconcilingStrategy(jspStrategy, IJSPPartitionTypes.JSP_DEFAULT);
-					fReconciler.setReconcilingStrategy(jspStrategy, IJSPPartitionTypes.JSP_CONTENT_JAVA);
-					fReconciler.setReconcilingStrategy(jspStrategy, IJSPPartitionTypes.JSP_CONTENT_DELIMITER);
-					fReconciler.setReconcilingStrategy(jspStrategy, IJSPPartitionTypes.JSP_DIRECTIVE);
-					fReconciler.setReconcilingStrategy(jspStrategy, IJSPPartitionTypes.JSP_DEFAULT_EL);
-
-					fReconciler.setDefaultStrategy(markupStrategy);
-
-					String contentTypeId = sModel.getContentTypeIdentifier();
-					if (contentTypeId != null)
-						fReconciler.setValidatorStrategy(createValidatorStrategy(contentTypeId));
-
-				}
-			} finally {
-				if (sModel != null)
-					sModel.releaseFromRead();
-			}
-		}
-		return fReconciler;
-	}
-
-	private JavaSourceViewerConfiguration getJavaSourceViewerConfiguration() {
-		if (fJavaSourceViewerConfiguration == null) {
-			IPreferenceStore store = PreferenceConstants.getPreferenceStore();
-			JavaTextTools javaTextTools = new JavaTextTools(store);
-			fJavaSourceViewerConfiguration = new JavaSourceViewerConfiguration(javaTextTools.getColorManager(), store, getTextEditor(), IJavaPartitions.JAVA_PARTITIONING);
-			// fJavaSourceViewerConfiguration = new
-			// JavaSourceViewerConfiguration(javaTextTools, getTextEditor());
-		}
-		return fJavaSourceViewerConfiguration;
-	}
-
-	private StructuredTextViewerConfiguration getXMLSourceViewerConfiguration() {
-		if (fXMLSourceViewerConfiguration == null) {
-			fXMLSourceViewerConfiguration = new StructuredTextViewerConfigurationXML(fPreferenceStore);
-			fXMLSourceViewerConfiguration.setEditorPart(getEditorPart());
-			fXMLSourceViewerConfiguration.configureOn(fResource);
-		}
-		return fXMLSourceViewerConfiguration;
-	}
-
-	private StructuredTextViewerConfiguration getHTMLSourceViewerConfiguration() {
-		if (fHTMLSourceViewerConfiguration == null) {
-			fHTMLSourceViewerConfiguration = new StructuredTextViewerConfigurationHTML(fPreferenceStore);
-			fHTMLSourceViewerConfiguration.setEditorPart(getEditorPart());
-			fHTMLSourceViewerConfiguration.configureOn(fResource);
-		}
-		return fHTMLSourceViewerConfiguration;
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.source.SourceViewerConfiguration#getHyperlinkDetectors(org.eclipse.jface.text.source.ISourceViewer)
-	 * @see Eclipse 3.1
-	 */
-	public IHyperlinkDetector[] getHyperlinkDetectors(ISourceViewer sourceViewer) {
-		if (fPreferenceStore == null)
-			return null;
-		if (sourceViewer == null || !fPreferenceStore.getBoolean(AbstractDecoratedTextEditorPreferenceConstants.EDITOR_HYPERLINKS_ENABLED))
-			return null;
-
-		List allDetectors = new ArrayList(0);
-		allDetectors.add(new JSPJavaHyperlinkDetector());
-		allDetectors.add(new TaglibHyperlinkDetector());
-		allDetectors.add(new URIHyperlinkDetector());
-
-		IHyperlinkDetector[] superDetectors = super.getHyperlinkDetectors(sourceViewer);
-		for (int m = 0; m < superDetectors.length; m++) {
-			IHyperlinkDetector detector = superDetectors[m];
-			if (!allDetectors.contains(detector)) {
-				allDetectors.add(detector);
-			}
-		}
-		return (IHyperlinkDetector[]) allDetectors.toArray(new IHyperlinkDetector[0]);
-	}
-
-	public String[] getIndentPrefixes(ISourceViewer sourceViewer, String contentType) {
-		String[] indentations = null;
-
-		if (contentType == IXMLPartitions.XML_DEFAULT)
-			indentations = getXMLSourceViewerConfiguration().getIndentPrefixes(sourceViewer, contentType);
-		else
-			indentations = getHTMLSourceViewerConfiguration().getIndentPrefixes(sourceViewer, contentType);
-
-		return indentations;
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/reconcile/JSPTranslationWrapper.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/reconcile/JSPTranslationWrapper.java
deleted file mode 100644
index a119c2b..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/reconcile/JSPTranslationWrapper.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.reconcile;
-
-import org.eclipse.jface.text.reconciler.IReconcilableModel;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslationExtension;
-
-/**
- * Wrapper class to make a JSPTranslation into an IReconcilableModel.
- * Translation must be accessed via getTranslation()
- * 
- * @pavery
- */
-public class JSPTranslationWrapper implements IReconcilableModel {
-	private JSPTranslationExtension fTranslation = null;
-
-	public JSPTranslationWrapper(JSPTranslationExtension trans) {
-		fTranslation = trans;
-	}
-
-	public JSPTranslationExtension getTranslation() {
-		return fTranslation;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/reconcile/ReconcileStepForJava.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/reconcile/ReconcileStepForJava.java
deleted file mode 100644
index e6c0f39..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/reconcile/ReconcileStepForJava.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.reconcile;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.compiler.IProblem;
-import org.eclipse.jface.text.Assert;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.text.reconciler.DirtyRegion;
-import org.eclipse.jface.text.reconciler.IReconcilableModel;
-import org.eclipse.jface.text.reconciler.IReconcileResult;
-import org.eclipse.jface.text.reconciler.IReconcileStep;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslation;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslationExtension;
-import org.eclipse.jst.jsp.core.internal.provisional.text.IJSPPartitionTypes;
-import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-import org.eclipse.wst.sse.core.internal.provisional.StructuredModelManager;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument;
-import org.eclipse.wst.sse.ui.internal.reconcile.ReconcileAnnotationKey;
-import org.eclipse.wst.sse.ui.internal.reconcile.StructuredReconcileStep;
-import org.eclipse.wst.sse.ui.internal.reconcile.TemporaryAnnotation;
-
-/**
- * This reconcile step has a Java source document as input model and maintains
- * a Java working copy as its model.
- * 
- * @plannedfor 1.0
- */
-public class ReconcileStepForJava extends StructuredReconcileStep {
-
-	/**
-	 * Adapts an <code>ICompilationUnit</code> to the
-	 * <code>ITextModel</code> interface.
-	 */
-	private class CompilationUnitAdapter implements IReconcilableModel {
-
-		private ICompilationUnit fCompilationUnit;
-
-		CompilationUnitAdapter(ICompilationUnit cu) {
-			fCompilationUnit = cu;
-		}
-
-		private ICompilationUnit getCompilationUnit() {
-			return fCompilationUnit;
-		}
-	}
-
-	private JSPTranslation fJspTranslation;
-	private CompilationUnitAdapter fModel;
-	private IStructuredDocument fStructuredDocument = null;
-
-	/**
-	 * Creates the last reconcile step of the pipe.
-	 */
-	public ReconcileStepForJava(IFile jspFile) {
-		// should handle more gracefully
-		Assert.isNotNull(jspFile);
-		initStructuredDocument(jspFile);
-	}
-
-	/**
-	 * Creates an intermediate reconcile step which adds the given step to the
-	 * pipe.
-	 */
-	public ReconcileStepForJava(IReconcileStep step, IFile jspFile) {
-		super(step);
-		Assert.isNotNull(jspFile);
-		initStructuredDocument(jspFile);
-	}
-
-	/**
-	 * Structured Document used to create annotation removal keys
-	 * 
-	 * @param jspFile
-	 */
-	private void initStructuredDocument(IFile jspFile) {
-		IStructuredModel sModel = null;
-		try {
-			sModel = StructuredModelManager.getModelManager().getExistingModelForRead(jspFile);
-			if (sModel != null)
-				fStructuredDocument = sModel.getStructuredDocument();
-		}
-		finally {
-			if (sModel != null)
-				sModel.releaseFromRead();
-		}
-	}
-
-	/*
-	 * @see AbstractReconcileStep#reconcileModel(DirtyRegion, IRegion)
-	 */
-	protected IReconcileResult[] reconcileModel(DirtyRegion dirtyRegion, IRegion subRegion) {
-		Assert.isTrue(getInputModel() instanceof JSPTranslationWrapper, "wrong model"); //$NON-NLS-1$
-		
-		fJspTranslation = ((JSPTranslationWrapper) getInputModel()).getTranslation();
-		
-        if(DEBUG)
-            System.out.println("[trace reconciler] > reconciling model in JAVA step w/ dirty region: " + dirtyRegion.getText()); //$NON-NLS-1$
-
-		try {
-			fJspTranslation.setProblemCollectingActive(true);
-			fJspTranslation.reconcileCompilationUnit();
-		}
-		finally {
-			if (fJspTranslation != null)
-				fJspTranslation.setProblemCollectingActive(false);
-		}
-
-		List problems = null;
-		// I was frequently seeing null here, especially as editors closed, 
-		// so just gaurding against that. (Not sure why it was null). 
-		if (fJspTranslation != null) {
-			problems = fJspTranslation.getProblems();
-		}
-		IReconcileResult[] results = adaptProblemsToAnnotations(problems);
-		return results;
-	}
-
-	/**
-	 * @return
-	 */
-	private IReconcileResult[] adaptProblemsToAnnotations(List problems) {
-		if (problems == null)
-			return new IReconcileResult[0];
-
-		TemporaryAnnotation[] annotations = new TemporaryAnnotation[problems.size()];
-		IProblem p = null;
-		for (int i = 0; i < problems.size(); i++) {
-			p = (IProblem) problems.get(i);
-			annotations[i] = createTemporaryAnnotationFromProblem(p);
-		}
-		return annotations;
-	}
-
-	/**
-	 * Converts an IProblem to a TemporaryAnnotation.
-	 * 
-	 * @param problem
-	 * @return
-	 */
-	private TemporaryAnnotation createTemporaryAnnotationFromProblem(IProblem problem) {
-		String type = TemporaryAnnotation.ANNOT_ERROR;
-		if (problem.isWarning())
-			type = TemporaryAnnotation.ANNOT_WARNING;
-		Position pos = new Position(problem.getSourceStart(), problem.getSourceEnd() - problem.getSourceStart() + 1);
-		JSPTranslationExtension translation = ((JSPTranslationWrapper) getInputModel()).getTranslation();
-		int jspOffset = translation.getJspOffset(pos.offset);
-
-		ReconcileAnnotationKey key = null;
-		if (jspOffset != -1 && fStructuredDocument != null) {
-			key = createKey(fStructuredDocument.getRegionAtCharacterOffset(jspOffset), ReconcileAnnotationKey.TOTAL);
-		}
-		else {
-			key = createKey(IJSPPartitionTypes.JSP_DEFAULT, ReconcileAnnotationKey.TOTAL);
-		}
-		TemporaryAnnotation annotation = new TemporaryAnnotation(pos, type, problem.getMessage(), key, problem.getID());
-		annotation.setAdditionalFixInfo(problem);
-
-		return annotation;
-	}
-
-	/*
-	 * @see AbstractReconcileStep#getModel()
-	 */
-	public IReconcilableModel getModel() {
-		if (fModel == null) {
-			fModel = new CompilationUnitAdapter(fJspTranslation.getCompilationUnit());
-		}
-		return fModel;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.reconciler.IReconcileStep#setInputModel(org.eclipse.jface.text.reconciler.IReconcilableModel)
-	 */
-	public void setInputModel(IReconcilableModel inputModel) {
-		super.setInputModel(inputModel);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/reconcile/ReconcileStepForJspTranslation.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/reconcile/ReconcileStepForJspTranslation.java
deleted file mode 100644
index fc6381e..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/reconcile/ReconcileStepForJspTranslation.java
+++ /dev/null
@@ -1,343 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.reconcile;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.text.reconciler.DirtyRegion;
-import org.eclipse.jface.text.reconciler.IReconcilableModel;
-import org.eclipse.jface.text.reconciler.IReconcileResult;
-import org.eclipse.jface.text.reconciler.IReconcileStep;
-import org.eclipse.jst.jsp.core.internal.java.ELProblem;
-import org.eclipse.jst.jsp.core.internal.java.IJSPTranslation;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslationAdapter;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslationExtension;
-import org.eclipse.jst.jsp.core.internal.regions.DOMJSPRegionContexts;
-import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-import org.eclipse.wst.sse.core.internal.provisional.StructuredModelManager;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegionList;
-import org.eclipse.wst.sse.core.internal.util.StringUtils;
-import org.eclipse.wst.sse.ui.internal.reconcile.DocumentAdapter;
-import org.eclipse.wst.sse.ui.internal.reconcile.ReconcileAnnotationKey;
-import org.eclipse.wst.sse.ui.internal.reconcile.StructuredReconcileStep;
-import org.eclipse.wst.sse.ui.internal.reconcile.TemporaryAnnotation;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.eclipse.wst.xml.core.internal.regions.DOMRegionContext;
-
-/**
- * Creates a JSPTranslation for use w/ the JavaReconcileStep. Adapts Java
- * error positions to the JSP positions.
- * 
- * @author pavery
- */
-public class ReconcileStepForJspTranslation extends StructuredReconcileStep {
-
-	/**
-	 * This contains is the translated java document. We create this here,
-	 * then set it as the model on the next step, ReconcileStepForJava
-	 */
-	private JSPTranslationWrapper fModel = null;
-	private IReconcileResult[] EMPTY_RECONCILE_RESULT_SET = new IReconcileResult[0];
-	private JSPTranslationAdapter fTranslationAdapter = null;
-	private JSPTranslationExtension fJSPTranslation = null;
-	private static final boolean DEBUG = false;
-	
-	public ReconcileStepForJspTranslation(IReconcileStep step) {
-		super(step);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.reconciler.AbstractReconcileStep#reconcileModel(org.eclipse.jface.text.reconciler.DirtyRegion,
-	 *      org.eclipse.jface.text.IRegion)
-	 */
-	protected IReconcileResult[] reconcileModel(DirtyRegion dirtyRegion, IRegion subRegion) {
-
-		if(DEBUG)
-            System.out.println("[trace reconciler] > translating JSP in JSP TRANSLATE step"); //$NON-NLS-1$	
-
-		if (isCanceled() || dirtyRegion == null)
-			return EMPTY_RECONCILE_RESULT_SET;
-
-		// create java model for java reconcile
-		JSPTranslationAdapter adapter = getJSPTranslationAdapter();
-		fJSPTranslation = adapter.getJSPTranslation();
-		fModel = new JSPTranslationWrapper(fJSPTranslation);
-
-		if(DEBUG)
-            System.out.println("[trace reconciler] > JSP TRANSLATE step done"); //$NON-NLS-1$	
-		
-		//return EMPTY_RECONCILE_RESULT_SET;
-		return adaptELProblems();
-	}
-
-	private IReconcileResult[] adaptELProblems() {
-		List problems = fJSPTranslation.getELProblems();
-		TemporaryAnnotation[] annotations = new TemporaryAnnotation[problems.size()];
-			for (int i = 0; i < problems.size(); i++) {
-				annotations[i] = createTemporaryAnnotationFromProblem((ELProblem) problems.get(i));
-			}
-			return annotations;
-	}
-
-	private TemporaryAnnotation createTemporaryAnnotationFromProblem(ELProblem problem) {
-		IStructuredDocument sDoc = (IStructuredDocument) ((DocumentAdapter) getInputModel()).getDocument();
-		String type = TemporaryAnnotation.ANNOT_ERROR;
-		ReconcileAnnotationKey key = null;
-		key = createKey(sDoc.getRegionAtCharacterOffset(problem.getPosition().getOffset()), ReconcileAnnotationKey.TOTAL);
-		TemporaryAnnotation annotation = new TemporaryAnnotation(problem.getPosition(), type, problem.getMessage(), key);
-		annotation.setAdditionalFixInfo(problem);
-		return annotation;
-	}
-
-	/**
-	 * @return
-	 */
-	private JSPTranslationAdapter getJSPTranslationAdapter() {
-		if (fTranslationAdapter == null) {
-			IReconcilableModel reconcilableModel = getInputModel();
-			IDocument doc = null;
-
-			if (reconcilableModel instanceof DocumentAdapter)
-				doc = ((DocumentAdapter) reconcilableModel).getDocument();
-
-			if (doc != null) {
-				IStructuredModel model = null;
-				try {
-					model = StructuredModelManager.getModelManager().getExistingModelForRead(doc);
-					if (model != null) {
-						IDOMDocument xmlDoc = ((IDOMModel) model).getDocument();
-						fTranslationAdapter = (JSPTranslationAdapter) xmlDoc.getAdapterFor(IJSPTranslation.class);
-					}
-				}
-				finally {
-					if (model != null)
-						model.releaseFromRead();
-				}
-			}
-		}
-		return fTranslationAdapter;
-	}
-
-	public IReconcilableModel getModel() {
-		return fModel;
-	}
-
-	/*
-	 * @see org.eclipse.text.reconcilerpipe.AbstractReconcilePipeParticipant#convertToInputModel(org.eclipse.text.reconcilerpipe.IReconcileResult[])
-	 */
-	protected IReconcileResult[] convertToInputModel(IReconcileResult[] inputResults) {
-
-		if (inputResults == null)
-			return null;
-
-		HashMap java2jspRanges = fJSPTranslation.getJava2JspMap();
-		for (int i = 0; i < inputResults.length; i++) {
-			if (isCanceled())
-				return EMPTY_RECONCILE_RESULT_SET;
-			if (!(inputResults[i] instanceof TemporaryAnnotation))
-				continue;
-			TemporaryAnnotation result = (TemporaryAnnotation) inputResults[i];
-			adaptJava2JspPosition(result, java2jspRanges);
-		}
-
-		return inputResults;
-	}
-
-	/**
-	 * @param pos
-	 * @param java2jspRanges
-	 */
-	private void adaptJava2JspPosition(TemporaryAnnotation annotation, HashMap java2jspRanges) {
-		Position pos = annotation.getPosition();
-		int javaOffset = pos.offset;
-		int offsetInRange = 0;
-		Position jspPos, javaPos = null;
-		boolean found = false;
-
-		// iterate all mapped java ranges
-		Iterator it = java2jspRanges.keySet().iterator();
-		while (it.hasNext()) {
-			javaPos = (Position) it.next();
-			if (!javaPos.includes(javaOffset))
-				continue;
-
-			offsetInRange = javaOffset - javaPos.offset;
-			jspPos = (Position) java2jspRanges.get(javaPos);
-			if (jspPos != null) {
-				pos.offset = jspPos.offset + offsetInRange;
-				found = true;
-				additionalPositionAdjustment(annotation, jspPos);
-			}
-			break;
-		}
-		// hide unmapped errors
-		if (!found) {
-			pos.offset = -1;
-			pos.length = 0;
-		}
-	}
-
-	/**
-	 * Adjusts java position to JSP position for ranges that don't map
-	 * "exactly". eg. <%@include file=""%>, <jsp:useBean/>, <%@import
-	 * src=""%>...
-	 * 
-	 * @param pos
-	 * @param jspPos
-	 */
-	private void additionalPositionAdjustment(TemporaryAnnotation annotation, Position jspPos) {
-		Position pos = annotation.getPosition();
-		IStructuredDocument sDoc = null;
-		IStructuredDocumentRegion sdRegion = null;
-		// analyze the sdRegion to see if it's import, expression, include
-		ITextRegionList regions = null;
-		ITextRegion r = null;
-		String tagName = ""; //$NON-NLS-1$
-
-		sDoc = (IStructuredDocument) ((DocumentAdapter) getInputModel()).getDocument();
-		sdRegion = sDoc.getRegionAtCharacterOffset(jspPos.offset);
-		// analyze the sdRegion to see if it's import, expression, include,
-		// useBean...
-		regions = sdRegion.getRegions();
-		for (int i = 0; i < regions.size(); i++) {
-			r = regions.get(i);
-			if (r.getType() == DOMJSPRegionContexts.JSP_DIRECTIVE_NAME || r.getType() == DOMRegionContext.XML_TAG_NAME) {
-				tagName = sdRegion.getText(r).trim();
-				if (tagName.equals("include")) { //$NON-NLS-1$
-					adjustForInclude(annotation, pos, sdRegion, regions, i);
-				}
-				else if (tagName.equals("page")) { //$NON-NLS-1$
-					adjustForPage(annotation, pos, sdRegion, regions, i);
-				}
-				else if (tagName.equals("jsp:useBean")) { //$NON-NLS-1$
-					//adjustForUseBean(pos, sdRegion, regions, i);
-					// do nothing for usebean for now...
-					break;
-				}
-                // this can actually cause the WRONG node to be underlined
-                // esp in the case of embedded attr regions
-//				else {
-//					// catch all for all other cases for now, at least we'll
-//					// get
-//					// the squiggle in the general area of the problem instead
-//					// of some random place
-//					pos.offset = sdRegion.getStartOffset(r);
-//					pos.length = 1;
-//					break;
-//				}
-			}
-		}
-	}
-
-	private void adjustForInclude(TemporaryAnnotation annotation, Position pos, IStructuredDocumentRegion sdRegion, ITextRegionList regions, int startingRegionNumber) {
-		ITextRegion r;
-		String tagName;
-		String noQuotes;
-		for (int j = startingRegionNumber; j < regions.size(); j++) {
-			r = regions.get(j);
-			if (r.getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_NAME && !sdRegion.getText(r).trim().equals("file")) //$NON-NLS-1$
-				// there's only one attribute allowed for <@include
-				break;
-			else if (r.getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_VALUE) {
-				tagName = sdRegion.getText(r).trim();
-				noQuotes = StringUtils.strip(tagName);
-				pos.offset = sdRegion.getStartOffset(r) + ((tagName.length() - noQuotes.length()) == 2 ? 1 : 0);
-				pos.length = noQuotes.length();
-				annotation.setText(annotation.getText() + " (in file: \"" + noQuotes + "\")"); //$NON-NLS-1$ //$NON-NLS-2$
-				break;
-			}
-		}
-	}
-
-	private void adjustForPage(TemporaryAnnotation annotation, Position pos, IStructuredDocumentRegion sdRegion, ITextRegionList regions, int startingRegionNumber) {
-		ITextRegion r;
-		String value;
-		int size = regions.size();
-
-		for (int j = startingRegionNumber; j < size; j++) {
-			r = regions.get(j);
-			if (r.getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_NAME && sdRegion.getText(r).trim().equals("import")) { //$NON-NLS-1$
-				if (size > j + 2) {
-					r = regions.get(j + 2);
-					if (r.getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_VALUE) {
-						value = sdRegion.getText(r);
-						pos.offset = sdRegion.getStartOffset(r);
-						pos.length = value.trim().length();
-						annotation.setText(annotation.getText() + " (in file: \"" + StringUtils.stripQuotes(value) + "\")"); //$NON-NLS-1$ //$NON-NLS-2$
-						break;
-					}
-				}
-			}
-		}
-	}
-
-	public void release() {
-		if (fTranslationAdapter != null) {
-			if(DEBUG) {
-				System.out.println("ReconcileStepForJSPTranslation ["+this+"] releasing JSPTranslationAdapter " + fTranslationAdapter); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-			fTranslationAdapter.release();
-		}
-		super.release();
-	}
-    
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.reconciler.IReconcileStep#setInputModel(org.eclipse.jface.text.reconciler.IReconcilableModel)
-	 */
-	public void setInputModel(IReconcilableModel inputModel) {
-		// force to rebuild translation
-		fTranslationAdapter = null;
-		if (DEBUG) {
-			System.out.println("======================================"); //$NON-NLS-1$
-			System.out.println("setting input model" + inputModel); //$NON-NLS-1$
-			System.out.println("======================================"); //$NON-NLS-1$
-		}
-		super.setInputModel(inputModel);
-		
-		reinitTranslationAdapter(inputModel);
-	}
-
-	/**
-	 * @param inputModel
-	 */
-	private void reinitTranslationAdapter(IReconcilableModel inputModel) {
-
-		IDocument doc = null;
-		if (inputModel instanceof DocumentAdapter)
-			doc = ((DocumentAdapter) inputModel).getDocument();
-
-		if (doc != null) {
-			IStructuredModel model = null;
-			try {
-				model = StructuredModelManager.getModelManager().getExistingModelForRead(doc);
-				if(getJSPTranslationAdapter() != null)
-					getJSPTranslationAdapter().setXMLModel((IDOMModel) model);
-			}
-			finally {
-				if (model != null)
-					model.releaseFromRead();
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/reconcile/StructuredTextReconcilingStrategyForJSP.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/reconcile/StructuredTextReconcilingStrategyForJSP.java
deleted file mode 100644
index 99e4e40..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/reconcile/StructuredTextReconcilingStrategyForJSP.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.reconcile;
-
-import org.eclipse.jface.text.reconciler.IReconcileStep;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.wst.sse.ui.internal.reconcile.AbstractStructuredTextReconcilingStrategy;
-
-/**
- * 
- * @author pavery
- */
-public class StructuredTextReconcilingStrategyForJSP extends AbstractStructuredTextReconcilingStrategy {
-
-	public StructuredTextReconcilingStrategyForJSP(ITextEditor editor) {
-		super(editor);
-	}
-
-	public void createReconcileSteps() {
-
-		// the order is:
-		// 1. translation step
-		// 2. java step
-		if (getFile() != null) {
-			IReconcileStep javaStep = new ReconcileStepForJava(getFile());
-			fFirstStep = new ReconcileStepForJspTranslation(javaStep);
-		}
-	}
-	
-	/**
-	 * @return <code>true</code> if the entire document is validated
-	 * for each edit (this strategy can't handle partial document validation).
-	 * This will greatly help performance.
-	 */
-	public boolean isTotalScope() {
-		return true;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/registry/AdapterFactoryProviderForJSP.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/registry/AdapterFactoryProviderForJSP.java
deleted file mode 100644
index 6416985..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/registry/AdapterFactoryProviderForJSP.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.registry;
-
-import java.util.Iterator;
-
-import org.eclipse.jst.jsp.core.internal.document.PageDirectiveAdapter;
-import org.eclipse.jst.jsp.core.internal.java.IJSPTranslation;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslationAdapterFactory;
-import org.eclipse.jst.jsp.core.internal.modelhandler.ModelHandlerForJSP;
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.wst.html.ui.internal.contentoutline.JFaceNodeAdapterFactoryForHTML;
-import org.eclipse.wst.sse.core.internal.PropagatingAdapter;
-import org.eclipse.wst.sse.core.internal.ltk.modelhandler.IDocumentTypeHandler;
-import org.eclipse.wst.sse.core.internal.model.FactoryRegistry;
-import org.eclipse.wst.sse.core.internal.provisional.INodeAdapterFactory;
-import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-import org.eclipse.wst.sse.ui.internal.contentoutline.IJFaceNodeAdapter;
-import org.eclipse.wst.sse.ui.internal.provisional.registry.AdapterFactoryProvider;
-import org.eclipse.wst.sse.ui.internal.provisional.registry.AdapterFactoryRegistry;
-import org.eclipse.wst.sse.ui.internal.provisional.registry.embedded.EmbeddedAdapterFactoryProvider;
-import org.eclipse.wst.sse.ui.internal.util.Assert;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.eclipse.wst.xml.ui.internal.properties.XMLPropertySourceAdapterFactory;
-
-public class AdapterFactoryProviderForJSP implements AdapterFactoryProvider {
-
-	/*
-	 * @see AdapterFactoryProvider#addAdapterFactories(IStructuredModel)
-	 */
-	public void addAdapterFactories(IStructuredModel structuredModel) {
-		// these are the main factories, on model's factory registry
-		addContentBasedFactories(structuredModel);
-		// -------
-		// Must update/add to propagating adapters here too
-		addPropagatingAdapters(structuredModel);
-		// -------
-		// Must update/add to "editor side" embedded adapters here too
-		addEmbeddedContentFactories(structuredModel);
-
-	}
-
-	protected void addContentBasedFactories(IStructuredModel structuredModel) {
-		FactoryRegistry factoryRegistry = structuredModel.getFactoryRegistry();
-		Assert.isNotNull(factoryRegistry, "Program Error: client caller must ensure model has factory registry"); //$NON-NLS-1$
-		INodeAdapterFactory factory = null;
-		factory = factoryRegistry.getFactoryFor(IPropertySource.class);
-		if (factory == null) {
-			factory = new XMLPropertySourceAdapterFactory();
-			factoryRegistry.addFactory(factory);
-		}
-		factory = factoryRegistry.getFactoryFor(IJFaceNodeAdapter.class);
-		if (factory == null) {
-			factory = new JFaceNodeAdapterFactoryForHTML(IJFaceNodeAdapter.class, true);
-			factoryRegistry.addFactory(factory);
-		}
-
-		factory = factoryRegistry.getFactoryFor(IJSPTranslation.class);
-		if (factory == null) {
-			factory = new JSPTranslationAdapterFactory();
-			factoryRegistry.addFactory(factory);
-		}
-	}
-
-	protected void addEmbeddedContentFactories(IStructuredModel structuredModel) {
-
-		if (structuredModel instanceof IDOMModel) {
-			IDOMModel xmlModel = (IDOMModel) structuredModel;
-			IDOMDocument document = xmlModel.getDocument();
-			PageDirectiveAdapter pageDirectiveAdapter = (PageDirectiveAdapter) document.getAdapterFor(PageDirectiveAdapter.class);
-			if (pageDirectiveAdapter != null) {
-				// made into registry mechanism
-				AdapterFactoryRegistry adapterRegistry = JSPUIPlugin.getDefault().getEmbeddedAdapterFactoryRegistry();
-				Iterator adapterList = adapterRegistry.getAdapterFactories();
-				// And all those appropriate for this particular type of
-				// content
-				while (adapterList.hasNext()) {
-					EmbeddedAdapterFactoryProvider provider = (EmbeddedAdapterFactoryProvider) adapterList.next();
-					if (provider.isFor(pageDirectiveAdapter.getEmbeddedType())) {
-						provider.addAdapterFactories(structuredModel);
-					}
-				}
-			}
-		}
-
-	}
-
-	protected void addPropagatingAdapters(IStructuredModel structuredModel) {
-
-		if (structuredModel instanceof IDOMModel) {
-			IDOMModel xmlModel = (IDOMModel) structuredModel;
-			IDOMDocument document = xmlModel.getDocument();
-			PropagatingAdapter propagatingAdapter = (PropagatingAdapter) document.getAdapterFor(PropagatingAdapter.class);
-			if (propagatingAdapter != null) {
-				// what to do?
-			}
-		}
-	}
-
-	/*
-	 * @see AdapterFactoryProvider#isFor(ContentTypeDescription)
-	 */
-	public boolean isFor(IDocumentTypeHandler contentTypeDescription) {
-		return (contentTypeDescription instanceof ModelHandlerForJSP);
-	}
-
-	public void reinitializeFactories(IStructuredModel structuredModel) {
-		// assuming the original ones have been removed already
-		// from the page directives registry. The original ones
-		// are removed when the embeddedContentType is set.
-		addEmbeddedContentFactories(structuredModel);
-	}
-
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/style/IStyleConstantsJSP.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/style/IStyleConstantsJSP.java
deleted file mode 100644
index 2b81bf8..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/style/IStyleConstantsJSP.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package org.eclipse.jst.jsp.ui.internal.style;
-
-public interface IStyleConstantsJSP {
-	public static final String JSP_CONTENT = "jsp_content"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/style/LineStyleProviderForJSP.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/style/LineStyleProviderForJSP.java
deleted file mode 100644
index 4388979..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/style/LineStyleProviderForJSP.java
+++ /dev/null
@@ -1,231 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.style;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.text.TextAttribute;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jst.jsp.core.internal.regions.DOMJSPRegionContexts;
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-import org.eclipse.wst.html.ui.internal.style.IStyleConstantsHTML;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion;
-import org.eclipse.wst.sse.ui.internal.provisional.style.AbstractLineStyleProvider;
-import org.eclipse.wst.sse.ui.internal.provisional.style.LineStyleProvider;
-import org.eclipse.wst.xml.core.internal.regions.DOMRegionContext;
-import org.eclipse.wst.xml.ui.internal.style.IStyleConstantsXML;
-
-public class LineStyleProviderForJSP extends AbstractLineStyleProvider implements LineStyleProvider{
-
-	private String language = null;
-
-	//    private static final String JAVA = "java"; //$NON-NLS-1$
-	//    private static final String[] JAVASCRIPT_LANGUAGE_KEYS = new String[] {
-	// "javascript", "javascript1.0", "javascript1.1_3", "javascript1.2",
-	// "javascript1.3", "javascript1.4", "javascript1.5", "javascript1.6",
-	// "jscript", "sashscript" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	// //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$
-	// //$NON-NLS-9$ //$NON-NLS-10$
-
-	public LineStyleProviderForJSP() {
-		super();
-		loadColorsForJSPTags();
-	}
-
-	protected void clearColors() {
-		getTextAttributes().clear();
-	}
-
-	protected TextAttribute getAttributeFor(ITextRegion region) {
-		/**
-		 * a method to centralize all the "sytle rules" for regions
-		 */
-		TextAttribute result = null;
-		// not sure why this is coming through null, but just to catch it
-		if (region == null) {
-			result = (TextAttribute) getTextAttributes().get(IStyleConstantsXML.CDATA_TEXT);
-		}
-		else {
-
-			if (result == null) {
-				String type = region.getType();
-				if ((type == DOMJSPRegionContexts.JSP_SCRIPTLET_OPEN) || (type == DOMJSPRegionContexts.JSP_DECLARATION_OPEN) || (type == DOMJSPRegionContexts.JSP_EXPRESSION_OPEN) || (type == DOMJSPRegionContexts.JSP_DIRECTIVE_OPEN) || (type == DOMJSPRegionContexts.JSP_DIRECTIVE_CLOSE) || (type == DOMJSPRegionContexts.JSP_CLOSE)) {
-					result = (TextAttribute) getTextAttributes().get(IStyleConstantsHTML.SCRIPT_AREA_BORDER);
-				}
-				else if (type == DOMJSPRegionContexts.JSP_DIRECTIVE_NAME || type == DOMJSPRegionContexts.JSP_ROOT_TAG_NAME) {
-					result = (TextAttribute) getTextAttributes().get(IStyleConstantsXML.TAG_NAME);
-				}
-				else if ((type == DOMJSPRegionContexts.JSP_COMMENT_OPEN) || (type == DOMJSPRegionContexts.JSP_COMMENT_CLOSE)) {
-					result = (TextAttribute) getTextAttributes().get(IStyleConstantsXML.COMMENT_BORDER);
-				}
-				else if (type == DOMJSPRegionContexts.JSP_COMMENT_TEXT) {
-					result = (TextAttribute) getTextAttributes().get(IStyleConstantsXML.COMMENT_TEXT);
-				}
-				// ============ These are in common with XML --- (for XML form
-				// of tags)
-				//              Note: this assume's this provider is only called for
-				//              true JSP Nodes. If its called for others, then this will
-				//              cause their tag names to be highlighted too!
-				//              Further checks could be done to prevent that, but doesn't
-				//              seem worth it, since if adpaters factories are working
-				// right,
-				//              then wouldn't be needed.
-				else if (type == DOMRegionContext.XML_TAG_NAME) {
-					result = (TextAttribute) getTextAttributes().get(IStyleConstantsXML.TAG_NAME);
-				}
-				else if ((type == DOMRegionContext.XML_TAG_OPEN) || (type == DOMRegionContext.XML_END_TAG_OPEN) || (type == DOMRegionContext.XML_TAG_CLOSE) || (type == DOMRegionContext.XML_EMPTY_TAG_CLOSE)) {
-					result = (TextAttribute) getTextAttributes().get(IStyleConstantsXML.TAG_BORDER);
-				}
-				else if (type == DOMRegionContext.XML_TAG_ATTRIBUTE_NAME) {
-					result = (TextAttribute) getTextAttributes().get(IStyleConstantsXML.TAG_ATTRIBUTE_NAME);
-				}
-				else if ((type == DOMRegionContext.XML_TAG_ATTRIBUTE_VALUE) || (type == DOMJSPRegionContexts.XML_TAG_ATTRIBUTE_VALUE_DQUOTE) || (type == DOMJSPRegionContexts.XML_TAG_ATTRIBUTE_VALUE_SQUOTE)) {
-					result = (TextAttribute) getTextAttributes().get(IStyleConstantsXML.TAG_ATTRIBUTE_VALUE);
-				}
-				else if (type == DOMRegionContext.XML_TAG_ATTRIBUTE_EQUALS) {
-					result = (TextAttribute) getTextAttributes().get(IStyleConstantsXML.TAG_ATTRIBUTE_EQUALS);
-				}
-
-				// DMW: added 9/1/2002 Undefined color may need addjustment :)
-				else if (type == DOMRegionContext.UNDEFINED)
-					result = (TextAttribute) getTextAttributes().get(IStyleConstantsXML.XML_CONTENT);
-
-				else if (type == DOMRegionContext.WHITE_SPACE)
-					result = (TextAttribute) getTextAttributes().get(IStyleConstantsXML.XML_CONTENT);
-				// DMW added 8/30/2002 -- should provide JSP specific
-				// preference for "custom tag content" (both tag dependent,
-				// BLOCKED_TEXT, and not, XML CONTENT)
-				else if (type == DOMRegionContext.XML_CONTENT)
-					result = (TextAttribute) getTextAttributes().get(IStyleConstantsXML.XML_CONTENT);
-				else if (type == DOMRegionContext.BLOCK_TEXT)
-					result = (TextAttribute) getTextAttributes().get(IStyleConstantsXML.CDATA_TEXT);
-			}
-		}
-		// default, return null to signal "not handled"
-		// in which case, other factories should be tried
-		return result;
-	}
-
-
-	protected IPreferenceStore getColorPreferences() {
-		return JSPUIPlugin.getDefault().getPreferenceStore();
-	}
-
-	protected void loadColorsForJSPTags() {
-		clearColors();
-
-		addTextAttribute(IStyleConstantsXML.TAG_NAME);
-		addTextAttribute(IStyleConstantsXML.TAG_BORDER);
-		addTextAttribute(IStyleConstantsXML.TAG_ATTRIBUTE_NAME);
-		addTextAttribute(IStyleConstantsXML.TAG_ATTRIBUTE_VALUE);
-		addTextAttribute(IStyleConstantsXML.TAG_ATTRIBUTE_EQUALS);
-		addTextAttribute(IStyleConstantsXML.COMMENT_BORDER);
-		addTextAttribute(IStyleConstantsXML.COMMENT_TEXT);
-		addTextAttribute(IStyleConstantsXML.CDATA_BORDER);
-		addTextAttribute(IStyleConstantsXML.CDATA_TEXT);
-		addTextAttribute(IStyleConstantsXML.DECL_BORDER);
-		addTextAttribute(IStyleConstantsXML.DOCTYPE_EXTERNAL_ID);
-		addTextAttribute(IStyleConstantsXML.DOCTYPE_EXTERNAL_ID_PUBREF);
-		addTextAttribute(IStyleConstantsXML.DOCTYPE_EXTERNAL_ID_SYSREF);
-		addTextAttribute(IStyleConstantsXML.DOCTYPE_NAME);
-		addTextAttribute(IStyleConstantsXML.PI_CONTENT);
-		addTextAttribute(IStyleConstantsXML.PI_BORDER);
-		addTextAttribute(IStyleConstantsXML.XML_CONTENT);
-		addTextAttribute(IStyleConstantsHTML.SCRIPT_AREA_BORDER);
-	}
-
-	protected void handlePropertyChange(PropertyChangeEvent event) {
-		String styleKey = null;
-
-		if (event != null) {
-			String prefKey = event.getProperty();
-			// check if preference changed is a style preference
-			if (IStyleConstantsXML.TAG_NAME.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.TAG_NAME;
-			}
-			else if (IStyleConstantsXML.TAG_BORDER.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.TAG_BORDER;
-			}
-			else if (IStyleConstantsXML.TAG_ATTRIBUTE_NAME.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.TAG_ATTRIBUTE_NAME;
-			}
-			else if (IStyleConstantsXML.TAG_ATTRIBUTE_VALUE.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.TAG_ATTRIBUTE_VALUE;
-			}
-			else if (IStyleConstantsXML.TAG_ATTRIBUTE_EQUALS.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.TAG_ATTRIBUTE_EQUALS;
-			}
-			else if (IStyleConstantsXML.COMMENT_BORDER.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.COMMENT_BORDER;
-			}
-			else if (IStyleConstantsXML.COMMENT_TEXT.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.COMMENT_TEXT;
-			}
-			else if (IStyleConstantsXML.CDATA_BORDER.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.CDATA_BORDER;
-			}
-			else if (IStyleConstantsXML.CDATA_TEXT.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.CDATA_TEXT;
-			}
-			else if (IStyleConstantsXML.DECL_BORDER.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.DECL_BORDER;
-			}
-			else if (IStyleConstantsXML.DOCTYPE_EXTERNAL_ID.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.DOCTYPE_EXTERNAL_ID;
-			}
-			else if (IStyleConstantsXML.DOCTYPE_EXTERNAL_ID_PUBREF.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.DOCTYPE_EXTERNAL_ID_PUBREF;
-			}
-			else if (IStyleConstantsXML.DOCTYPE_EXTERNAL_ID_SYSREF.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.DOCTYPE_EXTERNAL_ID_SYSREF;
-			}
-			else if (IStyleConstantsXML.DOCTYPE_NAME.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.DOCTYPE_NAME;
-			}
-			else if (IStyleConstantsXML.PI_CONTENT.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.PI_CONTENT;
-			}
-			else if (IStyleConstantsXML.PI_BORDER.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.PI_BORDER;
-			}
-			else if (IStyleConstantsXML.XML_CONTENT.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.XML_CONTENT;
-			}
-			else if (IStyleConstantsHTML.SCRIPT_AREA_BORDER.equals(prefKey)) {
-				styleKey = IStyleConstantsHTML.SCRIPT_AREA_BORDER;
-			}
-		}
-
-		if (styleKey != null) {
-			// overwrite style preference with new value
-			addTextAttribute(styleKey);
-			super.handlePropertyChange(event);
-		}
-	}
-
-	/**
-	 * Returns the language.
-	 * 
-	 * @return String
-	 */
-	public String getLanguage() {
-		return language;
-	}
-
-	/**
-	 * Sets the language.
-	 * 
-	 * @param language
-	 *            The language to set
-	 */
-	public void setLanguage(String language) {
-		this.language = language;
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/style/java/JavaCodeScanner.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/style/java/JavaCodeScanner.java
deleted file mode 100644
index c69436d..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/style/java/JavaCodeScanner.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.style.java;
-
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.text.TextAttribute;
-import org.eclipse.jface.text.rules.EndOfLineRule;
-import org.eclipse.jface.text.rules.IRule;
-import org.eclipse.jface.text.rules.IToken;
-import org.eclipse.jface.text.rules.MultiLineRule;
-import org.eclipse.jface.text.rules.SingleLineRule;
-import org.eclipse.jface.text.rules.Token;
-import org.eclipse.jface.text.rules.WordRule;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.wst.sse.ui.internal.util.EditorUtility;
-
-/**
- * A Java code scanner.
- */
-public class JavaCodeScanner extends org.eclipse.jface.text.rules.RuleBasedScanner {
-
-	private static String[] fgKeywords = {"abstract", //$NON-NLS-1$
-				"break", //$NON-NLS-1$
-				"case", "catch", "class", "continue", //$NON-NLS-4$//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
-				"default", "do", //$NON-NLS-2$//$NON-NLS-1$
-				"else", "extends", //$NON-NLS-2$//$NON-NLS-1$
-				"final", "finally", "for", //$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
-				"if", "implements", "import", "instanceof", "interface", //$NON-NLS-5$//$NON-NLS-4$//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
-				"native", "new", //$NON-NLS-2$//$NON-NLS-1$
-				"package", "private", "protected", "public", //$NON-NLS-4$//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
-				"return", //$NON-NLS-1$
-				"static", "super", "switch", "synchronized", //$NON-NLS-4$//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
-				"this", "throw", "throws", "transient", "try", //$NON-NLS-5$//$NON-NLS-4$//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
-				"volatile", //$NON-NLS-1$
-				"while", //$NON-NLS-1$
-				"strictfp",//$NON-NLS-1$
-	};
-	private static String[] fgTypes = {"void", "boolean", "char", "byte", "short", "int", "long", "float", "double"};//$NON-NLS-9$//$NON-NLS-8$//$NON-NLS-7$//$NON-NLS-6$//$NON-NLS-5$//$NON-NLS-4$//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
-	private static String[] fgConstants = {"false", "null", "true"};//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
-
-	/**
-	 * Creates a Java code scanner
-	 */
-	public JavaCodeScanner() {
-		// if we use null here, system default will be used
-		
-		Color background = null; //provider.getColor(JavaColorProvider.EDITOR_BACKGROUND);
-		JavaColorProvider.getInstance().loadJavaColors();
-		IToken keyword = new Token(new TextAttribute(EditorUtility.getColor(JavaColorProvider.KEYWORD), background, JavaColorProvider.KEYWORD_BOLD));
-		IToken type = new Token(new TextAttribute(EditorUtility.getColor(JavaColorProvider.TYPE), background, JavaColorProvider.TYPE_BOLD));
-		IToken string = new Token(new TextAttribute(EditorUtility.getColor(JavaColorProvider.STRING), background, JavaColorProvider.STRING_BOLD));
-		IToken comment = new Token(new TextAttribute(EditorUtility.getColor(JavaColorProvider.SINGLE_LINE_COMMENT), background, JavaColorProvider.SINGLE_LINE_COMMENT_BOLD));
-		IToken other = new Token(new TextAttribute(EditorUtility.getColor(JavaColorProvider.DEFAULT), background, JavaColorProvider.DEFAULT_BOLD));
-
-
-		List rules = new ArrayList();
-
-		// Add rule for multiple line comments.
-		rules.add(new MultiLineRule("/*", "*/", comment));//$NON-NLS-1$ //$NON-NLS-2$
-
-		// Add rule for single line comments.
-		rules.add(new EndOfLineRule("//", comment));//$NON-NLS-1$
-
-		// Add rule for strings and character constants.
-		rules.add(new SingleLineRule("\"", "\"", string, '\\'));//$NON-NLS-2$//$NON-NLS-1$
-		rules.add(new SingleLineRule("'", "'", string, '\\'));//$NON-NLS-2$//$NON-NLS-1$
-
-		// Add generic whitespace rule.
-		//rules.add(new WhitespaceRule(new JavaWhitespaceDetector()));
-
-		// Add word rule for keywords, types, and constants.
-		WordRule wordRule = new WordRule(new JavaWordDetector(), other);
-		for (int i = 0; i < fgKeywords.length; i++)
-			wordRule.addWord(fgKeywords[i], keyword);
-		for (int i = 0; i < fgTypes.length; i++)
-			wordRule.addWord(fgTypes[i], type);
-		for (int i = 0; i < fgConstants.length; i++)
-			wordRule.addWord(fgConstants[i], type);
-		rules.add(wordRule);
-
-
-		IRule[] result = new IRule[rules.size()];
-		rules.toArray(result);
-		setRules(result);
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/style/java/JavaColorProvider.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/style/java/JavaColorProvider.java
deleted file mode 100644
index 74927c7..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/style/java/JavaColorProvider.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.style.java;
-
-import org.eclipse.jdt.ui.PreferenceConstants;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.RGB;
-
-/**
- * Colors used in the Java editor
- */
-public class JavaColorProvider {
-	
-	// people should not be setting these, even though they are currently not final
-	public static RGB MULTI_LINE_COMMENT = new RGB(128, 0, 0);
-	public static RGB SINGLE_LINE_COMMENT = new RGB(128, 128, 0);
-	public static RGB KEYWORD = new RGB(0, 0, 128);
-	public static RGB TYPE = new RGB(0, 0, 128);
-	public static RGB STRING = new RGB(0, 128, 0);
-	public static RGB DEFAULT = new RGB(0, 0, 0);
-	public static RGB JAVADOC_KEYWORD = new RGB(0, 128, 0);
-	public static RGB JAVADOC_TAG = new RGB(128, 128, 128);
-	public static RGB JAVADOC_LINK = new RGB(128, 128, 128);
-	public static RGB JAVADOC_DEFAULT = new RGB(0, 128, 128);
-	
-	public static int MULTI_LINE_COMMENT_BOLD = SWT.NORMAL;
-	public static int SINGLE_LINE_COMMENT_BOLD = SWT.NORMAL;
-	public static int KEYWORD_BOLD = SWT.BOLD;
-	public static int TYPE_BOLD = SWT.BOLD;
-	public static int STRING_BOLD = SWT.NORMAL;
-	public static int DEFAULT_BOLD = SWT.NORMAL;
-	public static int JAVADOC_KEYWORD_BOLD = SWT.BOLD;
-	public static int JAVADOC_TAG_BOLD = SWT.NORMAL;
-	public static int JAVADOC_LINK_BOLD = SWT.NORMAL;
-	public static int JAVADOC_DEFAULT_BOLD = SWT.NORMAL;
-	
-	/**
-	 * @deprecated all editors use same
-	 */
-	public static RGB EDITOR_BACKGROUND = new RGB(255, 255, 255);
-	/**
-	 * @deprecated all editors use same
-	 */
-	public static boolean EDITOR_CURRENT_LINE = true;
-	/**
-	 * @deprecated all editors use same
-	 */
-	public static RGB EDITOR_CURRENT_LINE_COLOR = new RGB(128, 128, 128);
-	
-	private static JavaColorProvider fInstance = null;
-	
-	public static JavaColorProvider getInstance() {
-		if (fInstance == null) {
-			fInstance = new JavaColorProvider();
-		}
-		return fInstance;
-	}
-	
-	/**
-	 * Use colors from JDT plugin
-	 */
-	public void loadJavaColors() {
-		
-		IPreferenceStore jdtStore = PreferenceConstants.getPreferenceStore();
-		MULTI_LINE_COMMENT = PreferenceConverter.getColor(jdtStore, PreferenceConstants.EDITOR_MULTI_LINE_COMMENT_COLOR);
-		SINGLE_LINE_COMMENT = PreferenceConverter.getColor(jdtStore, PreferenceConstants.EDITOR_SINGLE_LINE_COMMENT_COLOR);
-		KEYWORD = PreferenceConverter.getColor(jdtStore, PreferenceConstants.EDITOR_JAVA_KEYWORD_COLOR);
-		TYPE = KEYWORD;
-		STRING = PreferenceConverter.getColor(jdtStore, PreferenceConstants.EDITOR_STRING_COLOR);
-		DEFAULT = PreferenceConverter.getColor(jdtStore, PreferenceConstants.EDITOR_JAVA_DEFAULT_COLOR);
-		JAVADOC_KEYWORD = PreferenceConverter.getColor(jdtStore, PreferenceConstants.EDITOR_JAVADOC_KEYWORD_COLOR);
-		JAVADOC_TAG = PreferenceConverter.getColor(jdtStore, PreferenceConstants.EDITOR_JAVADOC_TAG_COLOR);
-		JAVADOC_LINK = PreferenceConverter.getColor(jdtStore, PreferenceConstants.EDITOR_JAVADOC_LINKS_COLOR);
-		JAVADOC_DEFAULT = PreferenceConverter.getColor(jdtStore, PreferenceConstants.EDITOR_JAVADOC_DEFAULT_COLOR);
-		
-		MULTI_LINE_COMMENT_BOLD = jdtStore.getBoolean(PreferenceConstants.EDITOR_MULTI_LINE_COMMENT_BOLD) ? SWT.BOLD : SWT.NORMAL;
-		SINGLE_LINE_COMMENT_BOLD = jdtStore.getBoolean(PreferenceConstants.EDITOR_SINGLE_LINE_COMMENT_BOLD) ? SWT.BOLD : SWT.NORMAL;
-		KEYWORD_BOLD = jdtStore.getBoolean(PreferenceConstants.EDITOR_JAVA_KEYWORD_BOLD) ? SWT.BOLD : SWT.NORMAL;
-		TYPE_BOLD = jdtStore.getBoolean(PreferenceConstants.EDITOR_JAVA_KEYWORD_BOLD) ? SWT.BOLD : SWT.NORMAL;
-		STRING_BOLD = jdtStore.getBoolean(PreferenceConstants.EDITOR_STRING_BOLD) ? SWT.BOLD : SWT.NORMAL;
-		DEFAULT_BOLD = jdtStore.getBoolean(PreferenceConstants.EDITOR_JAVA_DEFAULT_BOLD) ? SWT.BOLD : SWT.NORMAL;
-		JAVADOC_TAG_BOLD = jdtStore.getBoolean(PreferenceConstants.EDITOR_JAVADOC_TAG_BOLD) ? SWT.BOLD : SWT.NORMAL;
-		JAVADOC_LINK_BOLD = jdtStore.getBoolean(PreferenceConstants.EDITOR_JAVADOC_LINKS_BOLD) ? SWT.BOLD : SWT.NORMAL;
-		JAVADOC_DEFAULT_BOLD = jdtStore.getBoolean(PreferenceConstants.EDITOR_JAVADOC_DEFAULT_BOLD) ? SWT.BOLD : SWT.NORMAL;
-		
-//		EDITOR_BACKGROUND = new RGB(255, 255, 255);
-		
-//		IPreferenceStore sseStore = SSEUIPlugin.getDefault().getPreferenceStore();
-//		EDITOR_CURRENT_LINE = sseStore.getBoolean(AbstractDecoratedTextEditorPreferenceConstants.EDITOR_CURRENT_LINE);
-//		EDITOR_CURRENT_LINE_COLOR = PreferenceConverter.getColor(sseStore, AbstractDecoratedTextEditorPreferenceConstants.EDITOR_CURRENT_LINE_COLOR);
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/style/java/JavaWhitespaceDetector.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/style/java/JavaWhitespaceDetector.java
deleted file mode 100644
index 381893e..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/style/java/JavaWhitespaceDetector.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.style.java;
-
-
-
-/**
- * A java aware white space detector.
- */
-public class JavaWhitespaceDetector implements org.eclipse.jface.text.rules.IWhitespaceDetector {
-
-	/**
-	 * @see org.eclipse.jface.text.rules.IWhitespaceDetector#isWhitespace
-	 */
-	public boolean isWhitespace(char c) {
-		return Character.isWhitespace(c);
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/style/java/JavaWordDetector.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/style/java/JavaWordDetector.java
deleted file mode 100644
index 77fe762..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/style/java/JavaWordDetector.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.style.java;
-
-
-/**
- * A Java aware word detector.
- */
-public class JavaWordDetector implements org.eclipse.jface.text.rules.IWordDetector {
-
-	/**
-	 * @see org.eclipse.jface.text.rules.IWordDetector#isWordIdentifierPart
-	 */
-	public boolean isWordPart(char c) {
-		return Character.isJavaIdentifierPart(c);
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.rules.IWordDetector#isWordIdentifierStart
-	 */
-	public boolean isWordStart(char c) {
-		return Character.isJavaIdentifierStart(c);
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/style/java/LineStyleProviderForJava.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/style/java/LineStyleProviderForJava.java
deleted file mode 100644
index f2e319f..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/style/java/LineStyleProviderForJava.java
+++ /dev/null
@@ -1,209 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.style.java;
-
-import java.util.Collection;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITypedRegion;
-import org.eclipse.jface.text.TextAttribute;
-import org.eclipse.jface.text.rules.IToken;
-import org.eclipse.jface.text.rules.RuleBasedScanner;
-import org.eclipse.jface.text.rules.Token;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-import org.eclipse.jst.jsp.ui.internal.style.IStyleConstantsJSP;
-import org.eclipse.swt.custom.StyleRange;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.wst.html.ui.internal.style.IStyleConstantsHTML;
-import org.eclipse.wst.sse.ui.internal.preferences.ui.ColorHelper;
-import org.eclipse.wst.sse.ui.internal.provisional.style.AbstractLineStyleProvider;
-import org.eclipse.wst.sse.ui.internal.provisional.style.LineStyleProvider;
-import org.eclipse.wst.sse.ui.internal.util.EditorUtility;
-import org.eclipse.wst.xml.ui.internal.style.IStyleConstantsXML;
-import org.w3c.dom.Node;
-
-// Note: many of the methods in this class were based on (or copied from) those
-// found in the example Java Editor
-public class LineStyleProviderForJava extends AbstractLineStyleProvider implements LineStyleProvider{
-
-	private IDocument fDocument;
-	/** The scanner it uses */
-	protected RuleBasedScanner fScanner;
-	/** The default text attribute if non is returned as data by the current token */
-	protected TextAttribute fDefaultTextAttribute;
-	protected Node targetNode;
-
-	public LineStyleProviderForJava() {
-		super();
-		loadColors();
-		fScanner = new JavaCodeScanner();
-		fDefaultTextAttribute = new TextAttribute(EditorUtility.getColor(JavaColorProvider.DEFAULT));
-	}
-
-	/**
-	 * Adds style information to the given text presentation.
-	 *
-	 * @param presentation the text presentation to be extended
-	 * @param offset the offset of the range to be styled
-	 * @param length the length of the range to be styled
-	 * @param attr the attribute describing the style of the range to be styled
-	 */
-	protected void addRange(Collection presentation, int offset, int length, TextAttribute attr) {
-		
-//		Color bg = attr.getBackground();
-		// all editors use same background color
-//		// if current line highlight on, use line highlight color for background
-//		if(JavaColorProvider.EDITOR_CURRENT_LINE && selection == 1) {
-//			try {
-//				IRegion lineRegion = doc.getLineInformation(doc.getLineOfOffset(caret));
-//				if(lineRegion.getOffset()<=offset && offset<=lineRegion.getOffset()+lineRegion.getLength())
-//					bg = EditorUtility.getColor(JavaColorProvider.EDITOR_CURRENT_LINE_COLOR);
-//						
-//			} catch (BadLocationException e) {
-//				Logger.logException(e);
-//			}
-//		}
-		// support for user defined backgroud for JSP scriptlet regions
-		String styleString = JSPUIPlugin.getDefault().getPreferenceStore().getString(IStyleConstantsJSP.JSP_CONTENT);
-		String[] prefs = ColorHelper.unpackStylePreferences(styleString);
-		Color bgColor = (prefs != null && prefs.length == 3 && prefs[1].startsWith("#") && Display.getCurrent() != null) //$NON-NLS-1$
-							? new Color(Display.getCurrent(), ColorHelper.toRGB(prefs[1]))
-							: attr.getBackground();
-							
-		presentation.add(new StyleRange(offset, length, attr.getForeground(), bgColor, attr.getStyle()));
-	}
-
-	protected void clearColors() {
-		getTextAttributes().clear();
-	}
-
-	/**
-	 * Returns a text attribute encoded in the given token. If the token's
-	 * data is not <code>null</code> and a text attribute it is assumed that
-	 * it is the encoded text attribute. It returns the default text attribute
-	 * if there is no encoded text attribute found.
-	 *
-	 * @param token the token whose text attribute is to be determined
-	 * @return the token's text attribute
-	 */
-	protected TextAttribute getTokenTextAttribute(IToken token) {
-		Object data = token.getData();
-		if (data instanceof TextAttribute)
-			return (TextAttribute) data;
-		return fDefaultTextAttribute;
-	}
-
-	protected void loadColors() {
-		clearColors();
-		
-		addTextAttribute(IStyleConstantsHTML.SCRIPT_AREA_BORDER);
-		addTextAttribute(IStyleConstantsXML.TAG_ATTRIBUTE_NAME);
-		addTextAttribute(IStyleConstantsXML.TAG_ATTRIBUTE_VALUE);
-	}
-
-	protected void handlePropertyChange(PropertyChangeEvent event) {
-		String styleKey = null;
-
-		if (event != null) {
-			String prefKey = event.getProperty();
-			// check if preference changed is a style preference
-			if (IStyleConstantsHTML.SCRIPT_AREA_BORDER.equals(prefKey)) {
-				styleKey = IStyleConstantsHTML.SCRIPT_AREA_BORDER;
-			}
-			else if (IStyleConstantsXML.TAG_ATTRIBUTE_NAME.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.TAG_ATTRIBUTE_NAME;
-			}
-			else if (IStyleConstantsXML.TAG_ATTRIBUTE_VALUE.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.TAG_ATTRIBUTE_VALUE;
-			}
-		}
-
-		if (styleKey != null) {
-			// overwrite style preference with new value
-			addTextAttribute(styleKey);
-			super.handlePropertyChange(event);
-		}
-	}
-
-	public boolean prepareRegions(ITypedRegion typedRegion, int ssssrequestedStart, int ssssrequestedLength, Collection holdResults) {
-		boolean result = true;
-		try {
-			// ideally, eventually, we'll have a "virtualDocument" we can 
-			// refer to, but for now ... we'll simple rescan the one region.
-			// use simple adjustment (since "sub-content" starts at 0
-			int offsetAdjustment = typedRegion.getOffset();
-			String content = super.getDocument().get(typedRegion.getOffset(), typedRegion.getLength());
-			IDocument document = new Document(content);
-			this.setDocument(document);
-
-			int lastStart = 0;
-			int length = 0;
-			IToken lastToken = Token.UNDEFINED;
-
-			int remainingLength = typedRegion.getLength();
-			fScanner.setRange(fDocument, lastStart, remainingLength);
-
-			while (true) {
-
-				IToken token = fScanner.nextToken();
-
-				if (token.isEOF()) {
-					if (!lastToken.isUndefined() && length != 0)
-						addRange(holdResults, lastStart + offsetAdjustment, length, getTokenTextAttribute(lastToken));
-					break;
-				}
-
-				if (token.isWhitespace()) {
-					length += fScanner.getTokenLength();
-					continue;
-				}
-
-				if (lastToken.isUndefined()) {
-					lastToken = token;
-					length += fScanner.getTokenLength();
-					continue;
-				}
-
-				if (token != lastToken) {
-					addRange(holdResults, lastStart + offsetAdjustment, length, getTokenTextAttribute(lastToken));
-					lastToken = token;
-					lastStart = fScanner.getTokenOffset();
-					length = fScanner.getTokenLength();
-					continue;
-				}
-
-				length += fScanner.getTokenLength();
-			}
-		}
-		catch (BadLocationException e) {
-			// shouldn't happen, but we don't want it to stop other highlighting, if it does.
-			result = false;
-		}
-		return result;
-	}
-	
-	protected IPreferenceStore getColorPreferences() {
-		return JSPUIPlugin.getDefault().getPreferenceStore();
-	}
-	
-	protected void setDocument(IDocument document) {
-		fDocument = document;
-	}
-
-	public void setTargetNode(org.w3c.dom.Node newTargetNode) {
-		targetNode = newTargetNode;
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/style/jspel/JSPELCodeScanner.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/style/jspel/JSPELCodeScanner.java
deleted file mode 100644
index d7c20b6..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/style/jspel/JSPELCodeScanner.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.style.jspel;
-
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.text.TextAttribute;
-import org.eclipse.jface.text.rules.IRule;
-import org.eclipse.jface.text.rules.IToken;
-import org.eclipse.jface.text.rules.Token;
-import org.eclipse.jface.text.rules.WhitespaceRule;
-import org.eclipse.jface.text.rules.WordRule;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.wst.sse.ui.internal.util.EditorUtility;
-
-/**
- * A Java code scanner.
- */
-public class JSPELCodeScanner extends org.eclipse.jface.text.rules.RuleBasedScanner {
-
-	private static String[] fgKeywords = {
-				"and", //$NON-NLS-1$
-				"did", //$NON-NLS-1$
-				"div", //$NON-NLS-1$
-				"empty", //$NON-NLS-1$
-				"eq", //$NON-NLS-1$
-				"ge", //$NON-NLS-1$
-				"gt", //$NON-NLS-1$
-				"or", //$NON-NLS-1$
-				"le", //$NON-NLS-1$
-				"lt", //$NON-NLS-1$
-				"mod", //$NON-NLS-1$
- 				"ne", //$NON-NLS-1$
- 				"not"  //$NON-NLS-1$
-	};
-	private static String[] fgConstants = {"false", "true"};//$NON-NLS-2$//$NON-NLS-1$
-
-	/**
-	 * Creates a Java code scanner
-	 */
-	public JSPELCodeScanner() {
-		// if we use null here, system default will be used
-		Color background = null; //provider.getColor(JavaColorProvider.EDITOR_BACKGROUND);
-		
-		JSPELColorProvider.getInstance().loadJavaColors();
-		IToken keyword = new Token(new TextAttribute(EditorUtility.getColor(JSPELColorProvider.KEYWORD), background, JSPELColorProvider.KEYWORD_BOLD));
-		IToken type = new Token(new TextAttribute(EditorUtility.getColor(JSPELColorProvider.TYPE), background, JSPELColorProvider.TYPE_BOLD));
-		IToken string = new Token(new TextAttribute(EditorUtility.getColor(JSPELColorProvider.STRING), background, JSPELColorProvider.STRING_BOLD));
-		IToken comment = new Token(new TextAttribute(EditorUtility.getColor(JSPELColorProvider.SINGLE_LINE_COMMENT), background, JSPELColorProvider.SINGLE_LINE_COMMENT_BOLD));
-		IToken other = new Token(new TextAttribute(EditorUtility.getColor(JSPELColorProvider.DEFAULT), background, JSPELColorProvider.DEFAULT_BOLD));
-
-
-		List rules = new ArrayList();
-
-		// Add generic whitespace rule.
-		rules.add(new WhitespaceRule(new JSPELWhitespaceDetector()));
-
-		// Add word rule for keywords, types, and constants.
-		WordRule wordRule = new WordRule(new JSPELWordDetector(), other);
-		for (int i = 0; i < fgKeywords.length; i++)
-			wordRule.addWord(fgKeywords[i], keyword);
-		for (int i = 0; i < fgConstants.length; i++)
-			wordRule.addWord(fgConstants[i], type);
-		rules.add(wordRule);
-
-		IRule[] result = new IRule[rules.size()];
-		rules.toArray(result);
-		setRules(result);
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/style/jspel/JSPELColorProvider.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/style/jspel/JSPELColorProvider.java
deleted file mode 100644
index 716071f..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/style/jspel/JSPELColorProvider.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.style.jspel;
-
-import org.eclipse.jdt.ui.PreferenceConstants;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.RGB;
-
-/**
- * Colors used in the Java editor
- */
-public class JSPELColorProvider {
-	
-	// people should not be setting these, even though they are currently not final
-	public static RGB MULTI_LINE_COMMENT = new RGB(128, 0, 0);
-	public static RGB SINGLE_LINE_COMMENT = new RGB(128, 128, 0);
-	public static RGB KEYWORD = new RGB(0, 0, 128);
-	public static RGB TYPE = new RGB(0, 0, 128);
-	public static RGB STRING = new RGB(0, 128, 0);
-	public static RGB DEFAULT = new RGB(0, 0, 0);
-	public static RGB JAVADOC_KEYWORD = new RGB(0, 128, 0);
-	public static RGB JAVADOC_TAG = new RGB(128, 128, 128);
-	public static RGB JAVADOC_LINK = new RGB(128, 128, 128);
-	public static RGB JAVADOC_DEFAULT = new RGB(0, 128, 128);
-	
-	public static int MULTI_LINE_COMMENT_BOLD = SWT.NORMAL;
-	public static int SINGLE_LINE_COMMENT_BOLD = SWT.NORMAL;
-	public static int KEYWORD_BOLD = SWT.BOLD;
-	public static int TYPE_BOLD = SWT.BOLD;
-	public static int STRING_BOLD = SWT.NORMAL;
-	public static int DEFAULT_BOLD = SWT.NORMAL;
-	public static int JAVADOC_KEYWORD_BOLD = SWT.BOLD;
-	public static int JAVADOC_TAG_BOLD = SWT.NORMAL;
-	public static int JAVADOC_LINK_BOLD = SWT.NORMAL;
-	public static int JAVADOC_DEFAULT_BOLD = SWT.NORMAL;
-	
-	/**
-	 * @deprecated all editors use same
-	 */
-	public static RGB EDITOR_BACKGROUND = new RGB(255, 255, 255);
-	/**
-	 * @deprecated all editors use same
-	 */
-	public static boolean EDITOR_CURRENT_LINE = true;
-	/**
-	 * @deprecated all editors use same
-	 */
-	public static RGB EDITOR_CURRENT_LINE_COLOR = new RGB(128, 128, 128);
-	
-	private static JSPELColorProvider fInstance = null;
-	
-	public static JSPELColorProvider getInstance() {
-		if (fInstance == null) {
-			fInstance = new JSPELColorProvider();
-		}
-		return fInstance;
-	}
-	
-	/**
-	 * Use colors from JDT plugin
-	 */
-	public void loadJavaColors() {
-		
-		IPreferenceStore jdtStore = PreferenceConstants.getPreferenceStore();
-		MULTI_LINE_COMMENT = PreferenceConverter.getColor(jdtStore, PreferenceConstants.EDITOR_MULTI_LINE_COMMENT_COLOR);
-		SINGLE_LINE_COMMENT = PreferenceConverter.getColor(jdtStore, PreferenceConstants.EDITOR_SINGLE_LINE_COMMENT_COLOR);
-		KEYWORD = PreferenceConverter.getColor(jdtStore, PreferenceConstants.EDITOR_JAVA_KEYWORD_COLOR);
-		TYPE = KEYWORD;
-		STRING = PreferenceConverter.getColor(jdtStore, PreferenceConstants.EDITOR_STRING_COLOR);
-		DEFAULT = PreferenceConverter.getColor(jdtStore, PreferenceConstants.EDITOR_JAVA_DEFAULT_COLOR);
-		JAVADOC_KEYWORD = PreferenceConverter.getColor(jdtStore, PreferenceConstants.EDITOR_JAVADOC_KEYWORD_COLOR);
-		JAVADOC_TAG = PreferenceConverter.getColor(jdtStore, PreferenceConstants.EDITOR_JAVADOC_TAG_COLOR);
-		JAVADOC_LINK = PreferenceConverter.getColor(jdtStore, PreferenceConstants.EDITOR_JAVADOC_LINKS_COLOR);
-		JAVADOC_DEFAULT = PreferenceConverter.getColor(jdtStore, PreferenceConstants.EDITOR_JAVADOC_DEFAULT_COLOR);
-		
-		MULTI_LINE_COMMENT_BOLD = jdtStore.getBoolean(PreferenceConstants.EDITOR_MULTI_LINE_COMMENT_BOLD) ? SWT.BOLD : SWT.NORMAL;
-		SINGLE_LINE_COMMENT_BOLD = jdtStore.getBoolean(PreferenceConstants.EDITOR_SINGLE_LINE_COMMENT_BOLD) ? SWT.BOLD : SWT.NORMAL;
-		KEYWORD_BOLD = jdtStore.getBoolean(PreferenceConstants.EDITOR_JAVA_KEYWORD_BOLD) ? SWT.BOLD : SWT.NORMAL;
-		TYPE_BOLD = jdtStore.getBoolean(PreferenceConstants.EDITOR_JAVA_KEYWORD_BOLD) ? SWT.BOLD : SWT.NORMAL;
-		STRING_BOLD = jdtStore.getBoolean(PreferenceConstants.EDITOR_STRING_BOLD) ? SWT.BOLD : SWT.NORMAL;
-		DEFAULT_BOLD = jdtStore.getBoolean(PreferenceConstants.EDITOR_JAVA_DEFAULT_BOLD) ? SWT.BOLD : SWT.NORMAL;
-		JAVADOC_TAG_BOLD = jdtStore.getBoolean(PreferenceConstants.EDITOR_JAVADOC_TAG_BOLD) ? SWT.BOLD : SWT.NORMAL;
-		JAVADOC_LINK_BOLD = jdtStore.getBoolean(PreferenceConstants.EDITOR_JAVADOC_LINKS_BOLD) ? SWT.BOLD : SWT.NORMAL;
-		JAVADOC_DEFAULT_BOLD = jdtStore.getBoolean(PreferenceConstants.EDITOR_JAVADOC_DEFAULT_BOLD) ? SWT.BOLD : SWT.NORMAL;
-		
-//		EDITOR_BACKGROUND = new RGB(255, 255, 255);
-		
-//		IPreferenceStore sseStore = SSEUIPlugin.getDefault().getPreferenceStore();
-//		EDITOR_CURRENT_LINE = sseStore.getBoolean(AbstractDecoratedTextEditorPreferenceConstants.EDITOR_CURRENT_LINE);
-//		EDITOR_CURRENT_LINE_COLOR = PreferenceConverter.getColor(sseStore, AbstractDecoratedTextEditorPreferenceConstants.EDITOR_CURRENT_LINE_COLOR);
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/style/jspel/JSPELWhitespaceDetector.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/style/jspel/JSPELWhitespaceDetector.java
deleted file mode 100644
index 5c2345d..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/style/jspel/JSPELWhitespaceDetector.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.style.jspel;
-
-
-
-/**
- * A java aware white space detector.
- */
-public class JSPELWhitespaceDetector implements org.eclipse.jface.text.rules.IWhitespaceDetector {
-
-	/**
-	 * @see org.eclipse.jface.text.rules.IWhitespaceDetector#isWhitespace
-	 */
-	public boolean isWhitespace(char c) {
-		return Character.isWhitespace(c);
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/style/jspel/JSPELWordDetector.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/style/jspel/JSPELWordDetector.java
deleted file mode 100644
index 4676e23..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/style/jspel/JSPELWordDetector.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.style.jspel;
-
-
-/**
- * A Java aware word detector.
- */
-public class JSPELWordDetector implements org.eclipse.jface.text.rules.IWordDetector {
-
-	/**
-	 * @see org.eclipse.jface.text.rules.IWordDetector#isWordIdentifierPart
-	 */
-	public boolean isWordPart(char c) {
-		return Character.isJavaIdentifierPart(c);
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.rules.IWordDetector#isWordIdentifierStart
-	 */
-	public boolean isWordStart(char c) {
-		return Character.isJavaIdentifierStart(c);
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/style/jspel/LineStyleProviderForJSPEL.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/style/jspel/LineStyleProviderForJSPEL.java
deleted file mode 100644
index 64227ec..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/style/jspel/LineStyleProviderForJSPEL.java
+++ /dev/null
@@ -1,205 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.style.jspel;
-
-import java.util.Collection;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITypedRegion;
-import org.eclipse.jface.text.TextAttribute;
-import org.eclipse.jface.text.rules.IToken;
-import org.eclipse.jface.text.rules.RuleBasedScanner;
-import org.eclipse.jface.text.rules.Token;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-import org.eclipse.swt.custom.StyleRange;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.wst.html.ui.internal.style.IStyleConstantsHTML;
-import org.eclipse.wst.sse.ui.internal.provisional.style.AbstractLineStyleProvider;
-import org.eclipse.wst.sse.ui.internal.provisional.style.LineStyleProvider;
-import org.eclipse.wst.sse.ui.internal.util.EditorUtility;
-import org.eclipse.wst.xml.ui.internal.style.IStyleConstantsXML;
-import org.w3c.dom.Node;
-
-// Note: many of the methods in this class were based on (or copied from) those
-// found in the example Java Editor
-public class LineStyleProviderForJSPEL extends AbstractLineStyleProvider implements LineStyleProvider{
-
-	private IDocument fDocument;
-	/** The scanner it uses */
-	protected RuleBasedScanner fScanner;
-	/** The default text attribute if non is returned as data by the current token */
-	protected TextAttribute fDefaultTextAttribute;
-	protected Node targetNode;
-
-	public LineStyleProviderForJSPEL() {
-		super();
-		loadColors();
-		fScanner = new JSPELCodeScanner();
-		fDefaultTextAttribute = new TextAttribute(EditorUtility.getColor(JSPELColorProvider.DEFAULT));
-	}
-
-	/**
-	 * Adds style information to the given text presentation.
-	 *
-	 * @param presentation the text presentation to be extended
-	 * @param offset the offset of the range to be styled
-	 * @param length the length of the range to be styled
-	 * @param attr the attribute describing the style of the range to be styled
-	 */
-	protected void addRange(Collection presentation, int offset, int length, TextAttribute attr) {
-		
-		Point range = getHighlighter().getTextViewer().getSelectedRange();
-		int caret = range.x;
-		int selection = range.y;
-		IDocument doc = getDocument();
-		Color bg = attr.getBackground();
-		// all editors use same background color
-//		// if current line highlight on, use line highlight color for background
-//		if(JavaColorProvider.EDITOR_CURRENT_LINE && selection == 1) {
-//			try {
-//				IRegion lineRegion = doc.getLineInformation(doc.getLineOfOffset(caret));
-//				if(lineRegion.getOffset()<=offset && offset<=lineRegion.getOffset()+lineRegion.getLength())
-//					bg = EditorUtility.getColor(JavaColorProvider.EDITOR_CURRENT_LINE_COLOR);
-//						
-//			} catch (BadLocationException e) {
-//				Logger.logException(e);
-//			}
-//		}
-		
-		presentation.add(new StyleRange(offset, length, attr.getForeground(), bg, attr.getStyle()));
-	}
-
-	protected void clearColors() {
-		getTextAttributes().clear();
-	}
-
-	/**
-	 * Returns a text attribute encoded in the given token. If the token's
-	 * data is not <code>null</code> and a text attribute it is assumed that
-	 * it is the encoded text attribute. It returns the default text attribute
-	 * if there is no encoded text attribute found.
-	 *
-	 * @param token the token whose text attribute is to be determined
-	 * @return the token's text attribute
-	 */
-	protected TextAttribute getTokenTextAttribute(IToken token) {
-		Object data = token.getData();
-		if (data instanceof TextAttribute)
-			return (TextAttribute) data;
-		return fDefaultTextAttribute;
-	}
-
-	protected void loadColors() {
-		clearColors();
-		
-		addTextAttribute(IStyleConstantsHTML.SCRIPT_AREA_BORDER);
-		addTextAttribute(IStyleConstantsXML.TAG_ATTRIBUTE_NAME);
-		addTextAttribute(IStyleConstantsXML.TAG_ATTRIBUTE_VALUE);
-	}
-
-	protected void handlePropertyChange(PropertyChangeEvent event) {
-		String styleKey = null;
-
-		if (event != null) {
-			String prefKey = event.getProperty();
-			// check if preference changed is a style preference
-			if (IStyleConstantsHTML.SCRIPT_AREA_BORDER.equals(prefKey)) {
-				styleKey = IStyleConstantsHTML.SCRIPT_AREA_BORDER;
-			}
-			else if (IStyleConstantsXML.TAG_ATTRIBUTE_NAME.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.TAG_ATTRIBUTE_NAME;
-			}
-			else if (IStyleConstantsXML.TAG_ATTRIBUTE_VALUE.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.TAG_ATTRIBUTE_VALUE;
-			}
-		}
-
-		if (styleKey != null) {
-			// overwrite style preference with new value
-			addTextAttribute(styleKey);
-			super.handlePropertyChange(event);
-		}
-	}
-
-	public boolean prepareRegions(ITypedRegion typedRegion, int ssssrequestedStart, int ssssrequestedLength, Collection holdResults) {
-		boolean result = true;
-		try {
-			// ideally, eventually, we'll have a "virtualDocument" we can 
-			// refer to, but for now ... we'll simple rescan the one region.
-			// use simple adjustment (since "sub-content" starts at 0
-			int offsetAdjustment = typedRegion.getOffset();
-			String content = super.getDocument().get(typedRegion.getOffset(), typedRegion.getLength());
-			IDocument document = new Document(content);
-			this.setDocument(document);
-
-			int lastStart = 0;
-			int length = 0;
-			IToken lastToken = Token.UNDEFINED;
-
-			int remainingLength = typedRegion.getLength();
-			fScanner.setRange(fDocument, lastStart, remainingLength);
-
-			while (true) {
-
-				IToken token = fScanner.nextToken();
-
-				if (token.isEOF()) {
-					if (!lastToken.isUndefined() && length != 0)
-						addRange(holdResults, lastStart + offsetAdjustment, length, getTokenTextAttribute(lastToken));
-					break;
-				}
-
-				if (token.isWhitespace()) {
-					length += fScanner.getTokenLength();
-					continue;
-				}
-
-				if (lastToken.isUndefined()) {
-					lastToken = token;
-					length += fScanner.getTokenLength();
-					continue;
-				}
-
-				if (token != lastToken) {
-					addRange(holdResults, lastStart + offsetAdjustment, length, getTokenTextAttribute(lastToken));
-					lastToken = token;
-					lastStart = fScanner.getTokenOffset();
-					length = fScanner.getTokenLength();
-					continue;
-				}
-
-				length += fScanner.getTokenLength();
-			}
-		}
-		catch (BadLocationException e) {
-			// shouldn't happen, but we don't want it to stop other highlighting, if it does.
-			result = false;
-		}
-		return result;
-	}
-	
-	protected IPreferenceStore getColorPreferences() {
-		return JSPUIPlugin.getDefault().getPreferenceStore();
-	}
-	
-	protected void setDocument(IDocument document) {
-		fDocument = document;
-	}
-
-	public void setTargetNode(org.w3c.dom.Node newTargetNode) {
-		targetNode = newTargetNode;
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/taginfo/HTMLPrinter.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/taginfo/HTMLPrinter.java
deleted file mode 100644
index 149f08f..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/taginfo/HTMLPrinter.java
+++ /dev/null
@@ -1,208 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.taginfo;
-
-
-import java.io.IOException;
-import java.io.Reader;
-import java.net.URL;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.SWTError;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Display;
-
-
-/**
- * Provides a set of convenience methods for creating HTML pages.
- * Copied from org.eclipse.jdt.internal.ui.text.HTMLPrinter
- */
-class HTMLPrinter {
-	
-	private static RGB BG_COLOR_RGB= null;
-	
-	static {
-		final Display display= Display.getDefault();
-		if (display != null && !display.isDisposed()) {
-			try {
-				display.asyncExec(new Runnable() {
-					/*
-					 * @see java.lang.Runnable#run()
-					 */
-					public void run() {
-						BG_COLOR_RGB= display.getSystemColor(SWT.COLOR_INFO_BACKGROUND).getRGB();
-					}
-				});
-			} catch (SWTError err) {
-				// see: https://bugs.eclipse.org/bugs/show_bug.cgi?id=45294
-				if (err.code != SWT.ERROR_DEVICE_DISPOSED)
-					throw err;
-			}
-		}
-	}
-			
-	private HTMLPrinter() {
-	}
-	
-	private static String replace(String text, char c, String s) {
-				
-		int previous= 0;
-		int current= text.indexOf(c, previous);
-		
-		if (current == -1)
-			return text;
-		
-		StringBuffer buffer= new StringBuffer();	
-		while (current > -1) {
-			buffer.append(text.substring(previous, current));
-			buffer.append(s);
-			previous= current + 1;
-			current= text.indexOf(c, previous);
-		}
-		buffer.append(text.substring(previous));
-		
-		return buffer.toString();
-	}
-	
-	public static String convertToHTMLContent(String content) {
-		content= replace(content, '<', "&lt;"); //$NON-NLS-1$
-		return replace(content, '>', "&gt;"); //$NON-NLS-1$
-	}
-	
-	public static String read(Reader rd) {
-		
-		StringBuffer buffer= new StringBuffer();
-		char[] readBuffer= new char[2048];
-		
-		try {
-			int n= rd.read(readBuffer);
-			while (n > 0) {
-				buffer.append(readBuffer, 0, n);
-				n= rd.read(readBuffer);
-			}
-			return buffer.toString();
-		} catch (IOException x) {
-		}
-		
-		return null;
-	}
-
-	public static void insertPageProlog(StringBuffer buffer, int position, RGB bgRGB, URL styleSheetURL) {
-		
-		if (bgRGB == null)
-			insertPageProlog(buffer, position, styleSheetURL);
-		else {
-			StringBuffer pageProlog= new StringBuffer(300);
-			
-			pageProlog.append("<html>"); //$NON-NLS-1$
-			
-			appendStyleSheetLink(pageProlog, styleSheetURL);
-			
-			pageProlog.append("<body text=\"#000000\" bgcolor=\""); //$NON-NLS-1$
-			appendColor(pageProlog, bgRGB);
-			pageProlog.append("\"><font size=-1>"); //$NON-NLS-1$
-			
-			buffer.insert(position,  pageProlog.toString());
-		}
-	}
-	
-	public static void insertPageProlog(StringBuffer buffer, int position, RGB bgRGB) {
-		if (bgRGB == null)
-			insertPageProlog(buffer, position);
-		else {
-			StringBuffer pageProlog= new StringBuffer(60);
-			pageProlog.append("<html><body text=\"#000000\" bgcolor=\""); //$NON-NLS-1$
-			appendColor(pageProlog, bgRGB);
-			pageProlog.append("\"><font size=-1>"); //$NON-NLS-1$
-			buffer.insert(position,  pageProlog.toString());
-		}
-	}
-	
-	private static void appendStyleSheetLink(StringBuffer buffer, URL styleSheetURL) {
-		if (styleSheetURL == null)
-			return;
-
-		buffer.append("<head>"); //$NON-NLS-1$
-		
-		buffer.append("<LINK REL=\"stylesheet\" HREF= \""); //$NON-NLS-1$
-		buffer.append(styleSheetURL);
-		buffer.append("\" CHARSET=\"ISO-8859-1\" TYPE=\"text/css\">"); //$NON-NLS-1$
-
-		buffer.append("</head>"); //$NON-NLS-1$
-	}
-	
-	private static void appendColor(StringBuffer buffer, RGB rgb) {
-		buffer.append('#');
-		buffer.append(Integer.toHexString(rgb.red));
-		buffer.append(Integer.toHexString(rgb.green));
-		buffer.append(Integer.toHexString(rgb.blue));
-	}
-
-	public static void insertPageProlog(StringBuffer buffer, int position) {
-		insertPageProlog(buffer, position, getBgColor()); //$NON-NLS-1$
-	}
-	
-	public static void insertPageProlog(StringBuffer buffer, int position, URL styleSheetURL) {
-		insertPageProlog(buffer, position, getBgColor(), styleSheetURL); //$NON-NLS-1$
-	}
-	
-	private static RGB getBgColor() {
-		if (BG_COLOR_RGB != null)
-			return BG_COLOR_RGB;
-		else
-			return new RGB(255,255, 225); // RGB value of info bg color on WindowsXP
-		
-	}
-	
-	public static void addPageProlog(StringBuffer buffer) {
-		insertPageProlog(buffer, buffer.length());
-	}
-	
-	public static void addPageEpilog(StringBuffer buffer) {
-		buffer.append("</font></body></html>"); //$NON-NLS-1$
-	}
-	
-	public static void startBulletList(StringBuffer buffer) {
-		buffer.append("<ul>"); //$NON-NLS-1$
-	}
-	
-	public static void endBulletList(StringBuffer buffer) {
-		buffer.append("</ul>"); //$NON-NLS-1$
-	}
-	
-	public static void addBullet(StringBuffer buffer, String bullet) {
-		if (bullet != null) {
-			buffer.append("<li>"); //$NON-NLS-1$
-			buffer.append(bullet);
-			buffer.append("</li>"); //$NON-NLS-1$
-		}
-	}
-	
-	public static void addSmallHeader(StringBuffer buffer, String header) {
-		if (header != null) {
-			buffer.append("<h5>"); //$NON-NLS-1$
-			buffer.append(header);
-			buffer.append("</h5>"); //$NON-NLS-1$
-		}
-	}
-	
-	public static void addParagraph(StringBuffer buffer, String paragraph) {
-		if (paragraph != null) {
-			buffer.append("<p>"); //$NON-NLS-1$
-			buffer.append(paragraph);
-		}
-	}
-	
-	public static void addParagraph(StringBuffer buffer, Reader paragraphReader) {
-		if (paragraphReader != null)
-			addParagraph(buffer, read(paragraphReader));
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/taginfo/JSPBestMatchHoverProcessor.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/taginfo/JSPBestMatchHoverProcessor.java
deleted file mode 100644
index e6f53f6..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/taginfo/JSPBestMatchHoverProcessor.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.taginfo;
-
-import org.eclipse.jface.text.ITextHover;
-import org.eclipse.wst.sse.ui.internal.taginfo.AbstractBestMatchHoverProcessor;
-
-/**
- * Provides the best jsp hover help documentation (by using other hover help processors)
- * Priority of hover help processors is:
- * AnnotationHoverProcessor, JSPTagInfoHoverProcessor
- */
-public class JSPBestMatchHoverProcessor extends AbstractBestMatchHoverProcessor {
-	JSPTagInfoHoverProcessor fTagInfoHover;
-
-	protected ITextHover getTagInfoHover() {
-		if (fTagInfoHover == null) {
-			fTagInfoHover = new JSPTagInfoHoverProcessor();
-		}
-		return fTagInfoHover;
-	}
-
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/taginfo/JSPJavaBestMatchHoverProcessor.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/taginfo/JSPJavaBestMatchHoverProcessor.java
deleted file mode 100644
index 608686c..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/taginfo/JSPJavaBestMatchHoverProcessor.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.taginfo;
-
-import org.eclipse.jface.text.ITextHover;
-import org.eclipse.wst.sse.ui.internal.taginfo.AbstractBestMatchHoverProcessor;
-
-/**
- * Provides the best jsp java hover help documentation (by using other hover help processors)
- * Priority of hover help processors is:
- * AnnotationHoverProcessor, JSPJavaJavadocHover
- */
-public class JSPJavaBestMatchHoverProcessor extends AbstractBestMatchHoverProcessor {
-	private JSPJavaJavadocHoverProcessor fTagInfoHover;
-
-	protected ITextHover getTagInfoHover() {
-		if (fTagInfoHover == null) {
-			fTagInfoHover = new JSPJavaJavadocHoverProcessor();
-		}
-		return fTagInfoHover;
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/taginfo/JSPJavaJavadocHoverProcessor.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/taginfo/JSPJavaJavadocHoverProcessor.java
deleted file mode 100644
index 7ee1293..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/taginfo/JSPJavaJavadocHoverProcessor.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.taginfo;
-
-import java.io.Reader;
-
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IMember;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.ui.JavaElementLabels;
-import org.eclipse.jdt.ui.JavadocContentAccess;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextHover;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jst.jsp.core.internal.java.IJSPTranslation;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslation;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslationAdapter;
-import org.eclipse.wst.sse.core.internal.provisional.StructuredModelManager;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-
-/**
- * Provides javadoc hover help documentation for java code inside JSPs
- */
-public class JSPJavaJavadocHoverProcessor implements ITextHover {
-	private final long LABEL_FLAGS=  JavaElementLabels.ALL_FULLY_QUALIFIED
-	| JavaElementLabels.M_PRE_RETURNTYPE | JavaElementLabels.M_PARAMETER_TYPES | JavaElementLabels.M_PARAMETER_NAMES | JavaElementLabels.M_EXCEPTIONS 
-	| JavaElementLabels.F_PRE_TYPE_SIGNATURE;
-	
-	private String getInfoText(IJavaElement member) {
-		String label= JavaElementLabels.getElementLabel(member, LABEL_FLAGS);
-		StringBuffer buf= new StringBuffer();
-		for (int i= 0; i < label.length(); i++) {
-			char ch= label.charAt(i);
-			if (ch == '<') {
-				buf.append("&lt;"); //$NON-NLS-1$
-			} else if (ch == '>') {
-				buf.append("&gt;"); //$NON-NLS-1$
-			} else {
-				buf.append(ch);
-			}
-		}
-		return buf.toString();
-	}
-	
-	private String getHoverInfo(IJavaElement[] result) {
-		StringBuffer buffer= new StringBuffer();
-		int nResults= result.length;
-		if (nResults == 0)
-			return null;
-		
-		if (nResults > 1) {
-			
-			for (int i= 0; i < result.length; i++) {
-				HTMLPrinter.startBulletList(buffer);
-				IJavaElement curr= result[i];
-				if (curr instanceof IMember || curr.getElementType() == IJavaElement.LOCAL_VARIABLE)
-					HTMLPrinter.addBullet(buffer, getInfoText(curr));
-				HTMLPrinter.endBulletList(buffer);
-			}
-			
-		} else {
-			
-			IJavaElement curr= result[0];
-			if (curr instanceof IMember) {
-				IMember member= (IMember) curr;
-				HTMLPrinter.addSmallHeader(buffer, getInfoText(member));
-				Reader reader;
-				try {
-					reader= JavadocContentAccess.getHTMLContentReader(member, true);
-				} catch (JavaModelException ex) {
-					return null;
-				}
-				if (reader != null) {
-					HTMLPrinter.addParagraph(buffer, reader);
-				}
-			} else if (curr.getElementType() == IJavaElement.LOCAL_VARIABLE)
-				HTMLPrinter.addSmallHeader(buffer, getInfoText(curr));
-		}
-		
-		if (buffer.length() > 0) {
-			HTMLPrinter.insertPageProlog(buffer, 0);
-			HTMLPrinter.addPageEpilog(buffer);
-			return buffer.toString();
-		}
-		
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.ITextHover#getHoverInfo(org.eclipse.jface.text.ITextViewer, org.eclipse.jface.text.IRegion)
-	 */
-	public String getHoverInfo(ITextViewer textViewer, IRegion hoverRegion) {
-		// get JSP translation object for this viewer's document
-		IDOMModel xmlModel = (IDOMModel) StructuredModelManager.getModelManager().getExistingModelForRead(textViewer.getDocument());
-		try {
-			if(xmlModel != null) {
-				IDOMDocument xmlDoc = xmlModel.getDocument();
-				JSPTranslationAdapter adapter = (JSPTranslationAdapter) xmlDoc.getAdapterFor(IJSPTranslation.class);
-				if (adapter != null) {
-					JSPTranslation translation = adapter.getJSPTranslation();
-					IJavaElement[] result = translation.getElementsFromJspRange(hoverRegion.getOffset(), hoverRegion.getOffset() + hoverRegion.getLength());
-					return getHoverInfo(result);
-				}
-			}
-		}
-		finally {
-			if(xmlModel != null) 
-				xmlModel.releaseFromRead();
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.ITextHover#getHoverRegion(org.eclipse.jface.text.ITextViewer, int)
-	 */
-	public IRegion getHoverRegion(ITextViewer textViewer, int offset) {
-		return JavaWordFinder.findWord(textViewer.getDocument(), offset);
-	}
-
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/taginfo/JSPTagInfoHoverProcessor.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/taginfo/JSPTagInfoHoverProcessor.java
deleted file mode 100644
index 2a234ca..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/taginfo/JSPTagInfoHoverProcessor.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.taginfo;
-
-
-
-import org.eclipse.jst.jsp.core.internal.regions.DOMJSPRegionContexts;
-import org.eclipse.wst.html.ui.internal.taginfo.HTMLTagInfoHoverProcessor;
-import org.eclipse.wst.sse.core.internal.provisional.IndexedRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-
-/**
- * Provides hover help documentation for JSP tags
- */
-public class JSPTagInfoHoverProcessor extends HTMLTagInfoHoverProcessor {
-
-	protected String computeRegionHelp(IndexedRegion treeNode, IDOMNode parentNode, IStructuredDocumentRegion flatNode, ITextRegion region) {
-		String result = null;
-
-		if (region == null)
-			return null;
-
-		String regionType = region.getType();
-		if (regionType == DOMJSPRegionContexts.JSP_DIRECTIVE_NAME) {
-			result = computeJSPDirHelp((IDOMNode) treeNode, parentNode, flatNode, region);
-		}
-		else
-			result = super.computeRegionHelp(treeNode, parentNode, flatNode, region);
-
-		return result;
-	}
-
-	/**
-	 * Computes the hover help for the jsp directive name
-	 * for now, treat jsp directives like any other tag name
-	 */
-	protected String computeJSPDirHelp(IDOMNode xmlnode, IDOMNode parentNode, IStructuredDocumentRegion flatNode, ITextRegion region) {
-		return computeTagNameHelp(xmlnode, parentNode, flatNode, region);
-	}
-
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/taginfo/JavaWordFinder.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/taginfo/JavaWordFinder.java
deleted file mode 100644
index d3c5b67..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/taginfo/JavaWordFinder.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.taginfo;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.Region;
-
-/**
- * Copied from org.eclipse.jdt.internal.ui.text.JavaWordFinder
- */
-class JavaWordFinder {
-	
-	public static IRegion findWord(IDocument document, int offset) {
-		
-		int start= -1;
-		int end= -1;
-		
-		
-		try {
-			
-			int pos= offset;
-			char c;
-			
-			while (pos >= 0) {
-				c= document.getChar(pos);
-				if (!Character.isJavaIdentifierPart(c))
-					break;
-				--pos;
-			}
-			
-			start= pos;
-			
-			pos= offset;
-			int length= document.getLength();
-			
-			while (pos < length) {
-				c= document.getChar(pos);
-				if (!Character.isJavaIdentifierPart(c))
-					break;
-				++pos;
-			}
-			
-			end= pos;
-			
-		} catch (BadLocationException x) {
-		}
-		
-		if (start > -1 && end > -1) {
-			if (start == offset && end == offset)
-				return new Region(offset, 0);
-			else if (start == offset)
-				return new Region(start, end - start);
-			else
-				return new Region(start + 1, end - start - 1);
-		}
-		
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/templates/EncodingTemplateVariableResolverJSP.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/templates/EncodingTemplateVariableResolverJSP.java
deleted file mode 100644
index 23b1058..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/templates/EncodingTemplateVariableResolverJSP.java
+++ /dev/null
@@ -1,38 +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 Corporation - initial API and implementation
- *     
- *******************************************************************************/
-package org.eclipse.jst.jsp.ui.internal.templates;
-
-import org.eclipse.jface.text.templates.SimpleTemplateVariableResolver;
-import org.eclipse.jface.text.templates.TemplateContext;
-import org.eclipse.jst.jsp.core.internal.JSPCorePlugin;
-import org.eclipse.jst.jsp.ui.internal.JSPUIMessages;
-import org.eclipse.wst.sse.core.internal.encoding.CommonEncodingPreferenceNames;
-
-
-public class EncodingTemplateVariableResolverJSP extends SimpleTemplateVariableResolver {
-	private static final String ENCODING_TYPE = getEncodingType();
-
-	private static String getEncodingType() {
-		return "encoding"; //$NON-NLS-1$
-	}
-
-	/**
-	 * Creates a new encoding variable
-	 */
-	public EncodingTemplateVariableResolverJSP() {
-		super(ENCODING_TYPE, JSPUIMessages.Creating_files_encoding);
-	}
-
-	protected String resolve(TemplateContext context) {
-		return JSPCorePlugin.getDefault().getPluginPreferences().getString(CommonEncodingPreferenceNames.OUTPUT_CODESET);
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/templates/TemplateContextTypeIdsJSP.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/templates/TemplateContextTypeIdsJSP.java
deleted file mode 100644
index 8e5d9e3..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/templates/TemplateContextTypeIdsJSP.java
+++ /dev/null
@@ -1,50 +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 Corporation - initial API and implementation
- *     
- *******************************************************************************/
-package org.eclipse.jst.jsp.ui.internal.templates;
-
-
-public class TemplateContextTypeIdsJSP {
-
-	public static final String ALL = getAll();
-
-	public static final String ATTRIBUTE = getAttribute();
-
-	public static final String ATTRIBUTE_VALUE = getAttributeValue();
-
-	public static final String NEW = getNew();
-
-	public static final String TAG = getTag();
-
-	private static String getAll() {
-		return getPrefix() + "_all"; //$NON-NLS-1$
-	}
-
-	private static String getAttribute() {
-		return getPrefix() + "_attribute"; //$NON-NLS-1$
-	}
-
-	private static String getAttributeValue() {
-		return getPrefix() + "_attribute_value"; //$NON-NLS-1$
-	}
-
-	private static String getNew() {
-		return getPrefix() + "_new"; //$NON-NLS-1$
-	}
-
-	private static String getPrefix() {
-		return "jsp"; //$NON-NLS-1$
-	}
-
-	private static String getTag() {
-		return getPrefix() + "_tag"; //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/templates/TemplateContextTypeJSP.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/templates/TemplateContextTypeJSP.java
deleted file mode 100644
index a907d25..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/templates/TemplateContextTypeJSP.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.templates;
-
-import org.eclipse.jface.text.templates.GlobalTemplateVariables;
-import org.eclipse.jface.text.templates.TemplateContextType;
-
-/**
- * Base class for JSP template context types. Templates of this context type
- * apply to any place within JSP content type.
- */
-public class TemplateContextTypeJSP extends TemplateContextType {
-	public TemplateContextTypeJSP() {
-		super();
-		addResolver(new GlobalTemplateVariables.Cursor());
-		addResolver(new GlobalTemplateVariables.Date());
-		addResolver(new GlobalTemplateVariables.Dollar());
-		addResolver(new GlobalTemplateVariables.LineSelection());
-		addResolver(new GlobalTemplateVariables.Time());
-		addResolver(new GlobalTemplateVariables.User());
-		addResolver(new GlobalTemplateVariables.WordSelection());
-		addResolver(new GlobalTemplateVariables.Year());
-		addResolver(new EncodingTemplateVariableResolverJSP());
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/text/JSPDocumentRegionEdgeMatcher.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/text/JSPDocumentRegionEdgeMatcher.java
deleted file mode 100644
index ae12677..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/text/JSPDocumentRegionEdgeMatcher.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.text;
-
-import org.eclipse.jst.jsp.core.internal.regions.DOMJSPRegionContexts;
-import org.eclipse.wst.sse.ui.internal.text.DocumentRegionEdgeMatcher;
-import org.eclipse.wst.xml.core.internal.regions.DOMRegionContext;
-
-public class JSPDocumentRegionEdgeMatcher extends DocumentRegionEdgeMatcher {
-
-	protected final static char[] BRACKETS = {'{', '}', '(', ')', '[', ']'};
-
-	/**
-	 * @param validContexts
-	 * @param nextMatcher
-	 */
-	public JSPDocumentRegionEdgeMatcher() {
-		super(new String[]{DOMRegionContext.XML_TAG_NAME, DOMRegionContext.XML_COMMENT_TEXT, DOMJSPRegionContexts.JSP_COMMENT_TEXT, DOMJSPRegionContexts.JSP_DIRECTIVE_NAME, DOMJSPRegionContexts.JSP_ROOT_TAG_NAME, DOMRegionContext.XML_CDATA_TEXT, DOMRegionContext.XML_PI_OPEN, DOMRegionContext.XML_PI_CONTENT}, new JavaPairMatcher(BRACKETS));
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/text/JavaCodeReader.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/text/JavaCodeReader.java
deleted file mode 100644
index ae8a3e0..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/text/JavaCodeReader.java
+++ /dev/null
@@ -1,251 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * Created on Sep 2, 2003
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.jst.jsp.ui.internal.text;
-
-import java.io.IOException;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-
-
-/**
- * Reads from a document either forwards or backwards. May be configured to
- * skip comments and strings.
- * 
- * Copied from org.eclipse.jdt.internal.ui.text so we don't have to
- * depend on the org.eclipse.jdt.ui plugin.
- * 
- * No modifications were made.
- */
-class JavaCodeReader extends SingleCharReader {
-
-	/** The EOF character */
-	public static final int EOF = -1;
-
-	private boolean fSkipComments = false;
-	private boolean fSkipStrings = false;
-	private boolean fForward = false;
-
-	private IDocument fDocument;
-	private int fOffset;
-
-	private int fEnd = -1;
-	private int fCachedLineNumber = -1;
-	private int fCachedLineOffset = -1;
-
-
-	public JavaCodeReader() {
-	}
-
-	/**
-	 * Returns the offset of the last read character. Should only be called after read has been called.
-	 */
-	public int getOffset() {
-		return fForward ? fOffset - 1 : fOffset;
-	}
-
-	public void configureForwardReader(IDocument document, int offset, int length, boolean skipComments, boolean skipStrings) throws IOException {
-		fDocument = document;
-		fOffset = offset;
-		fSkipComments = skipComments;
-		fSkipStrings = skipStrings;
-
-		fForward = true;
-		fEnd = Math.min(fDocument.getLength(), fOffset + length);
-	}
-
-	public void configureBackwardReader(IDocument document, int offset, boolean skipComments, boolean skipStrings) throws IOException {
-		fDocument = document;
-		fOffset = offset;
-		fSkipComments = skipComments;
-		fSkipStrings = skipStrings;
-
-		fForward = false;
-		try {
-			fCachedLineNumber = fDocument.getLineOfOffset(fOffset);
-		}
-		catch (BadLocationException x) {
-			throw new IOException(x.getMessage());
-		}
-	}
-
-	/*
-	 * @see Reader#close()
-	 */
-	public void close() throws IOException {
-		fDocument = null;
-	}
-
-	/*
-	 * @see SingleCharReader#read()
-	 */
-	public int read() throws IOException {
-		try {
-			return fForward ? readForwards() : readBackwards();
-		}
-		catch (BadLocationException x) {
-			throw new IOException(x.getMessage());
-		}
-	}
-
-	private void gotoCommentEnd() throws BadLocationException {
-		while (fOffset < fEnd) {
-			char current = fDocument.getChar(fOffset++);
-			if (current == '*') {
-				if (fOffset < fEnd && fDocument.getChar(fOffset) == '/') {
-					++fOffset;
-					return;
-				}
-			}
-		}
-	}
-
-	private void gotoStringEnd(char delimiter) throws BadLocationException {
-		while (fOffset < fEnd) {
-			char current = fDocument.getChar(fOffset++);
-			if (current == '\\') {
-				// ignore escaped characters
-				++fOffset;
-			}
-			else if (current == delimiter) {
-				return;
-			}
-		}
-	}
-
-	private void gotoLineEnd() throws BadLocationException {
-		int line = fDocument.getLineOfOffset(fOffset);
-		fOffset = fDocument.getLineOffset(line + 1);
-	}
-
-	private int readForwards() throws BadLocationException {
-		while (fOffset < fEnd) {
-			char current = fDocument.getChar(fOffset++);
-
-			switch (current) {
-				case '/' :
-
-					if (fSkipComments && fOffset < fEnd) {
-						char next = fDocument.getChar(fOffset);
-						if (next == '*') {
-							// a comment starts, advance to the comment end
-							++fOffset;
-							gotoCommentEnd();
-							continue;
-						}
-						else if (next == '/') {
-							// '//'-comment starts, advance to the line end
-							gotoLineEnd();
-							continue;
-						}
-					}
-
-					return current;
-
-				case '"' :
-				case '\'' :
-
-					if (fSkipStrings) {
-						gotoStringEnd(current);
-						continue;
-					}
-
-					return current;
-			}
-
-			return current;
-		}
-
-		return EOF;
-	}
-
-	private void handleSingleLineComment() throws BadLocationException {
-		int line = fDocument.getLineOfOffset(fOffset);
-		if (line < fCachedLineNumber) {
-			fCachedLineNumber = line;
-			fCachedLineOffset = fDocument.getLineOffset(line);
-			int offset = fOffset;
-			while (fCachedLineOffset < offset) {
-				char current = fDocument.getChar(offset--);
-				if (current == '/' && fCachedLineOffset <= offset && fDocument.getChar(offset) == '/') {
-					fOffset = offset;
-					return;
-				}
-			}
-		}
-	}
-
-	private void gotoCommentStart() throws BadLocationException {
-		while (0 < fOffset) {
-			char current = fDocument.getChar(fOffset--);
-			if (current == '*' && 0 <= fOffset && fDocument.getChar(fOffset) == '/')
-				return;
-		}
-	}
-
-	private void gotoStringStart(char delimiter) throws BadLocationException {
-		while (0 < fOffset) {
-			char current = fDocument.getChar(fOffset);
-			if (current == delimiter) {
-				if (!(0 <= fOffset && fDocument.getChar(fOffset - 1) == '\\'))
-					return;
-			}
-			--fOffset;
-		}
-	}
-
-	private int readBackwards() throws BadLocationException {
-
-		while (0 < fOffset) {
-			--fOffset;
-
-			handleSingleLineComment();
-
-			char current = fDocument.getChar(fOffset);
-			switch (current) {
-				case '/' :
-
-					if (fSkipComments && fOffset > 1) {
-						char next = fDocument.getChar(fOffset - 1);
-						if (next == '*') {
-							// a comment ends, advance to the comment start
-							fOffset -= 2;
-							gotoCommentStart();
-							continue;
-						}
-					}
-
-					return current;
-
-				case '"' :
-				case '\'' :
-
-					if (fSkipStrings) {
-						--fOffset;
-						gotoStringStart(current);
-						continue;
-					}
-
-					return current;
-			}
-
-			return current;
-		}
-
-		return EOF;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/text/JavaPairMatcher.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/text/JavaPairMatcher.java
deleted file mode 100644
index 0a55e93..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/text/JavaPairMatcher.java
+++ /dev/null
@@ -1,202 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.text;
-
-import java.io.IOException;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.Region;
-import org.eclipse.jface.text.source.ICharacterPairMatcher;
-
-
-/**
- * Helper class for match pairs of characters.
- *
- * Copied from org.eclipse.jdt.internal.ui.text so we don't have to
- * depend on the org.eclipse.jdt.ui plugin.
- * 
- * No modifications were made.
- */
-class JavaPairMatcher implements ICharacterPairMatcher {
-
-	protected char[] fPairs;
-	protected IDocument fDocument;
-	protected int fOffset;
-
-	protected int fStartPos;
-	protected int fEndPos;
-	protected int fAnchor;
-
-	protected JavaCodeReader fReader = new JavaCodeReader();
-
-
-	public JavaPairMatcher(char[] pairs) {
-		fPairs = pairs;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.source.ICharacterPairMatcher#match(org.eclipse.jface.text.IDocument, int)
-	 */
-	public IRegion match(IDocument document, int offset) {
-
-		fOffset = offset;
-
-		if (fOffset < 0)
-			return null;
-
-		fDocument = document;
-
-		if (fDocument != null && matchPairsAt() && fStartPos != fEndPos)
-			return new Region(fStartPos, fEndPos - fStartPos + 1);
-
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.source.ICharacterPairMatcher#getAnchor()
-	 */
-	public int getAnchor() {
-		return fAnchor;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.source.ICharacterPairMatcher#dispose()
-	 */
-	public void dispose() {
-		clear();
-		fDocument = null;
-		fReader = null;
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.source.ICharacterPairMatcher#clear()
-	 */
-	public void clear() {
-		if (fReader != null) {
-			try {
-				fReader.close();
-			}
-			catch (IOException x) {
-				// ignore
-			}
-		}
-	}
-
-	protected boolean matchPairsAt() {
-
-		int i;
-		int pairIndex1 = fPairs.length;
-		int pairIndex2 = fPairs.length;
-
-		fStartPos = -1;
-		fEndPos = -1;
-
-		// get the chars preceding and following the start position
-		try {
-
-			char prevChar = fDocument.getChar(Math.max(fOffset - 1, 0));
-			// modified behavior for http://dev.eclipse.org/bugs/show_bug.cgi?id=16879			
-			//			char nextChar= fDocument.getChar(fOffset);
-
-			// search for opening peer character next to the activation point
-			for (i = 0; i < fPairs.length; i = i + 2) {
-				//				if (nextChar == fPairs[i]) {
-				//					fStartPos= fOffset;
-				//					pairIndex1= i;
-				//				} else 
-				if (prevChar == fPairs[i]) {
-					fStartPos = fOffset - 1;
-					pairIndex1 = i;
-				}
-			}
-
-			// search for closing peer character next to the activation point
-			for (i = 1; i < fPairs.length; i = i + 2) {
-				if (prevChar == fPairs[i]) {
-					fEndPos = fOffset - 1;
-					pairIndex2 = i;
-				}
-				//				else if (nextChar == fPairs[i]) {
-				//					fEndPos= fOffset;
-				//					pairIndex2= i;
-				//				}
-			}
-
-			if (fEndPos > -1) {
-				fAnchor = RIGHT;
-				fStartPos = searchForOpeningPeer(fEndPos, fPairs[pairIndex2 - 1], fPairs[pairIndex2], fDocument);
-				if (fStartPos > -1)
-					return true;
-				else
-					fEndPos = -1;
-			}
-			else if (fStartPos > -1) {
-				fAnchor = LEFT;
-				fEndPos = searchForClosingPeer(fStartPos, fPairs[pairIndex1], fPairs[pairIndex1 + 1], fDocument);
-				if (fEndPos > -1)
-					return true;
-				else
-					fStartPos = -1;
-			}
-
-		}
-		catch (BadLocationException x) {
-		}
-		catch (IOException x) {
-		}
-
-		return false;
-	}
-
-	protected int searchForClosingPeer(int offset, int openingPeer, int closingPeer, IDocument document) throws IOException {
-
-		fReader.configureForwardReader(document, offset + 1, document.getLength(), true, true);
-
-		int stack = 1;
-		int c = fReader.read();
-		while (c != JavaCodeReader.EOF) {
-			if (c == openingPeer && c != closingPeer)
-				stack++;
-			else if (c == closingPeer)
-				stack--;
-
-			if (stack == 0)
-				return fReader.getOffset();
-
-			c = fReader.read();
-		}
-
-		return -1;
-	}
-
-	protected int searchForOpeningPeer(int offset, int openingPeer, int closingPeer, IDocument document) throws IOException {
-
-		fReader.configureBackwardReader(document, offset, true, true);
-
-		int stack = 1;
-		int c = fReader.read();
-		while (c != JavaCodeReader.EOF) {
-			if (c == closingPeer && c != openingPeer)
-				stack++;
-			else if (c == openingPeer)
-				stack--;
-
-			if (stack == 0)
-				return fReader.getOffset();
-
-			c = fReader.read();
-		}
-
-		return -1;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/text/SingleCharReader.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/text/SingleCharReader.java
deleted file mode 100644
index 8b9abff..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/text/SingleCharReader.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.text;
-
-
-
-//package org.eclipse.jdt.internal.corext.javadoc;
-// todo: this class is copied from the above package until it is made non-internal.  Until that time, check that class occassionally for bugfixes.
-
-
-
-import java.io.IOException;
-import java.io.Reader;
-
-abstract class SingleCharReader extends Reader {
-
-
-	/**
-	 * @see Reader#read(char)
-	 */
-	public abstract int read() throws IOException;
-
-	/**
-	 * @see Reader#read(char[],int,int)
-	 */
-	public int read(char cbuf[], int off, int len) throws IOException {
-		int end = off + len;
-		for (int i = off; i < end; i++) {
-			int ch = read();
-			if (ch == -1) {
-				if (i == off) {
-					return -1;
-				}
-				else {
-					return i - off;
-				}
-			}
-			cbuf[i] = (char) ch;
-		}
-		return len;
-	}
-
-	/**
-	 * @see Reader#ready()
-	 */
-	public boolean ready() throws IOException {
-		return true;
-	}
-
-	/**
-	 * Gets the content as a String
-	 */
-	public String getString() throws IOException {
-		StringBuffer buf = new StringBuffer();
-		int ch;
-		while ((ch = read()) != -1) {
-			buf.append((char) ch);
-		}
-		return buf.toString();
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/views/contentoutline/JSPContentOutlineConfiguration.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/views/contentoutline/JSPContentOutlineConfiguration.java
deleted file mode 100644
index f8c9285..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/views/contentoutline/JSPContentOutlineConfiguration.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.jst.jsp.ui.internal.views.contentoutline;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-import org.eclipse.wst.html.ui.internal.views.contentoutline.HTMLContentOutlineConfiguration;
-
-//public class JSPContentOutlineConfiguration extends StructuredContentOutlineConfiguration {
-public class JSPContentOutlineConfiguration extends HTMLContentOutlineConfiguration {
-
-	//	private static final String ATT_CLASS = "class"; //$NON-NLS-1$
-
-	// TODO: Automate the loading of a real configuration based on the model type at
-	// creation time; clear on unConfigure so that a new embedded configuration can
-	// be used
-	//private StructuredContentOutlineConfiguration fEmbeddedConfiguration = null;
-
-	/**
-	 * @param editor
-	 */
-	public JSPContentOutlineConfiguration() {
-		super();
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.sse.ui.views.contentoutline.StructuredContentOutlineConfiguration#getPreferenceStore()
-	 */
-	protected IPreferenceStore getPreferenceStore() {
-		return JSPUIPlugin.getDefault().getPreferenceStore();
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/wizard/NewJSPTemplatesWizardPage.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/wizard/NewJSPTemplatesWizardPage.java
deleted file mode 100644
index 638e0a7..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/wizard/NewJSPTemplatesWizardPage.java
+++ /dev/null
@@ -1,471 +0,0 @@
-package org.eclipse.jst.jsp.ui.internal.wizard;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.preference.PreferenceDialog;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.source.SourceViewer;
-import org.eclipse.jface.text.source.SourceViewerConfiguration;
-import org.eclipse.jface.text.templates.DocumentTemplateContext;
-import org.eclipse.jface.text.templates.Template;
-import org.eclipse.jface.text.templates.TemplateBuffer;
-import org.eclipse.jface.text.templates.TemplateContext;
-import org.eclipse.jface.text.templates.TemplateContextType;
-import org.eclipse.jface.text.templates.persistence.TemplateStore;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.jst.jsp.ui.internal.JSPUIMessages;
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-import org.eclipse.jst.jsp.ui.internal.Logger;
-import org.eclipse.jst.jsp.ui.internal.preferences.JSPUIPreferenceNames;
-import org.eclipse.jst.jsp.ui.internal.templates.TemplateContextTypeIdsJSP;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ControlAdapter;
-import org.eclipse.swt.events.ControlEvent;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-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.swt.widgets.Link;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.ui.dialogs.PreferencesUtil;
-
-/**
- * Templates page in new file wizard. Allows users to select a new file
- * template to be applied in new file.
- * 
- */
-public class NewJSPTemplatesWizardPage extends WizardPage {
-
-	/**
-	 * Content provider for templates
-	 */
-	private class TemplateContentProvider implements IStructuredContentProvider {
-		/** The template store. */
-		private TemplateStore fStore;
-
-		/*
-		 * @see IContentProvider#dispose()
-		 */
-		public void dispose() {
-			fStore = null;
-		}
-
-		/*
-		 * @see IStructuredContentProvider#getElements(Object)
-		 */
-		public Object[] getElements(Object input) {
-			return fStore.getTemplates(TemplateContextTypeIdsJSP.NEW);
-		}
-
-		/*
-		 * @see IContentProvider#inputChanged(Viewer, Object, Object)
-		 */
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-			fStore = (TemplateStore) newInput;
-		}
-	}
-
-	/**
-	 * Label provider for templates.
-	 */
-	private class TemplateLabelProvider extends LabelProvider implements ITableLabelProvider {
-
-		/*
-		 * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnImage(java.lang.Object,
-		 *      int)
-		 */
-		public Image getColumnImage(Object element, int columnIndex) {
-			return null;
-		}
-
-		/*
-		 * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object,
-		 *      int)
-		 */
-		public String getColumnText(Object element, int columnIndex) {
-			Template template = (Template) element;
-
-			switch (columnIndex) {
-				case 0 :
-					return template.getName();
-				case 1 :
-					return template.getDescription();
-				default :
-					return ""; //$NON-NLS-1$
-			}
-		}
-	}
-
-	/** Last selected template name */
-	private String fLastSelectedTemplateName;
-	/** The viewer displays the pattern of selected template. */
-	private SourceViewer fPatternViewer;
-	/** The table presenting the templates. */
-	private TableViewer fTableViewer;
-	/** Template store used by this wizard page */
-	private TemplateStore fTemplateStore;
-	/** Checkbox for using templates. */
-	private Button fUseTemplateButton;
-
-	public NewJSPTemplatesWizardPage() {
-		super("NewJSPTemplatesWizardPage", JSPUIMessages.NewJSPTemplatesWizardPage_0, null); //$NON-NLS-1$
-		setDescription(JSPUIMessages.NewJSPTemplatesWizardPage_1);
-	}
-
-	/**
-	 * Correctly resizes the table so no phantom columns appear
-	 * 
-	 * @param parent
-	 *            the parent control
-	 * @param buttons
-	 *            the buttons
-	 * @param table
-	 *            the table
-	 * @param column1
-	 *            the first column
-	 * @param column2
-	 *            the second column
-	 * @param column3
-	 *            the third column
-	 */
-	private void configureTableResizing(final Composite parent, final Table table, final TableColumn column1, final TableColumn column2) {
-		parent.addControlListener(new ControlAdapter() {
-			public void controlResized(ControlEvent e) {
-				Rectangle area = parent.getClientArea();
-				Point preferredSize = table.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-				int width = area.width - 2 * table.getBorderWidth();
-				if (preferredSize.y > area.height) {
-					// Subtract the scrollbar width from the total column
-					// width
-					// if a vertical scrollbar will be required
-					Point vBarSize = table.getVerticalBar().getSize();
-					width -= vBarSize.x;
-				}
-
-				Point oldSize = table.getSize();
-				if (oldSize.x > width) {
-					// table is getting smaller so make the columns
-					// smaller first and then resize the table to
-					// match the client area width
-					column1.setWidth(width / 2);
-					column2.setWidth(width / 2);
-					table.setSize(width, area.height);
-				}
-				else {
-					// table is getting bigger so make the table
-					// bigger first and then make the columns wider
-					// to match the client area width
-					table.setSize(width, area.height);
-					column1.setWidth(width / 2);
-					column2.setWidth(width / 2);
-				}
-			}
-		});
-	}
-
-	public void createControl(Composite ancestor) {
-		Composite parent = new Composite(ancestor, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		parent.setLayout(layout);
-
-		// create checkbox for user to use JSP Template
-		fUseTemplateButton = new Button(parent, SWT.CHECK);
-		fUseTemplateButton.setText(JSPUIMessages.NewJSPTemplatesWizardPage_4);
-		GridData data = new GridData(SWT.FILL, SWT.FILL, true, false, 2, 1);
-		fUseTemplateButton.setLayoutData(data);
-		fUseTemplateButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				enableTemplates();
-			}
-		});
-
-		// create composite for Templates table
-		Composite innerParent = new Composite(parent, SWT.NONE);
-		GridLayout innerLayout = new GridLayout();
-		innerLayout.numColumns = 2;
-		innerLayout.marginHeight = 0;
-		innerLayout.marginWidth = 0;
-		innerParent.setLayout(innerLayout);
-		GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1);
-		innerParent.setLayoutData(gd);
-
-		// Create linked text to just to templates preference page
-		Link link = new Link(innerParent, SWT.NONE);
-		link.setText(JSPUIMessages.NewJSPTemplatesWizardPage_6);
-		data = new GridData(SWT.FILL, SWT.FILL, true, false, 2, 1);
-		link.setLayoutData(data);
-		link.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				linkClicked();
-			}
-		});
-
-		// create table that displays templates
-		Table table = new Table(innerParent, SWT.BORDER | SWT.FULL_SELECTION);
-
-		data = new GridData(GridData.FILL_BOTH);
-		data.widthHint = convertWidthInCharsToPixels(2);
-		data.heightHint = convertHeightInCharsToPixels(10);
-		data.horizontalSpan = 2;
-		table.setLayoutData(data);
-		table.setHeaderVisible(true);
-		table.setLinesVisible(true);
-		TableLayout tableLayout = new TableLayout();
-		table.setLayout(tableLayout);
-
-		TableColumn column1 = new TableColumn(table, SWT.NONE);
-		column1.setText(JSPUIMessages.NewJSPTemplatesWizardPage_2);
-
-		TableColumn column2 = new TableColumn(table, SWT.NONE);
-		column2.setText(JSPUIMessages.NewJSPTemplatesWizardPage_3);
-
-		fTableViewer = new TableViewer(table);
-		fTableViewer.setLabelProvider(new TemplateLabelProvider());
-		fTableViewer.setContentProvider(new TemplateContentProvider());
-
-		fTableViewer.setSorter(new ViewerSorter() {
-			public int compare(Viewer viewer, Object object1, Object object2) {
-				if ((object1 instanceof Template) && (object2 instanceof Template)) {
-					Template left = (Template) object1;
-					Template right = (Template) object2;
-					int result = left.getName().compareToIgnoreCase(right.getName());
-					if (result != 0)
-						return result;
-					return left.getDescription().compareToIgnoreCase(right.getDescription());
-				}
-				return super.compare(viewer, object1, object2);
-			}
-
-			public boolean isSorterProperty(Object element, String property) {
-				return true;
-			}
-		});
-
-		fTableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent e) {
-				updateViewerInput();
-			}
-		});
-
-		// create viewer that displays currently selected template's contents
-		fPatternViewer = doCreateViewer(parent);
-
-		fTemplateStore = JSPUIPlugin.getDefault().getTemplateStore();
-		fTableViewer.setInput(fTemplateStore);
-
-		configureTableResizing(innerParent, table, column1, column2);
-		loadLastSavedPreferences();
-
-		Dialog.applyDialogFont(parent);
-		setControl(parent);
-	}
-
-	/**
-	 * Creates, configures and returns a source viewer to present the template
-	 * pattern on the preference page. Clients may override to provide a
-	 * custom source viewer featuring e.g. syntax coloring.
-	 * 
-	 * @param parent
-	 *            the parent control
-	 * @return a configured source viewer
-	 */
-	private SourceViewer createViewer(Composite parent) {
-		SourceViewer viewer = new SourceViewer(parent, null, null, false, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
-		SourceViewerConfiguration configuration = new SourceViewerConfiguration();
-		viewer.configure(configuration);
-		IDocument document = new Document();
-		viewer.setDocument(document);
-		return viewer;
-	}
-
-	private SourceViewer doCreateViewer(Composite parent) {
-		Label label = new Label(parent, SWT.NONE);
-		label.setText(JSPUIMessages.NewJSPTemplatesWizardPage_5);
-		GridData data = new GridData();
-		data.horizontalSpan = 2;
-		label.setLayoutData(data);
-
-		SourceViewer viewer = createViewer(parent);
-		viewer.setEditable(false);
-
-		Control control = viewer.getControl();
-		data = new GridData(GridData.FILL_BOTH);
-		data.horizontalSpan = 2;
-		data.heightHint = convertHeightInCharsToPixels(5);
-		control.setLayoutData(data);
-
-		return viewer;
-	}
-
-	/**
-	 * Enable/disable controls in page based on fUseTemplateButton's current
-	 * state.
-	 */
-	void enableTemplates() {
-		boolean enabled = fUseTemplateButton.getSelection();
-
-		if (!enabled) {
-			// save last selected template
-			Template template = getSelectedTemplate();
-			if (template != null)
-				fLastSelectedTemplateName = template.getName();
-			else
-				fLastSelectedTemplateName = ""; //$NON-NLS-1$
-
-			fTableViewer.setSelection(null);
-		}
-		else {
-			setSelectedTemplate(fLastSelectedTemplateName);
-		}
-
-		fTableViewer.getControl().setEnabled(enabled);
-		fPatternViewer.getControl().setEnabled(enabled);
-	}
-
-	/**
-	 * Return the template preference page id
-	 * 
-	 * @return
-	 */
-	private String getPreferencePageId() {
-		return "org.eclipse.wst.sse.ui.preferences.jsp.templates"; //$NON-NLS-1$
-	}
-
-	/**
-	 * Get the currently selected template.
-	 * 
-	 * @return
-	 */
-	private Template getSelectedTemplate() {
-		Template template = null;
-		IStructuredSelection selection = (IStructuredSelection) fTableViewer.getSelection();
-
-		if (selection.size() == 1) {
-			template = (Template) selection.getFirstElement();
-		}
-		return template;
-	}
-
-	/**
-	 * Returns template string to insert.
-	 * 
-	 * @return String to insert or null if none is to be inserted
-	 */
-	String getTemplateString() {
-		String templateString = null;
-
-		Template template = getSelectedTemplate();
-		if (template != null) {
-			TemplateContextType contextType = JSPUIPlugin.getDefault().getTemplateContextRegistry().getContextType(TemplateContextTypeIdsJSP.NEW);
-			IDocument document = new Document();
-			TemplateContext context = new DocumentTemplateContext(contextType, document, 0, 0);
-			try {
-				TemplateBuffer buffer = context.evaluate(template);
-				templateString = buffer.getString();
-			}
-			catch (Exception e) {
-				Logger.log(Logger.WARNING_DEBUG, "Could not create template for new jsp", e); //$NON-NLS-1$
-			}
-		}
-
-		return templateString;
-	}
-
-	void linkClicked() {
-		String pageId = getPreferencePageId();
-		PreferenceDialog dialog = PreferencesUtil.createPreferenceDialogOn(getShell(), pageId, new String[]{pageId}, null);
-		dialog.open();
-		fTableViewer.refresh();
-	}
-
-	/**
-	 * Load the last template name used in New JSP File wizard.
-	 */
-	private void loadLastSavedPreferences() {
-		String templateName = JSPUIPlugin.getDefault().getPreferenceStore().getString(JSPUIPreferenceNames.NEW_FILE_TEMPLATE_NAME);
-		if (templateName == null || templateName.length() == 0) {
-			fLastSelectedTemplateName = ""; //$NON-NLS-1$
-			fUseTemplateButton.setSelection(false);
-		}
-		else {
-			fLastSelectedTemplateName = templateName;
-			fUseTemplateButton.setSelection(true);
-		}
-		enableTemplates();
-	}
-
-	/**
-	 * Save template name used for next call to New JSP File wizard.
-	 */
-	void saveLastSavedPreferences() {
-		String templateName = ""; //$NON-NLS-1$
-
-		Template template = getSelectedTemplate();
-		if (template != null) {
-			templateName = template.getName();
-		}
-
-		JSPUIPlugin.getDefault().getPreferenceStore().setValue(JSPUIPreferenceNames.NEW_FILE_TEMPLATE_NAME, templateName);
-		JSPUIPlugin.getDefault().savePluginPreferences();
-	}
-
-	/**
-	 * Select a template in the table viewer given the template name. If
-	 * template name cannot be found or templateName is null, just select
-	 * first item in table. If no items in table select nothing.
-	 * 
-	 * @param templateName
-	 */
-	private void setSelectedTemplate(String templateName) {
-		Object template = null;
-
-		if (templateName != null && templateName.length() > 0) {
-			// pick the last used template
-			template = fTemplateStore.findTemplate(templateName, TemplateContextTypeIdsJSP.NEW);
-		}
-
-		// no record of last used template so just pick first element
-		if (template == null) {
-			// just pick first element
-			template = fTableViewer.getElementAt(0);
-		}
-
-		if (template != null) {
-			IStructuredSelection selection = new StructuredSelection(template);
-			fTableViewer.setSelection(selection, true);
-		}
-	}
-
-	/**
-	 * Updates the pattern viewer.
-	 */
-	void updateViewerInput() {
-		Template template = getSelectedTemplate();
-		if (template != null) {
-			fPatternViewer.getDocument().set(template.getPattern());
-		}
-		else {
-			fPatternViewer.getDocument().set(""); //$NON-NLS-1$
-		}
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/wizard/NewJSPWizard.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/wizard/NewJSPWizard.java
deleted file mode 100644
index c96288e..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/wizard/NewJSPWizard.java
+++ /dev/null
@@ -1,141 +0,0 @@
-package org.eclipse.jst.jsp.ui.internal.wizard;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.OutputStreamWriter;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.jst.jsp.core.internal.JSPCorePlugin;
-import org.eclipse.jst.jsp.core.internal.provisional.contenttype.ContentTypeIdForJSP;
-import org.eclipse.jst.jsp.ui.internal.JSPUIMessages;
-import org.eclipse.jst.jsp.ui.internal.Logger;
-import org.eclipse.jst.jsp.ui.internal.editor.JSPEditorPluginImageHelper;
-import org.eclipse.jst.jsp.ui.internal.editor.JSPEditorPluginImages;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.wst.sse.core.internal.encoding.CommonEncodingPreferenceNames;
-
-public class NewJSPWizard extends Wizard implements INewWizard {
-	private WizardNewFileCreationPage fNewFilePage;
-	private NewJSPTemplatesWizardPage fNewFileTemplatesPage;
-	private IStructuredSelection fSelection;
-	private List fValidExtensions = null;
-
-	/**
-	 * Get list of valid extensions for JSP Content type
-	 * 
-	 * @return
-	 */
-	List getValidExtensions() {
-		if (fValidExtensions == null) {
-			IContentType type = Platform.getContentTypeManager().getContentType(ContentTypeIdForJSP.ContentTypeID_JSP);
-			fValidExtensions = new ArrayList(Arrays.asList(type.getFileSpecs(IContentType.FILE_EXTENSION_SPEC)));
-		}
-		return fValidExtensions;
-	}
-
-	public void addPages() {
-		fNewFilePage = new WizardNewFileCreationPage("JSPWizardNewFileCreationPage", new StructuredSelection(IDE.computeSelectedResources(fSelection))) { //$NON-NLS-1$
-			protected boolean validatePage() {
-				IPath handlePath = new Path(getFileName());
-				String extension = handlePath.getFileExtension();
-				if (extension == null || !getValidExtensions().contains(extension)) {
-					setErrorMessage(NLS.bind(JSPUIMessages._ERROR_FILENAME_MUST_END_JSP, getValidExtensions().toString()));
-					return false;
-				}
-				setErrorMessage(null);
-				return super.validatePage();
-			}
-		};
-		fNewFilePage.setTitle(JSPUIMessages._UI_WIZARD_NEW_HEADING);
-		fNewFilePage.setDescription(JSPUIMessages._UI_WIZARD_NEW_DESCRIPTION);
-
-		addPage(fNewFilePage);
-
-		fNewFileTemplatesPage = new NewJSPTemplatesWizardPage();
-		addPage(fNewFileTemplatesPage);
-	}
-
-	public void init(IWorkbench aWorkbench, IStructuredSelection aSelection) {
-		fSelection = aSelection;
-		setWindowTitle(JSPUIMessages._UI_WIZARD_NEW_TITLE);
-		
-		ImageDescriptor descriptor = JSPEditorPluginImageHelper.getInstance().getImageDescriptor(JSPEditorPluginImages.IMG_OBJ_WIZBAN_NEWJSPFILE);
-		setDefaultPageImageDescriptor(descriptor);
-	}
-
-	private void openEditor(final IFile file) {
-		if (file != null) {
-			getShell().getDisplay().asyncExec(new Runnable() {
-				public void run() {
-					try {
-						IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
-						IDE.openEditor(page, file, true);
-					}
-					catch (PartInitException e) {
-						Logger.log(Logger.WARNING_DEBUG, e.getMessage(), e);
-					}
-				}
-			});
-		}
-	}
-
-	public boolean performFinish() {
-		// save user options for next use
-		fNewFileTemplatesPage.saveLastSavedPreferences();
-
-		// create a new empty file
-		IFile file = fNewFilePage.createNewFile();
-
-		// put template contents into file
-		String templateString = fNewFileTemplatesPage.getTemplateString();
-		if (templateString != null) {
-			// determine the encoding for the new file
-			Preferences preference = JSPCorePlugin.getDefault().getPluginPreferences();
-			String charSet = preference.getString(CommonEncodingPreferenceNames.OUTPUT_CODESET);
-
-			try {
-				ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
-				OutputStreamWriter outputStreamWriter = null;
-				if (charSet == null || charSet.trim().equals("")) { //$NON-NLS-1$
-					// just use default encoding
-					outputStreamWriter = new OutputStreamWriter(outputStream);
-				} else {
-					outputStreamWriter = new OutputStreamWriter(outputStream, charSet);
-				}
-				outputStreamWriter.write(templateString);
-				outputStreamWriter.flush();
-				outputStreamWriter.close();
-				ByteArrayInputStream inputStream = new ByteArrayInputStream(outputStream.toByteArray());
-				file.setContents(inputStream, true, false, null);
-				inputStream.close();
-			}
-			catch (Exception e) {
-				Logger.log(Logger.WARNING_DEBUG, "Could not create contents for new JSP file", e); //$NON-NLS-1$
-			}
-		}
-
-		// open the file in editor
-		openEditor(file);
-		return true;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates.properties b/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates.properties
deleted file mode 100644
index 845872e..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates.properties
+++ /dev/null
@@ -1,40 +0,0 @@
-###############################################################################
-# Copyright (c) 2004 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
-###############################################################################
-Templates.jspscriptlet.name=JSP scriptlet
-Templates.jspscriptlet.desc=JSP scriptlet <%..%>
-Templates.jspscriptlet.content=<% ${cursor} %>
-Templates.jsphiddencomment.name=JSP hidden comment
-Templates.jsphiddencomment.desc=JSP hidden comment <%-- --%>
-Templates.jsphiddencomment.content=<%-- ${cursor} --%>
-Templates.jspdeclaration.name=JSP declaration(s)
-Templates.jspdeclaration.desc=JSP declaration(s) <%!..%>
-Templates.jspdeclaration.content=<%! ${cursor} %>
-Templates.jspexpression.name=JSP expression
-Templates.jspexpression.desc=JSP expression <%=..%>
-Templates.jspexpression.content=<%= ${cursor} %>
-Templates.jspincludedirective.name=JSP include directive
-Templates.jspincludedirective.desc=JSP include directive
-Templates.jspincludedirective.content=<%@ include file="${cursor}" %>
-Templates.jsppagedirective.name=JSP page directive
-Templates.jsppagedirective.desc=JSP page directive
-Templates.jsppagedirective.content=<%@ page contentType="text/html; charset=${encoding}" %>
-Templates.jsptaglibdirective.name=JSP taglib directive
-Templates.jsptaglibdirective.desc=JSP taglib directive
-Templates.jsptaglibdirective.content=<%@ taglib uri="" prefix="${cursor}" %>
-Templates.jsphtml.name=New JSP File (html)
-Templates.jsphtml.desc=JSP with html markup
-Templates.jsphtml.content=<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">\n<html>\n<head>\n<%@ page language="java" contentType="text/html; charset=${encoding}"\n    pageEncoding="${encoding}"%>\n<meta http-equiv="Content-Type" content="text/html; charset=${encoding}">\n<title>Insert title here</title>\n</head>\n<body>\n${cursor}\n</body>\n</html>
-Templates.jspxhtml.name=New JSP File (xhtml)
-Templates.jspxhtml.desc=JSP with xhtml markup
-Templates.jspxhtml.content=<?xml version="1.0" encoding="${encoding}" ?>\n<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">\n<html xmlns="http://www.w3.org/1999/xhtml">\n<head>\n<%@ page language="java" contentType="text/html; charset=${encoding}"\n    pageEncoding="${encoding}"%>\n<meta http-equiv="Content-Type" content="text/html; charset=${encoding}" />\n<title>Insert title here</title>\n</head>\n<body>\n${cursor}\n</body>\n</html>
-Templates.jspxhtmlxml.name=New JSP File (xhtml, xml syntax)
-Templates.jspxhtmlxml.desc=JSP with xhtml markup and xml style syntax
-Templates.jspxhtmlxml.content=<?xml version="1.0" encoding="${encoding}" ?>\n<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.0">\n    <jsp:directive.page language="java"\n        contentType="text/html; charset=${encoding}" pageEncoding="${encoding}" />\n    <jsp:text>\n        <![CDATA[ <?xml version="1.0" encoding="${encoding}" ?> ]]>\n    </jsp:text>\n    <jsp:text>\n        <![CDATA[ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> ]]>\n    </jsp:text>\n<html xmlns="http://www.w3.org/1999/xhtml">\n<head>\n<meta http-equiv="Content-Type" content="text/html; charset=${encoding}" />\n<title>Insert title here</title>\n</head>\n<body>\n${cursor}\n</body>\n</html>\n</jsp:root>
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates.xml b/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates.xml
deleted file mode 100644
index 3539631..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<templates>
-
-<template name="%Templates.jspscriptlet.name" description="%Templates.jspscriptlet.desc" id="org.eclipse.jst.jsp.ui.templates.jspscriptlet" context="jsp_tag" enabled="true">%Templates.jspscriptlet.content</template>
-
-<template name="%Templates.jsphiddencomment.name" description="%Templates.jsphiddencomment.desc" id="org.eclipse.jst.jsp.ui.templates.jsphiddencomment" context="jsp_tag" enabled="true">%Templates.jsphiddencomment.content</template>
-
-<template name="%Templates.jspdeclaration.name" description="%Templates.jspdeclaration.desc" id="org.eclipse.jst.jsp.ui.templates.jspdeclaration" context="jsp_tag" enabled="true">%Templates.jspdeclaration.content</template>
-
-<template name="%Templates.jspexpression.name" description="%Templates.jspexpression.desc" id="org.eclipse.jst.jsp.ui.templates.jspexpression" context="jsp_all" enabled="true">%Templates.jspexpression.content</template>
-
-<template name="%Templates.jspincludedirective.name" description="%Templates.jspincludedirective.desc" id="org.eclipse.jst.jsp.ui.templates.jspincludedirective" context="jsp_tag" enabled="true">%Templates.jspincludedirective.content</template>
-
-<template name="%Templates.jsppagedirective.name" description="%Templates.jsppagedirective.desc" id="org.eclipse.jst.jsp.ui.templates.jsppagedirective" context="jsp_tag" enabled="true">%Templates.jsppagedirective.content</template>
-
-<template name="%Templates.jsptaglibdirective.name" description="%Templates.jsptaglibdirective.desc" id="org.eclipse.jst.jsp.ui.templates.jsptaglibdirective" context="jsp_tag" enabled="true">%Templates.jsptaglibdirective.content</template>
-
-<template name="%Templates.jsphtml.name" description="%Templates.jsphtml.desc" id="org.eclipse.jst.jsp.ui.templates.jsphtml" context="jsp_new" enabled="true">%Templates.jsphtml.content</template>
-
-<template name="%Templates.jspxhtml.name" description="%Templates.jspxhtml.desc" id="org.eclipse.jst.jsp.ui.templates.jspxhtml" context="jsp_new" enabled="true">%Templates.jspxhtml.content</template>
-
-<template name="%Templates.jspxhtmlxml.name" description="%Templates.jspxhtmlxml.desc" id="org.eclipse.jst.jsp.ui.templates.jspxhtmlxml" context="jsp_new" enabled="true">%Templates.jspxhtmlxml.content</template>
-</templates>
diff --git a/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates_de.properties b/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates_de.properties
deleted file mode 100644
index bf37789..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates_de.properties
+++ /dev/null
@@ -1,34 +0,0 @@
-###############################################################################
-# Copyright (c) 2004 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
-###############################################################################
-Templates.jspscriptlet.name=JSP-Scriptlet
-Templates.jspscriptlet.desc=JSP-Scriptlet <%..%>
-Templates.jspscriptlet.content=<% ${cursor} %>
-Templates.jsphiddencomment.name=ausgeblendeter JSP-Kommentar
-Templates.jsphiddencomment.desc=ausgeblendeter JSP-Kommentar <%-- --%>
-Templates.jsphiddencomment.content=<%-- ${cursor} --%>
-Templates.jspdeclaration.name=JSP-Deklaration(en)
-Templates.jspdeclaration.desc=JSP-Deklaration(en) <%!..%>
-Templates.jspdeclaration.content=<%! ${cursor} %>
-Templates.jspexpression.name=JSP-Ausdruck
-Templates.jspexpression.desc=JSP-Ausdruck <%=..%>
-Templates.jspexpression.content=<%= ${cursor} %>
-Templates.jspincludedirective.name=JSP-Include-Anweisung
-Templates.jspincludedirective.desc=JSP-Include-Anweisung
-Templates.jspincludedirective.content=<%@ include file="${cursor}" %>
-Templates.jsppagedirective.name=JSP-Seitenanweisung
-Templates.jsppagedirective.desc=JSP-Seitenanweisung
-Templates.jsppagedirective.content=<%@ page contentType="text/html; charset=${encoding}" ${cursor}%>
-Templates.jsptaglibdirective.name=JSP-Taglib-Anweisung
-Templates.jsptaglibdirective.desc=JSP-Taglib-Anweisung
-Templates.jsptaglibdirective.content=<%@ taglib uri="" prefix="${cursor}" %>
-Templates.jspcomment.name=JSP-Kommentar
-Templates.jspcomment.desc=JSP-Kommentar <!-- -->
-Templates.jspcomment.content=<!-- ${cursor} -->
diff --git a/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates_es.properties b/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates_es.properties
deleted file mode 100644
index 924fd36..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates_es.properties
+++ /dev/null
@@ -1,34 +0,0 @@
-###############################################################################
-# Copyright (c) 2004 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
-###############################################################################
-Templates.jspscriptlet.name=Scriptlet JSP
-Templates.jspscriptlet.desc=Scriptlet JSP <%..%>
-Templates.jspscriptlet.content=<% ${cursor} %>
-Templates.jsphiddencomment.name=Comentario oculto JSP
-Templates.jsphiddencomment.desc=Comentario oculto JSP <%-- --%>
-Templates.jsphiddencomment.content=<%-- ${cursor} --%>
-Templates.jspdeclaration.name=Declaraci\u00f3n/declaraciones JSP
-Templates.jspdeclaration.desc=Declaraci\u00f3n/declaraciones JSP <%!..%>
-Templates.jspdeclaration.content=<%! ${cursor} %>
-Templates.jspexpression.name=Expresi\u00f3n JSP
-Templates.jspexpression.desc=Expresi\u00f3n JSP <%=..%>
-Templates.jspexpression.content=<%= ${cursor} %>
-Templates.jspincludedirective.name=Directiva include JSP
-Templates.jspincludedirective.desc=Directiva include JSP
-Templates.jspincludedirective.content=<%@ include file="${cursor}" %>
-Templates.jsppagedirective.name=Directiva page JSP
-Templates.jsppagedirective.desc=Directiva page JSP
-Templates.jsppagedirective.content=<%@ page contentType="text/html; charset=${encoding}" ${cursor}%>
-Templates.jsptaglibdirective.name=Directiva taglib JSP
-Templates.jsptaglibdirective.desc=Directiva taglib JSP
-Templates.jsptaglibdirective.content=<%@ taglib uri="" prefix="${cursor}" %>
-Templates.jspcomment.name=Comentario JSP
-Templates.jspcomment.desc=Comentario JSP <!-- -->
-Templates.jspcomment.content=<!-- ${cursor} -->
diff --git a/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates_fr.properties b/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates_fr.properties
deleted file mode 100644
index c05b7ad..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates_fr.properties
+++ /dev/null
@@ -1,34 +0,0 @@
-###############################################################################
-# Copyright (c) 2004 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
-###############################################################################
-Templates.jspscriptlet.name=Scriplet JSP
-Templates.jspscriptlet.desc=Scriplet JSP <%..%>
-Templates.jspscriptlet.content=<% ${cursor} %>
-Templates.jsphiddencomment.name=Commentaire JSP masqu\u00e9
-Templates.jsphiddencomment.desc=Commentaire JSP masqu\u00e9 <%-- --%>
-Templates.jsphiddencomment.content=<%-- ${cursor} --%>
-Templates.jspdeclaration.name=D\u00e9claration(s) JSP
-Templates.jspdeclaration.desc=D\u00e9claration(s) JSP <%!..%>
-Templates.jspdeclaration.content=<%! ${cursor} %>
-Templates.jspexpression.name=Expression JSP
-Templates.jspexpression.desc=Expression JSP <%=..%>
-Templates.jspexpression.content=<%= ${cursor} %>
-Templates.jspincludedirective.name=Instruction JSP include
-Templates.jspincludedirective.desc=Instruction JSP include
-Templates.jspincludedirective.content=<%@ include file="${cursor}" %>
-Templates.jsppagedirective.name=Instruction JSP page
-Templates.jsppagedirective.desc=Instruction JSP page
-Templates.jsppagedirective.content=<%@ page contentType="text/html; charset=${encoding}" ${cursor}%>
-Templates.jsptaglibdirective.name=Instruction JSP taglib
-Templates.jsptaglibdirective.desc=Instruction JSP taglib
-Templates.jsptaglibdirective.content=<%@ taglib uri="" prefix="${cursor}" %>
-Templates.jspcomment.name=Commentaire JSP
-Templates.jspcomment.desc=Commentaire JSP <!-- -->
-Templates.jspcomment.content=<!-- ${cursor} -->
diff --git a/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates_it.properties b/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates_it.properties
deleted file mode 100644
index 0840403..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates_it.properties
+++ /dev/null
@@ -1,34 +0,0 @@
-###############################################################################
-# Copyright (c) 2004 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
-###############################################################################
-Templates.jspscriptlet.name=Scriptlet JSP
-Templates.jspscriptlet.desc=Scriptlet JSP <%..%>
-Templates.jspscriptlet.content=<% ${cursor} %>
-Templates.jsphiddencomment.name=Commento JSP nascosto
-Templates.jsphiddencomment.desc=Commento JSP nascosto <%-- --%>
-Templates.jsphiddencomment.content=<%-- ${cursor} --%>
-Templates.jspdeclaration.name=Dichiarazioni JSP
-Templates.jspdeclaration.desc=Dichiarazioni JSP <%!..%>
-Templates.jspdeclaration.content=<%! ${cursor} %>
-Templates.jspexpression.name=Espressione JSP
-Templates.jspexpression.desc=Espressione JSP <%=..%>
-Templates.jspexpression.content=<%= ${cursor} %>
-Templates.jspincludedirective.name=Istruzione di inclusione JSP
-Templates.jspincludedirective.desc=Istruzione di inclusione JSP
-Templates.jspincludedirective.content=<%@ include file="${cursor}" %>
-Templates.jsppagedirective.name=Istruzione pagina JSP
-Templates.jsppagedirective.desc=Istruzione pagina JSP
-Templates.jsppagedirective.content=<%@ page contentType="text/html; charset=${encoding}" ${cursor}%>
-Templates.jsptaglibdirective.name=Istruzione taglib JSP
-Templates.jsptaglibdirective.desc=Istruzione taglib JSP
-Templates.jsptaglibdirective.content=<%@ taglib uri="" prefix="${cursor}" %>
-Templates.jspcomment.name=Commento JSP
-Templates.jspcomment.desc=Commento JSP <!-- -->
-Templates.jspcomment.content=<!-- ${cursor} -->
diff --git a/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates_ja.properties b/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates_ja.properties
deleted file mode 100644
index c928ed0..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates_ja.properties
+++ /dev/null
@@ -1,34 +0,0 @@
-###############################################################################
-# Copyright (c) 2004 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
-###############################################################################
-Templates.jspscriptlet.name=JSP \u30b9\u30af\u30ea\u30d7\u30c8\u30ec\u30c3\u30c8
-Templates.jspscriptlet.desc=JSP \u30b9\u30af\u30ea\u30d7\u30c8\u30ec\u30c3\u30c8 <%..%>
-Templates.jspscriptlet.content=<% ${cursor} %>
-Templates.jsphiddencomment.name=JSP \u96a0\u3057\u30b3\u30e1\u30f3\u30c8
-Templates.jsphiddencomment.desc=JSP \u96a0\u3057\u30b3\u30e1\u30f3\u30c8 <%-- --%>
-Templates.jsphiddencomment.content=<%-- ${cursor} --%>
-Templates.jspdeclaration.name=JSP \u5ba3\u8a00
-Templates.jspdeclaration.desc=JSP \u5ba3\u8a00 <%!..%>
-Templates.jspdeclaration.content=<%! ${cursor} %>
-Templates.jspexpression.name=JSP \u5f0f
-Templates.jspexpression.desc=JSP \u5f0f <%=..%>
-Templates.jspexpression.content=<%= ${cursor} %>
-Templates.jspincludedirective.name=JSP \u30a4\u30f3\u30af\u30eb\u30fc\u30c9\u30fb\u30c7\u30a3\u30ec\u30af\u30c6\u30a3\u30d6
-Templates.jspincludedirective.desc=JSP \u30a4\u30f3\u30af\u30eb\u30fc\u30c9\u30fb\u30c7\u30a3\u30ec\u30af\u30c6\u30a3\u30d6
-Templates.jspincludedirective.content=<%@ include file="${cursor}" %>
-Templates.jsppagedirective.name=JSP \u30da\u30fc\u30b8\u30fb\u30c7\u30a3\u30ec\u30af\u30c6\u30a3\u30d6
-Templates.jsppagedirective.desc=JSP \u30da\u30fc\u30b8\u30fb\u30c7\u30a3\u30ec\u30af\u30c6\u30a3\u30d6
-Templates.jsppagedirective.content=<%@ page contentType="text/html; charset=${encoding}" ${cursor}%>
-Templates.jsptaglibdirective.name=JSP taglib \u30c7\u30a3\u30ec\u30af\u30c6\u30a3\u30d6
-Templates.jsptaglibdirective.desc=JSP taglib \u30c7\u30a3\u30ec\u30af\u30c6\u30a3\u30d6
-Templates.jsptaglibdirective.content=<%@ taglib uri="" prefix="${cursor}" %>
-Templates.jspcomment.name=JSP \u30b3\u30e1\u30f3\u30c8
-Templates.jspcomment.desc=JSP \u30b3\u30e1\u30f3\u30c8 <!-- -->
-Templates.jspcomment.content=<!-- ${cursor} -->
diff --git a/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates_ko.properties b/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates_ko.properties
deleted file mode 100644
index 14003ac..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates_ko.properties
+++ /dev/null
@@ -1,34 +0,0 @@
-###############################################################################
-# Copyright (c) 2004 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
-###############################################################################
-Templates.jspscriptlet.name=JSP scriptlet
-Templates.jspscriptlet.desc=JSP scriptlet <%..%>
-Templates.jspscriptlet.content=<% ${cursor} %>
-Templates.jsphiddencomment.name=JSP \uc228\uaca8\uc9c4 \uc8fc\uc11d
-Templates.jsphiddencomment.desc=JSP \uc228\uaca8\uc9c4 \uc8fc\uc11d <%-- --%>
-Templates.jsphiddencomment.content=<%-- ${cursor} --%>
-Templates.jspdeclaration.name=JSP \uc120\uc5b8
-Templates.jspdeclaration.desc=JSP \uc120\uc5b8 <%!..%>
-Templates.jspdeclaration.content=<%! ${cursor} %>
-Templates.jspexpression.name=JSP \ud45c\ud604\uc2dd
-Templates.jspexpression.desc=JSP \ud45c\ud604\uc2dd <%=..%>
-Templates.jspexpression.content=<%= ${cursor} %>
-Templates.jspincludedirective.name=JSP include \uc9c0\uc2dc\ubb38
-Templates.jspincludedirective.desc=JSP include \uc9c0\uc2dc\ubb38
-Templates.jspincludedirective.content=<%@ include file="${cursor}" %>
-Templates.jsppagedirective.name=JSP page \uc9c0\uc2dc\ubb38
-Templates.jsppagedirective.desc=JSP page \uc9c0\uc2dc\ubb38
-Templates.jsppagedirective.content=<%@ page contentType="text/html; charset=${encoding}" ${cursor}%>
-Templates.jsptaglibdirective.name=JSP taglib \uc9c0\uc2dc\ubb38
-Templates.jsptaglibdirective.desc=JSP taglib \uc9c0\uc2dc\ubb38
-Templates.jsptaglibdirective.content=<%@ taglib uri="" prefix="${cursor}" %>
-Templates.jspcomment.name=JSP \uc8fc\uc11d
-Templates.jspcomment.desc=JSP \uc8fc\uc11d <!-- -->
-Templates.jspcomment.content=<!-- ${cursor} -->
diff --git a/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates_pt_BR.properties b/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates_pt_BR.properties
deleted file mode 100644
index 69287de..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates_pt_BR.properties
+++ /dev/null
@@ -1,34 +0,0 @@
-###############################################################################
-# Copyright (c) 2004 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
-###############################################################################
-Templates.jspscriptlet.name=Scriptlet JSP
-Templates.jspscriptlet.desc=Scriptlet JSP <%..%>
-Templates.jspscriptlet.content=<% ${cursor} %>
-Templates.jsphiddencomment.name=Coment\u00e1rio oculto JSP
-Templates.jsphiddencomment.desc=Coment\u00e1rio oculto JSP <%-- --%>
-Templates.jsphiddencomment.content=<%-- ${cursor} --%>
-Templates.jspdeclaration.name=Declara\u00e7\u00e3o(\u00e7\u00f5es) JSP
-Templates.jspdeclaration.desc=Declara\u00e7\u00e3o(\u00e7\u00f5es) JSP <%!..%>
-Templates.jspdeclaration.content=<%!  ${cursor} %>
-Templates.jspexpression.name=Express\u00e3o JSP
-Templates.jspexpression.desc=Express\u00e3o JSP <%=..%>
-Templates.jspexpression.content=<%= ${cursor} %>
-Templates.jspincludedirective.name=Diretiva de inclus\u00e3o JSP
-Templates.jspincludedirective.desc=Diretiva de inclus\u00e3o JSP
-Templates.jspincludedirective.content=<%@ include file="${cursor}" %>
-Templates.jsppagedirective.name=Diretiva de p\u00e1gina JSP
-Templates.jsppagedirective.desc=Diretiva de p\u00e1gina JSP
-Templates.jsppagedirective.content=<%@ page contentType="text/html; charset=${encoding}" ${cursor}%>
-Templates.jsptaglibdirective.name=Diretiva de taglib JSP
-Templates.jsptaglibdirective.desc=Diretiva de taglib JSP
-Templates.jsptaglibdirective.content=<%@ taglib uri="" prefix="${cursor}" %>
-Templates.jspcomment.name=Coment\u00e1rio JSP
-Templates.jspcomment.desc=Coment\u00e1rio JSP <!-- -->
-Templates.jspcomment.content=<!-- ${cursor} -->
diff --git a/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates_zh_CN.properties b/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates_zh_CN.properties
deleted file mode 100644
index 33f37ef..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates_zh_CN.properties
+++ /dev/null
@@ -1,34 +0,0 @@
-###############################################################################
-# Copyright (c) 2004 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
-###############################################################################
-Templates.jspscriptlet.name=JSP scriptlet
-Templates.jspscriptlet.desc=JSP scriptlet <%..%>
-Templates.jspscriptlet.content=<% ${cursor} %>
-Templates.jsphiddencomment.name=JSP \u9690\u85cf\u6ce8\u91ca
-Templates.jsphiddencomment.desc=JSP \u9690\u85cf\u6ce8\u91ca <%-- --%>
-Templates.jsphiddencomment.content=<%-- ${cursor} --%>
-Templates.jspdeclaration.name=JSP \u58f0\u660e
-Templates.jspdeclaration.desc=JSP \u58f0\u660e <%!..%>
-Templates.jspdeclaration.content=<%!  ${cursor} %>
-Templates.jspexpression.name=JSP \u8868\u8fbe\u5f0f
-Templates.jspexpression.desc=JSP \u8868\u8fbe\u5f0f <%=..%>
-Templates.jspexpression.content=<%= ${cursor} %>
-Templates.jspincludedirective.name=JSP include \u4f2a\u6307\u4ee4
-Templates.jspincludedirective.desc=JSP include \u4f2a\u6307\u4ee4
-Templates.jspincludedirective.content=<%@ include file="${cursor}" %>
-Templates.jsppagedirective.name=JSP page \u4f2a\u6307\u4ee4
-Templates.jsppagedirective.desc=JSP page \u4f2a\u6307\u4ee4
-Templates.jsppagedirective.content=<%@ page contentType="text/html; charset=${encoding}" ${cursor}%>
-Templates.jsptaglibdirective.name=JSP taglib \u4f2a\u6307\u4ee4
-Templates.jsptaglibdirective.desc=JSP taglib \u4f2a\u6307\u4ee4
-Templates.jsptaglibdirective.content=<%@ taglib uri="" prefix="${cursor}" %>
-Templates.jspcomment.name=JSP \u6ce8\u91ca
-Templates.jspcomment.desc=JSP \u6ce8\u91ca <!-- -->
-Templates.jspcomment.content=<!-- ${cursor} -->
diff --git a/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates_zh_TW.properties b/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates_zh_TW.properties
deleted file mode 100644
index 07d7f6c..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates_zh_TW.properties
+++ /dev/null
@@ -1,34 +0,0 @@
-###############################################################################
-# Copyright (c) 2004 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
-###############################################################################
-Templates.jspscriptlet.name=JSP scriptlet
-Templates.jspscriptlet.desc=JSP scriptlet <%..%>
-Templates.jspscriptlet.content=<% ${cursor} %>
-Templates.jsphiddencomment.name=JSP \u96b1\u85cf\u8a3b\u89e3
-Templates.jsphiddencomment.desc=JSP \u96b1\u85cf\u8a3b\u89e3 <%-- --%>
-Templates.jsphiddencomment.content=<%-- ${cursor} --%>
-Templates.jspdeclaration.name=JSP \u5ba3\u544a
-Templates.jspdeclaration.desc=JSP \u5ba3\u544a <%!..%>
-Templates.jspdeclaration.content=<%! ${cursor} %>
-Templates.jspexpression.name=JSP \u8868\u793a\u5f0f
-Templates.jspexpression.desc=JSP \u8868\u793a\u5f0f <%=..%>
-Templates.jspexpression.content=<%= ${cursor} %>
-Templates.jspincludedirective.name=JSP include \u6307\u5f15
-Templates.jspincludedirective.desc=JSP include \u6307\u5f15
-Templates.jspincludedirective.content=<%@ include file="${cursor}" %>
-Templates.jsppagedirective.name=JSP page \u6307\u5f15
-Templates.jsppagedirective.desc=JSP page \u6307\u5f15
-Templates.jsppagedirective.content=<%@ page contentType="text/html; charset=${encoding}" ${cursor}%>
-Templates.jsptaglibdirective.name=JSP taglib \u6307\u5f15
-Templates.jsptaglibdirective.desc=JSP taglib \u6307\u5f15
-Templates.jsptaglibdirective.content=<%@ taglib uri="" prefix="${cursor}" %>
-Templates.jspcomment.name=JSP \u8a3b\u89e3
-Templates.jspcomment.desc=JSP \u8a3b\u89e3 <!-- -->
-Templates.jspcomment.content=<!-- ${cursor} -->
diff --git a/development/org.eclipse.wst.sse.unittests/.classpath b/development/org.eclipse.wst.sse.unittests/.classpath
deleted file mode 100644
index 751c8f2..0000000
--- a/development/org.eclipse.wst.sse.unittests/.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"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/development/org.eclipse.wst.sse.unittests/.cvsignore b/development/org.eclipse.wst.sse.unittests/.cvsignore
deleted file mode 100644
index a37b9c5..0000000
--- a/development/org.eclipse.wst.sse.unittests/.cvsignore
+++ /dev/null
@@ -1,5 +0,0 @@
-bin
-build.properties
-build.xml
-ssejunit.jar
-temp.folder
diff --git a/development/org.eclipse.wst.sse.unittests/.project b/development/org.eclipse.wst.sse.unittests/.project
deleted file mode 100644
index e6f5109..0000000
--- a/development/org.eclipse.wst.sse.unittests/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.sse.unittests</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/development/org.eclipse.wst.sse.unittests/.settings/org.eclipse.jdt.core.prefs b/development/org.eclipse.wst.sse.unittests/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index c1373fb..0000000
--- a/development/org.eclipse.wst.sse.unittests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,58 +0,0 @@
-#Mon May 30 19:10:44 EDT 2005
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-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.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-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=warning
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=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=warning
-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=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-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=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/development/org.eclipse.wst.sse.unittests/.settings/org.eclipse.pde.prefs b/development/org.eclipse.wst.sse.unittests/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 498dec4..0000000
--- a/development/org.eclipse.wst.sse.unittests/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Fri May 27 23:41:23 EDT 2005
-compilers.p.illegal-att-value=0
-compilers.p.no-required-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/development/org.eclipse.wst.sse.unittests/META-INF/MANIFEST.MF b/development/org.eclipse.wst.sse.unittests/META-INF/MANIFEST.MF
deleted file mode 100644
index 4919ff0..0000000
--- a/development/org.eclipse.wst.sse.unittests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,34 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Unittests
-Bundle-SymbolicName: org.eclipse.wst.sse.unittests; singleton:=true
-Bundle-Version: 0.7.0
-Bundle-ClassPath: sseunittests.jar
-Bundle-Vendor: Eclipse.org
-Bundle-Localization: plugin
-Export-Package: org.eclipse.wst.sse.unittests
-Require-Bundle: org.junit,
- org.eclipse.core.resources,
- org.eclipse.core.runtime,
- org.eclipse.jst.jsp.core.tests,
- org.eclipse.jst.jsp.tests.encoding,
- org.eclipse.jst.jsp.ui.tests,
- org.eclipse.jst.jsp.ui.tests.performance,
- org.eclipse.wst.css.core.tests,
- org.eclipse.wst.css.tests.encoding,
- org.eclipse.wst.css.ui.tests.performance,
- org.eclipse.wst.dtd.ui.tests,
- org.eclipse.wst.html.core.tests,
- org.eclipse.wst.html.tests.encoding,
- org.eclipse.wst.html.ui.tests,
- org.eclipse.wst.html.ui.tests.performance,
- org.eclipse.wst.sse.core.tests,
- org.eclipse.wst.sse.ui.tests,
- org.eclipse.wst.sse.ui.tests.performance,
- org.eclipse.wst.xml.core.tests,
- org.eclipse.wst.xml.tests.encoding,
- org.eclipse.wst.xml.ui.tests,
- org.eclipse.wst.xml.ui.tests.performance,
- org.eclipse.wst.xml.validation.tests,
- org.eclipse.wst.xml.ui,
- org.eclipse.wst.javascript.ui
diff --git a/development/org.eclipse.wst.sse.unittests/icons/sourceEditor.gif b/development/org.eclipse.wst.sse.unittests/icons/sourceEditor.gif
deleted file mode 100644
index 75ebdb8..0000000
--- a/development/org.eclipse.wst.sse.unittests/icons/sourceEditor.gif
+++ /dev/null
Binary files differ
diff --git a/development/org.eclipse.wst.sse.unittests/plugin.properties b/development/org.eclipse.wst.sse.unittests/plugin.properties
deleted file mode 100644
index 535a870..0000000
--- a/development/org.eclipse.wst.sse.unittests/plugin.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 2004 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
-#     
-###############################################################################
-XML_Source_Page_Editor.name=XML Source Page Editor
-JavaScript_Source_Page_Editor.name=JavaScript Source Page Editor
-
diff --git a/development/org.eclipse.wst.sse.unittests/plugin.xml b/development/org.eclipse.wst.sse.unittests/plugin.xml
deleted file mode 100644
index 7758082..0000000
--- a/development/org.eclipse.wst.sse.unittests/plugin.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-        <extension point="org.eclipse.ui.editors">
-                <editor
-                        name="%XML_Source_Page_Editor.name"
-                        icon="icons/sourceEditor.gif"
-                        contributorClass="org.eclipse.wst.xml.ui.internal.actions.ActionContributorXML"
-                        class="org.eclipse.wst.xml.ui.internal.provisional.StructuredTextEditorXML"
-                        symbolicFontName="org.eclipse.wst.sse.ui.textfont"
-                        id="org.eclipse.core.runtime.xml.source">
-                        <contentTypeBinding
-                                contentTypeId="org.eclipse.core.runtime.xml" />
-                        <contentTypeBinding
-                                contentTypeId="org.eclipse.wst.xml.core.xmlsource" />
-                </editor>
-        </extension>
-        	<extension point="org.eclipse.ui.editors">
-		<editor
-			name="%JavaScript_Source_Page_Editor.name"
-			icon="icons/sourceEditor.gif"
-			extensions="js"
-			contributorClass="org.eclipse.wst.javascript.ui.internal.actions.ActionContributorJS"
-			class="org.eclipse.wst.javascript.ui.internal.editor.JSEditor"
-			symbolicFontName="org.eclipse.wst.sse.ui.textfont"
-			id="org.eclipse.wst.javascript.core.javascriptsource.source">
-			<contentTypeBinding
-				contentTypeId="org.eclipse.wst.javascript.core.javascriptsource" />
-		</editor>
-	</extension>
-</plugin>
\ No newline at end of file
diff --git a/development/org.eclipse.wst.sse.unittests/src/org/eclipse/wst/sse/unittests/MasterListTestSuite.java b/development/org.eclipse.wst.sse.unittests/src/org/eclipse/wst/sse/unittests/MasterListTestSuite.java
deleted file mode 100644
index e47c699..0000000
--- a/development/org.eclipse.wst.sse.unittests/src/org/eclipse/wst/sse/unittests/MasterListTestSuite.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.sse.unittests;
-
-import junit.framework.TestSuite;
-
-import org.eclipse.jst.jsp.core.tests.JSPCoreTestSuite;
-import org.eclipse.jst.jsp.tests.encoding.JSPEncodingTestSuite;
-import org.eclipse.jst.jsp.ui.tests.JSPUITestSuite;
-import org.eclipse.wst.css.core.tests.CSSCoreTestSuite;
-import org.eclipse.wst.css.tests.encoding.CSSEncodingTestSuite;
-import org.eclipse.wst.dtd.ui.tests.DTDUITestSuite;
-import org.eclipse.wst.html.core.tests.HTMLCoreTestSuite;
-import org.eclipse.wst.html.tests.encoding.HTMLEncodingTestSuite;
-import org.eclipse.wst.html.ui.tests.HTMLUITestSuite;
-import org.eclipse.wst.sse.core.tests.SSEModelTestSuite;
-import org.eclipse.wst.sse.ui.tests.SSEUITestSuite;
-import org.eclipse.wst.xml.core.tests.SSEModelXMLTestSuite;
-import org.eclipse.wst.xml.tests.encoding.EncodingTestSuite;
-import org.eclipse.wst.xml.ui.tests.XMLUITestSuite;
-import org.eclipse.wst.xml.validation.tests.internal.AllXMLTests;
-
-/*****************************************************************************
- * Copyright (c) 2004 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
- * 
- ****************************************************************************/
-
-public class MasterListTestSuite extends TestSuite {
-
-	public MasterListTestSuite() {
-		super("All Tests");
-
-		addTest(SSEModelTestSuite.suite());
-		addTest(SSEModelXMLTestSuite.suite());
-		addTest(CSSCoreTestSuite.suite());
-		addTest(HTMLCoreTestSuite.suite());
-		addTest(JSPCoreTestSuite.suite());
-
-		addTest(AllXMLTests.suite());
-		
-		addTest(EncodingTestSuite.suite());
-		addTest(CSSEncodingTestSuite.suite());
-		addTest(HTMLEncodingTestSuite.suite());
-		addTest(JSPEncodingTestSuite.suite());
-
-		addTest(HTMLUITestSuite.suite());
-		addTest(SSEUITestSuite.suite());
-		addTest(XMLUITestSuite.suite());
-		addTest(DTDUITestSuite.suite());
-		addTest(JSPUITestSuite.suite());
-
-	}
-
-	public void testAll() {
-		// this method needs to exist, but doesn't really do anything
-	}
-}
diff --git a/development/org.eclipse.wst.sse.unittests/src/org/eclipse/wst/sse/unittests/MasterPerformanceTestSuite.java b/development/org.eclipse.wst.sse.unittests/src/org/eclipse/wst/sse/unittests/MasterPerformanceTestSuite.java
deleted file mode 100644
index 8491014..0000000
--- a/development/org.eclipse.wst.sse.unittests/src/org/eclipse/wst/sse/unittests/MasterPerformanceTestSuite.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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.sse.unittests;
-
-import junit.framework.TestSuite;
-
-import org.eclipse.jst.jsp.ui.tests.performance.JSPUIPerformanceTests;
-import org.eclipse.wst.css.ui.tests.performance.CSSUIPerformanceTestSuite;
-import org.eclipse.wst.html.ui.tests.performance.HTMLUIPerformanceTestSuite;
-import org.eclipse.wst.sse.ui.tests.performance.SSEUIPerformanceTestSuite;
-import org.eclipse.wst.xml.ui.tests.performance.XMLUIPerformanceTestSuite;
-
-/*****************************************************************************
- * Copyright (c) 2004 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
- * 
- ****************************************************************************/
-
-public class MasterPerformanceTestSuite extends TestSuite {
-
-	public MasterPerformanceTestSuite() {
-		super("All Tests");
-
-		addTest(JSPUIPerformanceTests.suite());
-		addTest(CSSUIPerformanceTestSuite.suite());
-		addTest(HTMLUIPerformanceTestSuite.suite());
-		addTest(SSEUIPerformanceTestSuite.suite());
-		addTest(XMLUIPerformanceTestSuite.suite());
-
-
-	}
-
-	public void testAll() {
-		// this method needs to exist, but doesn't really do anything
-	}
-
-}