Merge pull request #1374 from apache/master

Sync master to release branch for NB 11.1-beta4
diff --git a/.travis.yml b/.travis.yml
index 461b40b..24c8c9f 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -35,6 +35,7 @@
   - if [ "x$LICENSE" == "xtrue" ]; then ant -quiet verify-libs-and-licenses -Dverify-libs-and-licenses.haltonfailure=true; fi
   - if [ "x$EOL" == "xtrue" ]; then ./nbbuild/travis/check-line-endings.sh; fi
   - if [ "x$SIGTEST" == "xtrue" ]; then ant check-sigtests; fi
+  - if [ "x$SIGTEST" == "xtrue" ]; then ant gen-sigtests-release; fi
   - if [ "x$SCRIPT" != "x" ]; then ./$SCRIPT; fi
   - if [ "x$CV" == "xtrue" ]; then ant -quiet -f ergonomics/ide.ergonomics/ test -Dtest.config=commit; fi
   - if [ "x$RUN_TESTS_JDK8" == "xtrue" ]; then for MODULE in $TEST_MODULES; do cd $MODULE; ant test; done; fi
diff --git a/enterprise/j2ee.dd/.gitignore b/enterprise/j2ee.dd/.gitignore
index 748ca32..aea9687 100644
--- a/enterprise/j2ee.dd/.gitignore
+++ b/enterprise/j2ee.dd/.gitignore
@@ -3,6 +3,7 @@
 src/org/netbeans/modules/j2ee/dd/impl/application/model_5/*
 src/org/netbeans/modules/j2ee/dd/impl/application/model_6/*
 src/org/netbeans/modules/j2ee/dd/impl/application/model_7/*
+src/org/netbeans/modules/j2ee/dd/impl/application/model_8/*
 src/org/netbeans/modules/j2ee/dd/impl/client/model_1_4/*
 src/org/netbeans/modules/j2ee/dd/impl/client/model_5_0/*
 src/org/netbeans/modules/j2ee/dd/impl/client/model_6_0/*
@@ -16,4 +17,6 @@
 src/org/netbeans/modules/j2ee/dd/impl/web/model_3_0/*
 src/org/netbeans/modules/j2ee/dd/impl/web/model_3_0_frag/*
 src/org/netbeans/modules/j2ee/dd/impl/web/model_3_1/*
-src/org/netbeans/modules/j2ee/dd/impl/web/model_3_1_frag/*
\ No newline at end of file
+src/org/netbeans/modules/j2ee/dd/impl/web/model_3_1_frag/*
+src/org/netbeans/modules/j2ee/dd/impl/web/model_4_0/*
+src/org/netbeans/modules/j2ee/dd/impl/web/model_4_0_frag/*
\ No newline at end of file
diff --git a/enterprise/j2ee.dd/build.xml b/enterprise/j2ee.dd/build.xml
index 5473bdd..27ce0f8 100644
--- a/enterprise/j2ee.dd/build.xml
+++ b/enterprise/j2ee.dd/build.xml
@@ -1,676 +1,783 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Licensed to the Apache Software Foundation (ASF) under one
-    or more contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  The ASF licenses this file
-    to you under the Apache License, Version 2.0 (the
-    "License"); you may not use this file except in compliance
-    with the License.  You may obtain a copy of the License at
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
 
-      http://www.apache.org/licenses/LICENSE-2.0
+ http://www.apache.org/licenses/LICENSE-2.0
 
-    Unless required by applicable law or agreed to in writing,
-    software distributed under the License is distributed on an
-    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-    KIND, either express or implied.  See the License for the
-    specific language governing permissions and limitations
-    under the License.
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
 
--->
+ -->
 
 <project basedir="." default="build" name="enterprise/j2ee.dd">
 
-  <import file="../../nbbuild/templates/projectized.xml"/>
+    <import file="../../nbbuild/templates/projectized.xml"/>
 
-  <property name="s2b_root_web_2_4" location="src/org/netbeans/modules/j2ee/dd/impl/web/model_2_4"/>
-  <property name="s2b_root_web_2_5" location="src/org/netbeans/modules/j2ee/dd/impl/web/model_2_5"/>
-  <property name="s2b_root_web_3_0" location="src/org/netbeans/modules/j2ee/dd/impl/web/model_3_0"/>
-  <property name="s2b_root_web_3_1" location="src/org/netbeans/modules/j2ee/dd/impl/web/model_3_1"/>
-  <property name="s2b_root_web_3_0_frag" location="src/org/netbeans/modules/j2ee/dd/impl/web/model_3_0_frag"/>
-  <property name="s2b_root_web_3_1_frag" location="src/org/netbeans/modules/j2ee/dd/impl/web/model_3_1_frag"/>
-  <property name="s2b_root_2_1" location="src/org/netbeans/modules/j2ee/dd/impl/ejb/model_2_1"/>
-  <property name="s2b_root_3_0" location="src/org/netbeans/modules/j2ee/dd/impl/ejb/model_3_0"/>
-  <property name="s2b_root_3_1" location="src/org/netbeans/modules/j2ee/dd/impl/ejb/model_3_1"/>
-  <property name="s2b_root_3_2" location="src/org/netbeans/modules/j2ee/dd/impl/ejb/model_3_2"/>
-  <property name="s2b_root_app_1_4" location="src/org/netbeans/modules/j2ee/dd/impl/application/model_1_4"/>
-  <property name="s2b_root_app_5" location="src/org/netbeans/modules/j2ee/dd/impl/application/model_5"/>
-  <property name="s2b_root_app_6" location="src/org/netbeans/modules/j2ee/dd/impl/application/model_6"/>
-  <property name="s2b_root_app_7" location="src/org/netbeans/modules/j2ee/dd/impl/application/model_7"/>
-  <property name="s2b_res_root" location="src/org/netbeans/modules/j2ee/dd/impl/resources"/>
-  <property name="s2b_root_client_1_4" location="src/org/netbeans/modules/j2ee/dd/impl/client/model_1_4"/>
-  <property name="s2b_root_client_5_0" location="src/org/netbeans/modules/j2ee/dd/impl/client/model_5_0"/>
-  <property name="s2b_root_client_6_0" location="src/org/netbeans/modules/j2ee/dd/impl/client/model_6_0"/>
-  <property name="s2b_root_client_7_0" location="src/org/netbeans/modules/j2ee/dd/impl/client/model_7_0"/>
-  <property name="j2ee.dd.resources.dir" value="src/org/netbeans/modules/j2ee/dd/impl/"/>
+    <property name="s2b_root_web_2_4" location="src/org/netbeans/modules/j2ee/dd/impl/web/model_2_4"/>
+    <property name="s2b_root_web_2_5" location="src/org/netbeans/modules/j2ee/dd/impl/web/model_2_5"/>
+    <property name="s2b_root_web_3_0" location="src/org/netbeans/modules/j2ee/dd/impl/web/model_3_0"/>
+    <property name="s2b_root_web_3_1" location="src/org/netbeans/modules/j2ee/dd/impl/web/model_3_1"/>
+    <property name="s2b_root_web_4_0" location="src/org/netbeans/modules/j2ee/dd/impl/web/model_4_0"/>
+    <property name="s2b_root_web_3_0_frag" location="src/org/netbeans/modules/j2ee/dd/impl/web/model_3_0_frag"/>
+    <property name="s2b_root_web_3_1_frag" location="src/org/netbeans/modules/j2ee/dd/impl/web/model_3_1_frag"/>
+    <property name="s2b_root_web_4_0_frag" location="src/org/netbeans/modules/j2ee/dd/impl/web/model_4_0_frag"/>
+    <property name="s2b_root_2_1" location="src/org/netbeans/modules/j2ee/dd/impl/ejb/model_2_1"/>
+    <property name="s2b_root_3_0" location="src/org/netbeans/modules/j2ee/dd/impl/ejb/model_3_0"/>
+    <property name="s2b_root_3_1" location="src/org/netbeans/modules/j2ee/dd/impl/ejb/model_3_1"/>
+    <property name="s2b_root_3_2" location="src/org/netbeans/modules/j2ee/dd/impl/ejb/model_3_2"/>
+    <property name="s2b_root_app_1_4" location="src/org/netbeans/modules/j2ee/dd/impl/application/model_1_4"/>
+    <property name="s2b_root_app_5" location="src/org/netbeans/modules/j2ee/dd/impl/application/model_5"/>
+    <property name="s2b_root_app_6" location="src/org/netbeans/modules/j2ee/dd/impl/application/model_6"/>
+    <property name="s2b_root_app_7" location="src/org/netbeans/modules/j2ee/dd/impl/application/model_7"/>
+    <property name="s2b_root_app_8" location="src/org/netbeans/modules/j2ee/dd/impl/application/model_8"/>
+    <property name="s2b_res_root" location="src/org/netbeans/modules/j2ee/dd/impl/resources"/>
+    <property name="s2b_root_client_1_4" location="src/org/netbeans/modules/j2ee/dd/impl/client/model_1_4"/>
+    <property name="s2b_root_client_5_0" location="src/org/netbeans/modules/j2ee/dd/impl/client/model_5_0"/>
+    <property name="s2b_root_client_6_0" location="src/org/netbeans/modules/j2ee/dd/impl/client/model_6_0"/>
+    <property name="s2b_root_client_7_0" location="src/org/netbeans/modules/j2ee/dd/impl/client/model_7_0"/>
+    <property name="s2b_root_client_8_0" location="src/org/netbeans/modules/j2ee/dd/impl/client/model_8_0"/>
+    <property name="j2ee.dd.resources.dir" value="src/org/netbeans/modules/j2ee/dd/impl/"/>
 
 
-  <target name="s2binit" depends="projectized.build-init">
-      <!-- XXX do not know how to replace with @Schema2Beans; see issue #178426 for discussion -->
-	<taskdef name="schema2beans" classname="org.netbeans.modules.s2banttask.Schema2BeansAntTask">
-	  <classpath>
-		<pathelement path="${netbeans.dest.dir}/ide/modules/org-netbeans-modules-schema2beans.jar" />
-	  </classpath>
-	</taskdef>
-  </target>
+    <target name="s2binit" depends="projectized.build-init">
+        <!-- XXX do not know how to replace with @Schema2Beans; see issue #178426 for discussion -->
+        <taskdef name="schema2beans" classname="org.netbeans.modules.s2banttask.Schema2BeansAntTask">
+            <classpath>
+                <pathelement path="${netbeans.dest.dir}/ide/modules/org-netbeans-modules-schema2beans.jar" />
+            </classpath>
+        </taskdef>
+    </target>
 
-   <target name="dd2beansgen" depends="s2binit">
-     <echo message="generating code generation input file information" />
+    <target name="dd2beansgen" depends="s2binit">
+        <echo message="generating code generation input file information" />
 
-	<schema2beans schema="${s2b_res_root}/web-app_2_4.xsd"
-	  mddFile="${s2b_res_root}/web-app_2_4.mdd"
-	  package="org.netbeans.modules.j2ee.dd.impl.web.model_2_4"
-	  schemaType="xmlschema"
-	  useInterfaces="true"
-	  validate="true"
-	  attrProp="true"
-	  removeUnreferencedNodes="true"
-	  rootDir="src"
-          java5="true"/>
+        <schema2beans schema="${s2b_res_root}/web-app_2_4.xsd"
+        mddFile="${s2b_res_root}/web-app_2_4.mdd"
+        package="org.netbeans.modules.j2ee.dd.impl.web.model_2_4"
+        schemaType="xmlschema"
+        useInterfaces="true"
+        validate="true"
+        attrProp="true"
+        removeUnreferencedNodes="true"
+        rootDir="src"
+        java5="true"/>
         <echo file="${s2b_root_web_2_4}/package-info.java">@org.netbeans.api.annotations.common.SuppressWarnings("NM_SAME_SIMPLE_NAME_AS_INTERFACE") // justification="Generated implementation classes"${line.separator}package org.netbeans.modules.j2ee.dd.impl.web.model_2_4;</echo>
-	<schema2beans schema="${s2b_res_root}/web-app_2_5.xsd"
-	  mddFile="${s2b_res_root}/web-app_2_5.mdd"
-	  package="org.netbeans.modules.j2ee.dd.impl.web.model_2_5"
-	  schemaType="xmlschema"
-	  useInterfaces="true"
-	  validate="true"
-	  attrProp="true"
-	  removeUnreferencedNodes="true"
-	  rootDir="src"
-          java5="true"/>
+        <schema2beans schema="${s2b_res_root}/web-app_2_5.xsd"
+        mddFile="${s2b_res_root}/web-app_2_5.mdd"
+        package="org.netbeans.modules.j2ee.dd.impl.web.model_2_5"
+        schemaType="xmlschema"
+        useInterfaces="true"
+        validate="true"
+        attrProp="true"
+        removeUnreferencedNodes="true"
+        rootDir="src"
+        java5="true"/>
         <echo file="${s2b_root_web_2_5}/package-info.java">@org.netbeans.api.annotations.common.SuppressWarnings("NM_SAME_SIMPLE_NAME_AS_INTERFACE") // justification="Generated implementation classes"${line.separator}package org.netbeans.modules.j2ee.dd.impl.web.model_2_5;</echo>
-	<schema2beans schema="${s2b_res_root}/web-app_3_0.xsd"
-	  mddFile="${s2b_res_root}/web-app_3_0.mdd"
-	  package="org.netbeans.modules.j2ee.dd.impl.web.model_3_0"
-	  schemaType="xmlschema"
-	  useInterfaces="true"
-	  validate="true"
-	  attrProp="true"
-	  removeUnreferencedNodes="true"
-	  rootDir="src"
-          java5="true"/>
+        <schema2beans schema="${s2b_res_root}/web-app_3_0.xsd"
+        mddFile="${s2b_res_root}/web-app_3_0.mdd"
+        package="org.netbeans.modules.j2ee.dd.impl.web.model_3_0"
+        schemaType="xmlschema"
+        useInterfaces="true"
+        validate="true"
+        attrProp="true"
+        removeUnreferencedNodes="true"
+        rootDir="src"
+        java5="true"/>
         <echo file="${s2b_root_web_3_0}/package-info.java">@org.netbeans.api.annotations.common.SuppressWarnings("NM_SAME_SIMPLE_NAME_AS_INTERFACE") // justification="Generated implementation classes"${line.separator}package org.netbeans.modules.j2ee.dd.impl.web.model_3_0;</echo>
-	<schema2beans schema="${s2b_res_root}/web-fragment_3_0.xsd"
-	  mddFile="${s2b_res_root}/web-fragment_3_0.mdd"
-	  package="org.netbeans.modules.j2ee.dd.impl.web.model_3_0_frag"
-	  schemaType="xmlschema"
-	  useInterfaces="true"
-	  validate="true"
-	  attrProp="true"
-	  removeUnreferencedNodes="true"
-	  rootDir="src"
-          java5="true"/>
+        <schema2beans schema="${s2b_res_root}/web-fragment_3_0.xsd"
+        mddFile="${s2b_res_root}/web-fragment_3_0.mdd"
+        package="org.netbeans.modules.j2ee.dd.impl.web.model_3_0_frag"
+        schemaType="xmlschema"
+        useInterfaces="true"
+        validate="true"
+        attrProp="true"
+        removeUnreferencedNodes="true"
+        rootDir="src"
+        java5="true"/>
         <echo file="${s2b_root_web_3_0_frag}/package-info.java">@org.netbeans.api.annotations.common.SuppressWarnings("NM_SAME_SIMPLE_NAME_AS_INTERFACE") // justification="Generated implementation classes"${line.separator}package org.netbeans.modules.j2ee.dd.impl.web.model_3_0_frag;</echo>
-	<schema2beans schema="${s2b_res_root}/web-app_3_1.xsd"
-	  mddFile="${s2b_res_root}/web-app_3_1.mdd"
-	  package="org.netbeans.modules.j2ee.dd.impl.web.model_3_1"
-	  schemaType="xmlschema"
-	  useInterfaces="true"
-	  validate="true"
-	  attrProp="true"
-	  removeUnreferencedNodes="true"
-	  rootDir="src"
-          java5="true"/>
+        <schema2beans schema="${s2b_res_root}/web-app_3_1.xsd"
+        mddFile="${s2b_res_root}/web-app_3_1.mdd"
+        package="org.netbeans.modules.j2ee.dd.impl.web.model_3_1"
+        schemaType="xmlschema"
+        useInterfaces="true"
+        validate="true"
+        attrProp="true"
+        removeUnreferencedNodes="true"
+        rootDir="src"
+        java5="true"/>
         <echo file="${s2b_root_web_3_1}/package-info.java">@org.netbeans.api.annotations.common.SuppressWarnings("NM_SAME_SIMPLE_NAME_AS_INTERFACE") // justification="Generated implementation classes"${line.separator}package org.netbeans.modules.j2ee.dd.impl.web.model_3_1;</echo>
-	<schema2beans schema="${s2b_res_root}/web-fragment_3_1.xsd"
-	  mddFile="${s2b_res_root}/web-fragment_3_1.mdd"
-	  package="org.netbeans.modules.j2ee.dd.impl.web.model_3_1_frag"
-	  schemaType="xmlschema"
-	  useInterfaces="true"
-	  validate="true"
-	  attrProp="true"
-	  removeUnreferencedNodes="true"
-	  rootDir="src"
-          java5="true"/>
+        <schema2beans schema="${s2b_res_root}/web-fragment_3_1.xsd"
+        mddFile="${s2b_res_root}/web-fragment_3_1.mdd"
+        package="org.netbeans.modules.j2ee.dd.impl.web.model_3_1_frag"
+        schemaType="xmlschema"
+        useInterfaces="true"
+        validate="true"
+        attrProp="true"
+        removeUnreferencedNodes="true"
+        rootDir="src"
+        java5="true"/>
         <echo file="${s2b_root_web_3_1_frag}/package-info.java">@org.netbeans.api.annotations.common.SuppressWarnings("NM_SAME_SIMPLE_NAME_AS_INTERFACE") // justification="Generated implementation classes"${line.separator}package org.netbeans.modules.j2ee.dd.impl.web.model_3_1_frag;</echo>
+        <schema2beans schema="${s2b_res_root}/web-app_4_0.xsd"
+        mddFile="${s2b_res_root}/web-app_4_0.mdd"
+        package="org.netbeans.modules.j2ee.dd.impl.web.model_4_0"
+        schemaType="xmlschema"
+        useInterfaces="true"
+        validate="true"
+        attrProp="true"
+        removeUnreferencedNodes="true"
+        rootDir="src"
+        java5="true"/>
+        <echo file="${s2b_root_web_4_0}/package-info.java">@org.netbeans.api.annotations.common.SuppressWarnings("NM_SAME_SIMPLE_NAME_AS_INTERFACE") // justification="Generated implementation classes"${line.separator}package org.netbeans.modules.j2ee.dd.impl.web.model_4_0;</echo>
+        <schema2beans schema="${s2b_res_root}/web-fragment_4_0.xsd"
+        mddFile="${s2b_res_root}/web-fragment_4_0.mdd"
+        package="org.netbeans.modules.j2ee.dd.impl.web.model_4_0_frag"
+        schemaType="xmlschema"
+        useInterfaces="true"
+        validate="true"
+        attrProp="true"
+        removeUnreferencedNodes="true"
+        rootDir="src"
+        java5="true"/>
+        <echo file="${s2b_root_web_4_0_frag}/package-info.java">@org.netbeans.api.annotations.common.SuppressWarnings("NM_SAME_SIMPLE_NAME_AS_INTERFACE") // justification="Generated implementation classes"${line.separator}package org.netbeans.modules.j2ee.dd.impl.web.model_4_0_frag;</echo>
 
-    <replace file="${s2b_root_web_2_4}/WebApp.java" summary="true">
-        <replacetoken>org.netbeans.modules.j2ee.dd.api.web.ServletMapping25</replacetoken>
-        <replacevalue>org.netbeans.modules.j2ee.dd.api.web.ServletMapping</replacevalue>
-    </replace>
+        <replace file="${s2b_root_web_2_4}/WebApp.java" summary="true">
+            <replacetoken>org.netbeans.modules.j2ee.dd.api.web.ServletMapping25</replacetoken>
+            <replacevalue>org.netbeans.modules.j2ee.dd.api.web.ServletMapping</replacevalue>
+        </replace>
 
-    <replace file="${s2b_root_web_2_5}/ServletMapping.java" summary="true">
-        <replacetoken>public java.lang.String[] getUrlPattern() {</replacetoken>
-        <replacevalue>public java.lang.String[] getUrlPatterns() {</replacevalue>
-    </replace>
-    <replace file="${s2b_root_web_2_5}/ServletMapping.java" summary="true">
-        <replacetoken>public void setUrlPattern(java.lang.String[] value) {</replacetoken>
-        <replacevalue>public void setUrlPatterns(java.lang.String[] value) {</replacevalue>
-    </replace>
-    <replace file="${s2b_root_web_2_5}/WebApp.java" summary="true">
-        <replacetoken>org.netbeans.modules.j2ee.dd.api.web.ServletMapping25</replacetoken>
-        <replacevalue>org.netbeans.modules.j2ee.dd.api.web.ServletMapping</replacevalue>
-    </replace>
+        <replace file="${s2b_root_web_2_5}/ServletMapping.java" summary="true">
+            <replacetoken>public java.lang.String[] getUrlPattern() {</replacetoken>
+            <replacevalue>public java.lang.String[] getUrlPatterns() {</replacevalue>
+        </replace>
+        <replace file="${s2b_root_web_2_5}/ServletMapping.java" summary="true">
+            <replacetoken>public void setUrlPattern(java.lang.String[] value) {</replacetoken>
+            <replacevalue>public void setUrlPatterns(java.lang.String[] value) {</replacevalue>
+        </replace>
+        <replace file="${s2b_root_web_2_5}/WebApp.java" summary="true">
+            <replacetoken>org.netbeans.modules.j2ee.dd.api.web.ServletMapping25</replacetoken>
+            <replacevalue>org.netbeans.modules.j2ee.dd.api.web.ServletMapping</replacevalue>
+        </replace>
 
-    <replace file="${s2b_root_web_2_5}/FilterMapping.java" summary="true">
-        <replacetoken>public java.lang.String[] getUrlPattern() {</replacetoken>
-        <replacevalue>public java.lang.String[] getUrlPatterns() {</replacevalue>
-    </replace>
-    <replace file="${s2b_root_web_2_5}/FilterMapping.java" summary="true">
-        <replacetoken>public void setUrlPattern(java.lang.String[] value) {</replacetoken>
-        <replacevalue>public void setUrlPatterns(java.lang.String[] value) {</replacevalue>
-    </replace>
-    <replace file="${s2b_root_web_2_5}/FilterMapping.java" summary="true">
-        <replacetoken>public java.lang.String[] getServletName() {</replacetoken>
-        <replacevalue>public java.lang.String[] getServletNames() {</replacevalue>
-    </replace>
-    <replace file="${s2b_root_web_2_5}/FilterMapping.java" summary="true">
-        <replacetoken>public void setServletName(java.lang.String[] value) {</replacetoken>
-        <replacevalue>public void setServletNames(java.lang.String[] value) {</replacevalue>
-    </replace>
+        <replace file="${s2b_root_web_2_5}/FilterMapping.java" summary="true">
+            <replacetoken>public java.lang.String[] getUrlPattern() {</replacetoken>
+            <replacevalue>public java.lang.String[] getUrlPatterns() {</replacevalue>
+        </replace>
+        <replace file="${s2b_root_web_2_5}/FilterMapping.java" summary="true">
+            <replacetoken>public void setUrlPattern(java.lang.String[] value) {</replacetoken>
+            <replacevalue>public void setUrlPatterns(java.lang.String[] value) {</replacevalue>
+        </replace>
+        <replace file="${s2b_root_web_2_5}/FilterMapping.java" summary="true">
+            <replacetoken>public java.lang.String[] getServletName() {</replacetoken>
+            <replacevalue>public java.lang.String[] getServletNames() {</replacevalue>
+        </replace>
+        <replace file="${s2b_root_web_2_5}/FilterMapping.java" summary="true">
+            <replacetoken>public void setServletName(java.lang.String[] value) {</replacetoken>
+            <replacevalue>public void setServletNames(java.lang.String[] value) {</replacevalue>
+        </replace>
 
-    <replace file="${s2b_root_web_3_0}/ServletMapping.java" summary="true">
-        <replacetoken>public java.lang.String[] getUrlPattern() {</replacetoken>
-        <replacevalue>public java.lang.String[] getUrlPatterns() {</replacevalue>
-    </replace>
-    <replace file="${s2b_root_web_3_0}/ServletMapping.java" summary="true">
-        <replacetoken>public void setUrlPattern(java.lang.String[] value) {</replacetoken>
-        <replacevalue>public void setUrlPatterns(java.lang.String[] value) {</replacevalue>
-    </replace>
-    <replace file="${s2b_root_web_3_0}/WebApp.java" summary="true">
-        <replacetoken>org.netbeans.modules.j2ee.dd.api.web.ServletMapping25</replacetoken>
-        <replacevalue>org.netbeans.modules.j2ee.dd.api.web.ServletMapping</replacevalue>
-    </replace>
+        <replace file="${s2b_root_web_3_0}/ServletMapping.java" summary="true">
+            <replacetoken>public java.lang.String[] getUrlPattern() {</replacetoken>
+            <replacevalue>public java.lang.String[] getUrlPatterns() {</replacevalue>
+        </replace>
+        <replace file="${s2b_root_web_3_0}/ServletMapping.java" summary="true">
+            <replacetoken>public void setUrlPattern(java.lang.String[] value) {</replacetoken>
+            <replacevalue>public void setUrlPatterns(java.lang.String[] value) {</replacevalue>
+        </replace>
+        <replace file="${s2b_root_web_3_0}/WebApp.java" summary="true">
+            <replacetoken>org.netbeans.modules.j2ee.dd.api.web.ServletMapping25</replacetoken>
+            <replacevalue>org.netbeans.modules.j2ee.dd.api.web.ServletMapping</replacevalue>
+        </replace>
 
-    <replace file="${s2b_root_web_3_0}/FilterMapping.java" summary="true">
-        <replacetoken>public java.lang.String[] getUrlPattern() {</replacetoken>
-        <replacevalue>public java.lang.String[] getUrlPatterns() {</replacevalue>
-    </replace>
-    <replace file="${s2b_root_web_3_0}/FilterMapping.java" summary="true">
-        <replacetoken>public void setUrlPattern(java.lang.String[] value) {</replacetoken>
-        <replacevalue>public void setUrlPatterns(java.lang.String[] value) {</replacevalue>
-    </replace>
-    <replace file="${s2b_root_web_3_0}/FilterMapping.java" summary="true">
-        <replacetoken>public java.lang.String[] getServletName() {</replacetoken>
-        <replacevalue>public java.lang.String[] getServletNames() {</replacevalue>
-    </replace>
-    <replace file="${s2b_root_web_3_0}/FilterMapping.java" summary="true">
-        <replacetoken>public void setServletName(java.lang.String[] value) {</replacetoken>
-        <replacevalue>public void setServletNames(java.lang.String[] value) {</replacevalue>
-    </replace>
+        <replace file="${s2b_root_web_3_0}/FilterMapping.java" summary="true">
+            <replacetoken>public java.lang.String[] getUrlPattern() {</replacetoken>
+            <replacevalue>public java.lang.String[] getUrlPatterns() {</replacevalue>
+        </replace>
+        <replace file="${s2b_root_web_3_0}/FilterMapping.java" summary="true">
+            <replacetoken>public void setUrlPattern(java.lang.String[] value) {</replacetoken>
+            <replacevalue>public void setUrlPatterns(java.lang.String[] value) {</replacevalue>
+        </replace>
+        <replace file="${s2b_root_web_3_0}/FilterMapping.java" summary="true">
+            <replacetoken>public java.lang.String[] getServletName() {</replacetoken>
+            <replacevalue>public java.lang.String[] getServletNames() {</replacevalue>
+        </replace>
+        <replace file="${s2b_root_web_3_0}/FilterMapping.java" summary="true">
+            <replacetoken>public void setServletName(java.lang.String[] value) {</replacetoken>
+            <replacevalue>public void setServletNames(java.lang.String[] value) {</replacevalue>
+        </replace>
 
-    <replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true">
-        <replacetoken>org.netbeans.modules.j2ee.dd.api.web.ServletMapping25</replacetoken>
-        <replacevalue>org.netbeans.modules.j2ee.dd.api.web.ServletMapping</replacevalue>
-    </replace>
+        <replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true">
+            <replacetoken>org.netbeans.modules.j2ee.dd.api.web.ServletMapping25</replacetoken>
+            <replacevalue>org.netbeans.modules.j2ee.dd.api.web.ServletMapping</replacevalue>
+        </replace>
 
-    <replace file="${s2b_root_web_3_0_frag}/ServletMapping.java" summary="true">
-        <replacetoken>public java.lang.String[] getUrlPattern() {</replacetoken>
-        <replacevalue>public java.lang.String[] getUrlPatterns() {</replacevalue>
-    </replace>
-    <replace file="${s2b_root_web_3_0_frag}/ServletMapping.java" summary="true">
-        <replacetoken>public void setUrlPattern(java.lang.String[] value) {</replacetoken>
-        <replacevalue>public void setUrlPatterns(java.lang.String[] value) {</replacevalue>
-    </replace>
+        <replace file="${s2b_root_web_3_0_frag}/ServletMapping.java" summary="true">
+            <replacetoken>public java.lang.String[] getUrlPattern() {</replacetoken>
+            <replacevalue>public java.lang.String[] getUrlPatterns() {</replacevalue>
+        </replace>
+        <replace file="${s2b_root_web_3_0_frag}/ServletMapping.java" summary="true">
+            <replacetoken>public void setUrlPattern(java.lang.String[] value) {</replacetoken>
+            <replacevalue>public void setUrlPatterns(java.lang.String[] value) {</replacevalue>
+        </replace>
 
-    <replace file="${s2b_root_web_3_0_frag}/FilterMapping.java" summary="true">
-        <replacetoken>public java.lang.String[] getUrlPattern() {</replacetoken>
-        <replacevalue>public java.lang.String[] getUrlPatterns() {</replacevalue>
-    </replace>
-    <replace file="${s2b_root_web_3_0_frag}/FilterMapping.java" summary="true">
-        <replacetoken>public void setUrlPattern(java.lang.String[] value) {</replacetoken>
-        <replacevalue>public void setUrlPatterns(java.lang.String[] value) {</replacevalue>
-    </replace>
-    <replace file="${s2b_root_web_3_0_frag}/FilterMapping.java" summary="true">
-        <replacetoken>public java.lang.String[] getServletName() {</replacetoken>
-        <replacevalue>public java.lang.String[] getServletNames() {</replacevalue>
-    </replace>
-    <replace file="${s2b_root_web_3_0_frag}/FilterMapping.java" summary="true">
-        <replacetoken>public void setServletName(java.lang.String[] value) {</replacetoken>
-        <replacevalue>public void setServletNames(java.lang.String[] value) {</replacevalue>
-    </replace>
+        <replace file="${s2b_root_web_3_0_frag}/FilterMapping.java" summary="true">
+            <replacetoken>public java.lang.String[] getUrlPattern() {</replacetoken>
+            <replacevalue>public java.lang.String[] getUrlPatterns() {</replacevalue>
+        </replace>
+        <replace file="${s2b_root_web_3_0_frag}/FilterMapping.java" summary="true">
+            <replacetoken>public void setUrlPattern(java.lang.String[] value) {</replacetoken>
+            <replacevalue>public void setUrlPatterns(java.lang.String[] value) {</replacevalue>
+        </replace>
+        <replace file="${s2b_root_web_3_0_frag}/FilterMapping.java" summary="true">
+            <replacetoken>public java.lang.String[] getServletName() {</replacetoken>
+            <replacevalue>public java.lang.String[] getServletNames() {</replacevalue>
+        </replace>
+        <replace file="${s2b_root_web_3_0_frag}/FilterMapping.java" summary="true">
+            <replacetoken>public void setServletName(java.lang.String[] value) {</replacetoken>
+            <replacevalue>public void setServletNames(java.lang.String[] value) {</replacevalue>
+        </replace>
 
-    <replace file="${s2b_root_web_3_1}/ServletMapping.java" summary="true">
-        <replacetoken>public java.lang.String[] getUrlPattern() {</replacetoken>
-        <replacevalue>public java.lang.String[] getUrlPatterns() {</replacevalue>
-    </replace>
-    <replace file="${s2b_root_web_3_1}/ServletMapping.java" summary="true">
-        <replacetoken>public void setUrlPattern(java.lang.String[] value) {</replacetoken>
-        <replacevalue>public void setUrlPatterns(java.lang.String[] value) {</replacevalue>
-    </replace>
-    <replace file="${s2b_root_web_3_1}/WebApp.java" summary="true">
-        <replacetoken>org.netbeans.modules.j2ee.dd.api.web.ServletMapping25</replacetoken>
-        <replacevalue>org.netbeans.modules.j2ee.dd.api.web.ServletMapping</replacevalue>
-    </replace>
+        <replace file="${s2b_root_web_3_1}/ServletMapping.java" summary="true">
+            <replacetoken>public java.lang.String[] getUrlPattern() {</replacetoken>
+            <replacevalue>public java.lang.String[] getUrlPatterns() {</replacevalue>
+        </replace>
+        <replace file="${s2b_root_web_3_1}/ServletMapping.java" summary="true">
+            <replacetoken>public void setUrlPattern(java.lang.String[] value) {</replacetoken>
+            <replacevalue>public void setUrlPatterns(java.lang.String[] value) {</replacevalue>
+        </replace>
+        <replace file="${s2b_root_web_3_1}/WebApp.java" summary="true">
+            <replacetoken>org.netbeans.modules.j2ee.dd.api.web.ServletMapping25</replacetoken>
+            <replacevalue>org.netbeans.modules.j2ee.dd.api.web.ServletMapping</replacevalue>
+        </replace>
 
-    <replace file="${s2b_root_web_3_1}/FilterMapping.java" summary="true">
-        <replacetoken>public java.lang.String[] getUrlPattern() {</replacetoken>
-        <replacevalue>public java.lang.String[] getUrlPatterns() {</replacevalue>
-    </replace>
-    <replace file="${s2b_root_web_3_1}/FilterMapping.java" summary="true">
-        <replacetoken>public void setUrlPattern(java.lang.String[] value) {</replacetoken>
-        <replacevalue>public void setUrlPatterns(java.lang.String[] value) {</replacevalue>
-    </replace>
-    <replace file="${s2b_root_web_3_1}/FilterMapping.java" summary="true">
-        <replacetoken>public java.lang.String[] getServletName() {</replacetoken>
-        <replacevalue>public java.lang.String[] getServletNames() {</replacevalue>
-    </replace>
-    <replace file="${s2b_root_web_3_1}/FilterMapping.java" summary="true">
-        <replacetoken>public void setServletName(java.lang.String[] value) {</replacetoken>
-        <replacevalue>public void setServletNames(java.lang.String[] value) {</replacevalue>
-    </replace>
+        <replace file="${s2b_root_web_3_1}/FilterMapping.java" summary="true">
+            <replacetoken>public java.lang.String[] getUrlPattern() {</replacetoken>
+            <replacevalue>public java.lang.String[] getUrlPatterns() {</replacevalue>
+        </replace>
+        <replace file="${s2b_root_web_3_1}/FilterMapping.java" summary="true">
+            <replacetoken>public void setUrlPattern(java.lang.String[] value) {</replacetoken>
+            <replacevalue>public void setUrlPatterns(java.lang.String[] value) {</replacevalue>
+        </replace>
+        <replace file="${s2b_root_web_3_1}/FilterMapping.java" summary="true">
+            <replacetoken>public java.lang.String[] getServletName() {</replacetoken>
+            <replacevalue>public java.lang.String[] getServletNames() {</replacevalue>
+        </replace>
+        <replace file="${s2b_root_web_3_1}/FilterMapping.java" summary="true">
+            <replacetoken>public void setServletName(java.lang.String[] value) {</replacetoken>
+            <replacevalue>public void setServletNames(java.lang.String[] value) {</replacevalue>
+        </replace>
 
-    <replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true">
-        <replacetoken>org.netbeans.modules.j2ee.dd.api.web.ServletMapping25</replacetoken>
-        <replacevalue>org.netbeans.modules.j2ee.dd.api.web.ServletMapping</replacevalue>
-    </replace>
+        <replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true">
+            <replacetoken>org.netbeans.modules.j2ee.dd.api.web.ServletMapping25</replacetoken>
+            <replacevalue>org.netbeans.modules.j2ee.dd.api.web.ServletMapping</replacevalue>
+        </replace>
 
-    <replace file="${s2b_root_web_3_1_frag}/ServletMapping.java" summary="true">
-        <replacetoken>public java.lang.String[] getUrlPattern() {</replacetoken>
-        <replacevalue>public java.lang.String[] getUrlPatterns() {</replacevalue>
-    </replace>
-    <replace file="${s2b_root_web_3_1_frag}/ServletMapping.java" summary="true">
-        <replacetoken>public void setUrlPattern(java.lang.String[] value) {</replacetoken>
-        <replacevalue>public void setUrlPatterns(java.lang.String[] value) {</replacevalue>
-    </replace>
+        <replace file="${s2b_root_web_3_1_frag}/ServletMapping.java" summary="true">
+            <replacetoken>public java.lang.String[] getUrlPattern() {</replacetoken>
+            <replacevalue>public java.lang.String[] getUrlPatterns() {</replacevalue>
+        </replace>
+        <replace file="${s2b_root_web_3_1_frag}/ServletMapping.java" summary="true">
+            <replacetoken>public void setUrlPattern(java.lang.String[] value) {</replacetoken>
+            <replacevalue>public void setUrlPatterns(java.lang.String[] value) {</replacevalue>
+        </replace>
 
-    <replace file="${s2b_root_web_3_1_frag}/FilterMapping.java" summary="true">
-        <replacetoken>public java.lang.String[] getUrlPattern() {</replacetoken>
-        <replacevalue>public java.lang.String[] getUrlPatterns() {</replacevalue>
-    </replace>
-    <replace file="${s2b_root_web_3_1_frag}/FilterMapping.java" summary="true">
-        <replacetoken>public void setUrlPattern(java.lang.String[] value) {</replacetoken>
-        <replacevalue>public void setUrlPatterns(java.lang.String[] value) {</replacevalue>
-    </replace>
-    <replace file="${s2b_root_web_3_1_frag}/FilterMapping.java" summary="true">
-        <replacetoken>public java.lang.String[] getServletName() {</replacetoken>
-        <replacevalue>public java.lang.String[] getServletNames() {</replacevalue>
-    </replace>
-    <replace file="${s2b_root_web_3_1_frag}/FilterMapping.java" summary="true">
-        <replacetoken>public void setServletName(java.lang.String[] value) {</replacetoken>
-        <replacevalue>public void setServletNames(java.lang.String[] value) {</replacevalue>
-    </replace>
+        <replace file="${s2b_root_web_3_1_frag}/FilterMapping.java" summary="true">
+            <replacetoken>public java.lang.String[] getUrlPattern() {</replacetoken>
+            <replacevalue>public java.lang.String[] getUrlPatterns() {</replacevalue>
+        </replace>
+        <replace file="${s2b_root_web_3_1_frag}/FilterMapping.java" summary="true">
+            <replacetoken>public void setUrlPattern(java.lang.String[] value) {</replacetoken>
+            <replacevalue>public void setUrlPatterns(java.lang.String[] value) {</replacevalue>
+        </replace>
+        <replace file="${s2b_root_web_3_1_frag}/FilterMapping.java" summary="true">
+            <replacetoken>public java.lang.String[] getServletName() {</replacetoken>
+            <replacevalue>public java.lang.String[] getServletNames() {</replacevalue>
+        </replace>
+        <replace file="${s2b_root_web_3_1_frag}/FilterMapping.java" summary="true">
+            <replacetoken>public void setServletName(java.lang.String[] value) {</replacetoken>
+            <replacevalue>public void setServletNames(java.lang.String[] value) {</replacevalue>
+        </replace>
 
-<replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setDescription(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setDisplayName(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setIcon(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setName(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setContextParam(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setFilter(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setFilterMapping(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setListener(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setServlet(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setServletMapping(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setSessionConfig(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setMimeMapping(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setWelcomeFileList(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setErrorPage(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setJspConfig(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setSecurityConstraint(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setLoginConfig(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setSecurityRole(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setEnvEntry(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setEjbRef(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setEjbLocalRef(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setServiceRef(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setResourceRef(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setResourceEnvRef(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setMessageDestinationRef(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setPersistenceContextRef(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setPersistenceUnitRef(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setPostConstruct(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setPreDestroy(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setMessageDestination(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setLocaleEncodingMappingList(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setDistributable(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_4_0}/ServletMapping.java" summary="true">
+            <replacetoken>public java.lang.String[] getUrlPattern() {</replacetoken>
+            <replacevalue>public java.lang.String[] getUrlPatterns() {</replacevalue>
+        </replace>
+        <replace file="${s2b_root_web_4_0}/ServletMapping.java" summary="true">
+            <replacetoken>public void setUrlPattern(java.lang.String[] value) {</replacetoken>
+            <replacevalue>public void setUrlPatterns(java.lang.String[] value) {</replacevalue>
+        </replace>
+        <replace file="${s2b_root_web_4_0}/WebApp.java" summary="true">
+            <replacetoken>org.netbeans.modules.j2ee.dd.api.web.ServletMapping25</replacetoken>
+            <replacevalue>org.netbeans.modules.j2ee.dd.api.web.ServletMapping</replacevalue>
+        </replace>
 
-<replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setDescription(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setDisplayName(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setIcon(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setName(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setContextParam(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setFilter(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setFilterMapping(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setListener(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setServlet(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setServletMapping(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setSessionConfig(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setMimeMapping(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setWelcomeFileList(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setErrorPage(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setJspConfig(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setSecurityConstraint(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setLoginConfig(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setSecurityRole(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setEnvEntry(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setEjbRef(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setEjbLocalRef(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setServiceRef(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setResourceRef(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setResourceEnvRef(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setMessageDestinationRef(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setPersistenceContextRef(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setPersistenceUnitRef(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setPostConstruct(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setPreDestroy(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setMessageDestination(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setLocaleEncodingMappingList(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setDistributable(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_4_0}/FilterMapping.java" summary="true">
+            <replacetoken>public java.lang.String[] getUrlPattern() {</replacetoken>
+            <replacevalue>public java.lang.String[] getUrlPatterns() {</replacevalue>
+        </replace>
+        <replace file="${s2b_root_web_4_0}/FilterMapping.java" summary="true">
+            <replacetoken>public void setUrlPattern(java.lang.String[] value) {</replacetoken>
+            <replacevalue>public void setUrlPatterns(java.lang.String[] value) {</replacevalue>
+        </replace>
+        <replace file="${s2b_root_web_4_0}/FilterMapping.java" summary="true">
+            <replacetoken>public java.lang.String[] getServletName() {</replacetoken>
+            <replacevalue>public java.lang.String[] getServletNames() {</replacevalue>
+        </replace>
+        <replace file="${s2b_root_web_4_0}/FilterMapping.java" summary="true">
+            <replacetoken>public void setServletName(java.lang.String[] value) {</replacetoken>
+            <replacevalue>public void setServletNames(java.lang.String[] value) {</replacevalue>
+        </replace>
 
-<replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setDescription(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setDisplayName(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setIcon(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setName(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setContextParam(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setFilter(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setFilterMapping(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setListener(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setServlet(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setServletMapping(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setSessionConfig(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setMimeMapping(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setWelcomeFileList(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setErrorPage(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setJspConfig(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setSecurityConstraint(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setLoginConfig(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setSecurityRole(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setEnvEntry(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setEjbRef(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setEjbLocalRef(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setServiceRef(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setResourceRef(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setResourceEnvRef(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setMessageDestinationRef(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setPersistenceContextRef(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setPersistenceUnitRef(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setPostConstruct(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setPreDestroy(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setMessageDestination(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setLocaleEncodingMappingList(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setDistributable(null);</replacetoken><replacevalue></replacevalue></replace>
 
-<replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setDescription(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setDisplayName(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setIcon(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setName(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setContextParam(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setFilter(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setFilterMapping(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setListener(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setServlet(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setServletMapping(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setSessionConfig(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setMimeMapping(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setWelcomeFileList(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setErrorPage(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setJspConfig(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setSecurityConstraint(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setLoginConfig(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setSecurityRole(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setEnvEntry(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setEjbRef(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setEjbLocalRef(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setServiceRef(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setResourceRef(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setResourceEnvRef(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setMessageDestinationRef(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setPersistenceContextRef(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setPersistenceUnitRef(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setPostConstruct(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setPreDestroy(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setMessageDestination(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setLocaleEncodingMappingList(null);</replacetoken><replacevalue></replacevalue></replace>
-<replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setDistributable(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setDescription(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setDisplayName(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setIcon(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setName(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setContextParam(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setFilter(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setFilterMapping(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setListener(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setServlet(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setServletMapping(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setSessionConfig(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setMimeMapping(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setWelcomeFileList(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setErrorPage(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setJspConfig(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setSecurityConstraint(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setLoginConfig(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setSecurityRole(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setEnvEntry(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setEjbRef(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setEjbLocalRef(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setServiceRef(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setResourceRef(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setResourceEnvRef(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setMessageDestinationRef(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setPersistenceContextRef(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setPersistenceUnitRef(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setPostConstruct(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setPreDestroy(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setMessageDestination(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setLocaleEncodingMappingList(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0}/WebApp.java" summary="true"><replacetoken>setDistributable(null);</replacetoken><replacevalue></replacevalue></replace>
 
-	<schema2beans schema="${s2b_res_root}/ejb-jar_2_1.xsd"
- 	  mddFile="${s2b_res_root}/ejb-jar_2_1.mdd"
-	  package="org.netbeans.modules.j2ee.dd.impl.ejb.model_2_1"
-	  schemaType="xmlschema"
-	  useInterfaces="true"
-	  validate="true"
-	  attrProp="true"
-	  removeUnreferencedNodes="true"
-	  rootDir="src"
-          java5="true"/>
+        <replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setDescription(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setDisplayName(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setIcon(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setName(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setContextParam(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setFilter(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setFilterMapping(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setListener(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setServlet(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setServletMapping(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setSessionConfig(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setMimeMapping(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setWelcomeFileList(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setErrorPage(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setJspConfig(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setSecurityConstraint(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setLoginConfig(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setSecurityRole(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setEnvEntry(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setEjbRef(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setEjbLocalRef(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setServiceRef(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setResourceRef(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setResourceEnvRef(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setMessageDestinationRef(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setPersistenceContextRef(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setPersistenceUnitRef(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setPostConstruct(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setPreDestroy(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setMessageDestination(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setLocaleEncodingMappingList(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_0_frag}/WebFragment.java" summary="true"><replacetoken>setDistributable(null);</replacetoken><replacevalue></replacevalue></replace>
+
+        <replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setDescription(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setDisplayName(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setIcon(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setName(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setContextParam(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setFilter(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setFilterMapping(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setListener(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setServlet(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setServletMapping(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setSessionConfig(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setMimeMapping(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setWelcomeFileList(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setErrorPage(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setJspConfig(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setSecurityConstraint(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setLoginConfig(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setSecurityRole(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setEnvEntry(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setEjbRef(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setEjbLocalRef(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setServiceRef(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setResourceRef(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setResourceEnvRef(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setMessageDestinationRef(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setPersistenceContextRef(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setPersistenceUnitRef(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setPostConstruct(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setPreDestroy(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setMessageDestination(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setLocaleEncodingMappingList(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1}/WebApp.java" summary="true"><replacetoken>setDistributable(null);</replacetoken><replacevalue></replacevalue></replace>
+
+        <replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setDescription(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setDisplayName(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setIcon(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setName(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setContextParam(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setFilter(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setFilterMapping(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setListener(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setServlet(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setServletMapping(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setSessionConfig(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setMimeMapping(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setWelcomeFileList(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setErrorPage(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setJspConfig(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setSecurityConstraint(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setLoginConfig(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setSecurityRole(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setEnvEntry(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setEjbRef(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setEjbLocalRef(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setServiceRef(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setResourceRef(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setResourceEnvRef(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setMessageDestinationRef(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setPersistenceContextRef(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setPersistenceUnitRef(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setPostConstruct(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setPreDestroy(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setMessageDestination(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setLocaleEncodingMappingList(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_3_1_frag}/WebFragment.java" summary="true"><replacetoken>setDistributable(null);</replacetoken><replacevalue></replacevalue></replace>
+
+        <replace file="${s2b_root_web_4_0}/WebApp.java" summary="true"><replacetoken>setDescription(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_4_0}/WebApp.java" summary="true"><replacetoken>setDisplayName(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_4_0}/WebApp.java" summary="true"><replacetoken>setIcon(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_4_0}/WebApp.java" summary="true"><replacetoken>setName(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_4_0}/WebApp.java" summary="true"><replacetoken>setContextParam(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_4_0}/WebApp.java" summary="true"><replacetoken>setFilter(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_4_0}/WebApp.java" summary="true"><replacetoken>setFilterMapping(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_4_0}/WebApp.java" summary="true"><replacetoken>setListener(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_4_0}/WebApp.java" summary="true"><replacetoken>setServlet(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_4_0}/WebApp.java" summary="true"><replacetoken>setServletMapping(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_4_0}/WebApp.java" summary="true"><replacetoken>setSessionConfig(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_4_0}/WebApp.java" summary="true"><replacetoken>setMimeMapping(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_4_0}/WebApp.java" summary="true"><replacetoken>setWelcomeFileList(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_4_0}/WebApp.java" summary="true"><replacetoken>setErrorPage(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_4_0}/WebApp.java" summary="true"><replacetoken>setJspConfig(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_4_0}/WebApp.java" summary="true"><replacetoken>setSecurityConstraint(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_4_0}/WebApp.java" summary="true"><replacetoken>setLoginConfig(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_4_0}/WebApp.java" summary="true"><replacetoken>setSecurityRole(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_4_0}/WebApp.java" summary="true"><replacetoken>setEnvEntry(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_4_0}/WebApp.java" summary="true"><replacetoken>setEjbRef(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_4_0}/WebApp.java" summary="true"><replacetoken>setEjbLocalRef(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_4_0}/WebApp.java" summary="true"><replacetoken>setServiceRef(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_4_0}/WebApp.java" summary="true"><replacetoken>setResourceRef(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_4_0}/WebApp.java" summary="true"><replacetoken>setResourceEnvRef(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_4_0}/WebApp.java" summary="true"><replacetoken>setMessageDestinationRef(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_4_0}/WebApp.java" summary="true"><replacetoken>setPersistenceContextRef(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_4_0}/WebApp.java" summary="true"><replacetoken>setPersistenceUnitRef(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_4_0}/WebApp.java" summary="true"><replacetoken>setPostConstruct(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_4_0}/WebApp.java" summary="true"><replacetoken>setPreDestroy(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_4_0}/WebApp.java" summary="true"><replacetoken>setMessageDestination(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_4_0}/WebApp.java" summary="true"><replacetoken>setLocaleEncodingMappingList(null);</replacetoken><replacevalue></replacevalue></replace>
+        <replace file="${s2b_root_web_4_0}/WebApp.java" summary="true"><replacetoken>setDistributable(null);</replacetoken><replacevalue></replacevalue></replace>
+
+        
+        <schema2beans schema="${s2b_res_root}/ejb-jar_2_1.xsd"
+        mddFile="${s2b_res_root}/ejb-jar_2_1.mdd"
+        package="org.netbeans.modules.j2ee.dd.impl.ejb.model_2_1"
+        schemaType="xmlschema"
+        useInterfaces="true"
+        validate="true"
+        attrProp="true"
+        removeUnreferencedNodes="true"
+        rootDir="src"
+        java5="true"/>
         <echo file="${s2b_root_2_1}/package-info.java">@org.netbeans.api.annotations.common.SuppressWarnings("NM_SAME_SIMPLE_NAME_AS_INTERFACE") // justification="Generated implementation classes"${line.separator}package org.netbeans.modules.j2ee.dd.impl.ejb.model_2_1;</echo>
-	<schema2beans schema="${s2b_res_root}/ejb-jar_3_0.xsd"
- 	  mddFile="${s2b_res_root}/ejb-jar_3_0.mdd"
-	  package="org.netbeans.modules.j2ee.dd.impl.ejb.model_3_0"
-	  schemaType="xmlschema"
-	  useInterfaces="true"
-	  validate="true"
-	  attrProp="true"
-	  removeUnreferencedNodes="true"
-	  rootDir="src"
-          java5="true"/>
+        <schema2beans schema="${s2b_res_root}/ejb-jar_3_0.xsd"
+        mddFile="${s2b_res_root}/ejb-jar_3_0.mdd"
+        package="org.netbeans.modules.j2ee.dd.impl.ejb.model_3_0"
+        schemaType="xmlschema"
+        useInterfaces="true"
+        validate="true"
+        attrProp="true"
+        removeUnreferencedNodes="true"
+        rootDir="src"
+        java5="true"/>
         <echo file="${s2b_root_3_0}/package-info.java">@org.netbeans.api.annotations.common.SuppressWarnings("NM_SAME_SIMPLE_NAME_AS_INTERFACE") // justification="Generated implementation classes"${line.separator}package org.netbeans.modules.j2ee.dd.impl.ejb.model_3_0;</echo>
-	<schema2beans schema="${s2b_res_root}/ejb-jar_3_1.xsd"
- 	  mddFile="${s2b_res_root}/ejb-jar_3_1.mdd"
-	  package="org.netbeans.modules.j2ee.dd.impl.ejb.model_3_1"
-	  schemaType="xmlschema"
-	  useInterfaces="true"
-	  validate="true"
-	  attrProp="true"
-	  removeUnreferencedNodes="true"
-	  rootDir="src"
-          java5="true"/>
+        <schema2beans schema="${s2b_res_root}/ejb-jar_3_1.xsd"
+        mddFile="${s2b_res_root}/ejb-jar_3_1.mdd"
+        package="org.netbeans.modules.j2ee.dd.impl.ejb.model_3_1"
+        schemaType="xmlschema"
+        useInterfaces="true"
+        validate="true"
+        attrProp="true"
+        removeUnreferencedNodes="true"
+        rootDir="src"
+        java5="true"/>
         <echo file="${s2b_root_3_1}/package-info.java">@org.netbeans.api.annotations.common.SuppressWarnings("NM_SAME_SIMPLE_NAME_AS_INTERFACE") // justification="Generated implementation classes"${line.separator}package org.netbeans.modules.j2ee.dd.impl.ejb.model_3_1;</echo>
-	<schema2beans schema="${s2b_res_root}/ejb-jar_3_2.xsd"
- 	  mddFile="${s2b_res_root}/ejb-jar_3_2.mdd"
-	  package="org.netbeans.modules.j2ee.dd.impl.ejb.model_3_2"
-	  schemaType="xmlschema"
-	  useInterfaces="true"
-	  validate="true"
-	  attrProp="true"
-	  removeUnreferencedNodes="true"
-	  rootDir="src"
-          java5="true"/>
+        <schema2beans schema="${s2b_res_root}/ejb-jar_3_2.xsd"
+        mddFile="${s2b_res_root}/ejb-jar_3_2.mdd"
+        package="org.netbeans.modules.j2ee.dd.impl.ejb.model_3_2"
+        schemaType="xmlschema"
+        useInterfaces="true"
+        validate="true"
+        attrProp="true"
+        removeUnreferencedNodes="true"
+        rootDir="src"
+        java5="true"/>
         <echo file="${s2b_root_3_2}/package-info.java">@org.netbeans.api.annotations.common.SuppressWarnings("NM_SAME_SIMPLE_NAME_AS_INTERFACE") // justification="Generated implementation classes"${line.separator}package org.netbeans.modules.j2ee.dd.impl.ejb.model_3_2;</echo>
-    <replace file="${s2b_root_3_1}/EjbJar.java" summary="true">
-        <replacetoken>public java.lang.String getVersion() {</replacetoken>
-        <replacevalue>public java.lang.String getVersionString() {</replacevalue>
-    </replace>
-    <replace file="${s2b_root_3_1}/EjbJar.java" summary="true">
-        <replacetoken>public void setVersion(java.lang.String value) {</replacetoken>
-        <replacevalue>public void setVersionString(java.lang.String value) {</replacevalue>
-    </replace>
-    <replace file="${s2b_root_3_1}/EjbJar.java" summary="true">
-        <replacetoken>(getVersion()</replacetoken>
-        <replacevalue>(getVersionString()</replacevalue>
-    </replace>
-    <replace file="${s2b_root_3_1}/EjbJar.java" summary="true">
-        <replacetoken>setVersion("3.1");</replacetoken>
-        <replacevalue>setVersionString("3.1");</replacevalue>
-    </replace>
-    <replace file="${s2b_root_3_2}/EjbJar.java" summary="true">
-        <replacetoken>public java.lang.String getVersion() {</replacetoken>
-        <replacevalue>public java.lang.String getVersionString() {</replacevalue>
-    </replace>
-    <replace file="${s2b_root_3_2}/EjbJar.java" summary="true">
-        <replacetoken>public void setVersion(java.lang.String value) {</replacetoken>
-        <replacevalue>public void setVersionString(java.lang.String value) {</replacevalue>
-    </replace>
-    <replace file="${s2b_root_3_2}/EjbJar.java" summary="true">
-        <replacetoken>(getVersion()</replacetoken>
-        <replacevalue>(getVersionString()</replacevalue>
-    </replace>
-    <replace file="${s2b_root_3_2}/EjbJar.java" summary="true">
-        <replacetoken>setVersion("3.2");</replacetoken>
-        <replacevalue>setVersionString("3.2");</replacevalue>
-    </replace>
-    <replace file="${s2b_root_3_2}/EjbRelation.java" summary="true">
-        <replacetoken>setEjbRelationshipRole(org.netbeans.modules.j2ee.dd.api.ejb.EjbRelationshipRole[] value)</replacetoken>
-        <replacevalue>setEjbRelationshipRole(org.netbeans.modules.j2ee.dd.api.ejb.EjbRelationshipRole value)</replacevalue>
-    </replace>
-    <replace file="${s2b_root_3_2}/EjbRelation.java" summary="true">
-        <replacetoken>this.setValue(EJB_RELATIONSHIP_ROLE, value);</replacetoken>
-        <replacevalue>this.setValue(EJB_RELATIONSHIP_ROLE, 0, value);</replacevalue>
-    </replace>
-    <replace file="${s2b_root_3_2}/EjbRelation.java" summary="true">
-        <replacetoken>org.netbeans.modules.j2ee.dd.api.ejb.EjbRelationshipRole[] getEjbRelationshipRole()</replacetoken>
-        <replacevalue>org.netbeans.modules.j2ee.dd.api.ejb.EjbRelationshipRole getEjbRelationshipRole()</replacevalue>
-    </replace>
-    <replace file="${s2b_root_3_2}/EjbRelation.java" summary="true">
-        <replacetoken>return (EjbRelationshipRole[])this.getValues(EJB_RELATIONSHIP_ROLE)</replacetoken>
-        <replacevalue>return (EjbRelationshipRole)this.getValue(EJB_RELATIONSHIP_ROLE, 0)</replacevalue>
-    </replace>
+        <replace file="${s2b_root_3_1}/EjbJar.java" summary="true">
+            <replacetoken>public java.lang.String getVersion() {</replacetoken>
+            <replacevalue>public java.lang.String getVersionString() {</replacevalue>
+        </replace>
+        <replace file="${s2b_root_3_1}/EjbJar.java" summary="true">
+            <replacetoken>public void setVersion(java.lang.String value) {</replacetoken>
+            <replacevalue>public void setVersionString(java.lang.String value) {</replacevalue>
+        </replace>
+        <replace file="${s2b_root_3_1}/EjbJar.java" summary="true">
+            <replacetoken>(getVersion()</replacetoken>
+            <replacevalue>(getVersionString()</replacevalue>
+        </replace>
+        <replace file="${s2b_root_3_1}/EjbJar.java" summary="true">
+            <replacetoken>setVersion("3.1");</replacetoken>
+            <replacevalue>setVersionString("3.1");</replacevalue>
+        </replace>
+        <replace file="${s2b_root_3_2}/EjbJar.java" summary="true">
+            <replacetoken>public java.lang.String getVersion() {</replacetoken>
+            <replacevalue>public java.lang.String getVersionString() {</replacevalue>
+        </replace>
+        <replace file="${s2b_root_3_2}/EjbJar.java" summary="true">
+            <replacetoken>public void setVersion(java.lang.String value) {</replacetoken>
+            <replacevalue>public void setVersionString(java.lang.String value) {</replacevalue>
+        </replace>
+        <replace file="${s2b_root_3_2}/EjbJar.java" summary="true">
+            <replacetoken>(getVersion()</replacetoken>
+            <replacevalue>(getVersionString()</replacevalue>
+        </replace>
+        <replace file="${s2b_root_3_2}/EjbJar.java" summary="true">
+            <replacetoken>setVersion("3.2");</replacetoken>
+            <replacevalue>setVersionString("3.2");</replacevalue>
+        </replace>
+        <replace file="${s2b_root_3_2}/EjbRelation.java" summary="true">
+            <replacetoken>setEjbRelationshipRole(org.netbeans.modules.j2ee.dd.api.ejb.EjbRelationshipRole[] value)</replacetoken>
+            <replacevalue>setEjbRelationshipRole(org.netbeans.modules.j2ee.dd.api.ejb.EjbRelationshipRole value)</replacevalue>
+        </replace>
+        <replace file="${s2b_root_3_2}/EjbRelation.java" summary="true">
+            <replacetoken>this.setValue(EJB_RELATIONSHIP_ROLE, value);</replacetoken>
+            <replacevalue>this.setValue(EJB_RELATIONSHIP_ROLE, 0, value);</replacevalue>
+        </replace>
+        <replace file="${s2b_root_3_2}/EjbRelation.java" summary="true">
+            <replacetoken>org.netbeans.modules.j2ee.dd.api.ejb.EjbRelationshipRole[] getEjbRelationshipRole()</replacetoken>
+            <replacevalue>org.netbeans.modules.j2ee.dd.api.ejb.EjbRelationshipRole getEjbRelationshipRole()</replacevalue>
+        </replace>
+        <replace file="${s2b_root_3_2}/EjbRelation.java" summary="true">
+            <replacetoken>return (EjbRelationshipRole[])this.getValues(EJB_RELATIONSHIP_ROLE)</replacetoken>
+            <replacevalue>return (EjbRelationshipRole)this.getValue(EJB_RELATIONSHIP_ROLE, 0)</replacevalue>
+        </replace>
         <schema2beans schema="${s2b_res_root}/application_1_4.xsd"
- 	  mddFile="${s2b_res_root}/application_1_4.mdd"
-	  package="org.netbeans.modules.j2ee.dd.impl.application.model_1_4"
-	  schemaType="xmlschema"
-	  useInterfaces="true"
-	  validate="true"
-	  attrProp="true"
-	  removeUnreferencedNodes="true"
-	  rootDir="src"
-          java5="true"/>
+        mddFile="${s2b_res_root}/application_1_4.mdd"
+        package="org.netbeans.modules.j2ee.dd.impl.application.model_1_4"
+        schemaType="xmlschema"
+        useInterfaces="true"
+        validate="true"
+        attrProp="true"
+        removeUnreferencedNodes="true"
+        rootDir="src"
+        java5="true"/>
         <echo file="${s2b_root_app_1_4}/package-info.java">@org.netbeans.api.annotations.common.SuppressWarnings("NM_SAME_SIMPLE_NAME_AS_INTERFACE") // justification="Generated implementation classes"${line.separator}package org.netbeans.modules.j2ee.dd.impl.application.model_1_4;</echo>
         <schema2beans schema="${s2b_res_root}/application_5.xsd"
- 	  mddFile="${s2b_res_root}/application_5.mdd"
-	  package="org.netbeans.modules.j2ee.dd.impl.application.model_5"
-	  schemaType="xmlschema"
-	  useInterfaces="true"
-	  validate="true"
-	  attrProp="true"
-	  removeUnreferencedNodes="true"
-	  rootDir="src"
-          java5="true"/>
+        mddFile="${s2b_res_root}/application_5.mdd"
+        package="org.netbeans.modules.j2ee.dd.impl.application.model_5"
+        schemaType="xmlschema"
+        useInterfaces="true"
+        validate="true"
+        attrProp="true"
+        removeUnreferencedNodes="true"
+        rootDir="src"
+        java5="true"/>
         <echo file="${s2b_root_app_5}/package-info.java">@org.netbeans.api.annotations.common.SuppressWarnings("NM_SAME_SIMPLE_NAME_AS_INTERFACE") // justification="Generated implementation classes"${line.separator}package org.netbeans.modules.j2ee.dd.impl.application.model_5;</echo>
         <schema2beans schema="${s2b_res_root}/application_6.xsd"
- 	  mddFile="${s2b_res_root}/application_6.mdd"
-	  package="org.netbeans.modules.j2ee.dd.impl.application.model_6"
-	  schemaType="xmlschema"
-	  useInterfaces="true"
-	  validate="true"
-	  attrProp="true"
-	  removeUnreferencedNodes="true"
-	  rootDir="src"
-          java5="true"/>
+        mddFile="${s2b_res_root}/application_6.mdd"
+        package="org.netbeans.modules.j2ee.dd.impl.application.model_6"
+        schemaType="xmlschema"
+        useInterfaces="true"
+        validate="true"
+        attrProp="true"
+        removeUnreferencedNodes="true"
+        rootDir="src"
+        java5="true"/>
         <echo file="${s2b_root_app_6}/package-info.java">@org.netbeans.api.annotations.common.SuppressWarnings("NM_SAME_SIMPLE_NAME_AS_INTERFACE") // justification="Generated implementation classes"${line.separator}package org.netbeans.modules.j2ee.dd.impl.application.model_6;</echo>
         <schema2beans schema="${s2b_res_root}/application_7.xsd"
- 	  mddFile="${s2b_res_root}/application_7.mdd"
-	  package="org.netbeans.modules.j2ee.dd.impl.application.model_7"
-	  schemaType="xmlschema"
-	  useInterfaces="true"
-	  validate="true"
-	  attrProp="true"
-	  removeUnreferencedNodes="true"
-	  rootDir="src"
-          java5="true"/>
+        mddFile="${s2b_res_root}/application_7.mdd"
+        package="org.netbeans.modules.j2ee.dd.impl.application.model_7"
+        schemaType="xmlschema"
+        useInterfaces="true"
+        validate="true"
+        attrProp="true"
+        removeUnreferencedNodes="true"
+        rootDir="src"
+        java5="true"/>
         <echo file="${s2b_root_app_7}/package-info.java">@org.netbeans.api.annotations.common.SuppressWarnings("NM_SAME_SIMPLE_NAME_AS_INTERFACE") // justification="Generated implementation classes"${line.separator}package org.netbeans.modules.j2ee.dd.impl.application.model_7;</echo>
-    <replace file="${s2b_root_app_6}/Application.java" summary="true">
-        <replacetoken>public java.lang.String getVersion() {</replacetoken>
-        <replacevalue>public java.lang.String getVersionString() {</replacevalue>
-    </replace>
-    <replace file="${s2b_root_app_6}/Application.java" summary="true">
-        <replacetoken>public void setVersion(java.lang.String value) {</replacetoken>
-        <replacevalue>public void setVersionString(java.lang.String value) {</replacevalue>
-    </replace>
-    <replace file="${s2b_root_app_6}/Application.java" summary="true">
-        <replacetoken>(getVersion()</replacetoken>
-        <replacevalue>(getVersionString()</replacevalue>
-    </replace>
-    <replace file="${s2b_root_app_6}/Application.java" summary="true">
-        <replacetoken>setVersion("6");</replacetoken>
-        <replacevalue>setVersionString("6");</replacevalue>
-    </replace>
-    <replace file="${s2b_root_app_7}/Application.java" summary="true">
-        <replacetoken>public java.lang.String getVersion() {</replacetoken>
-        <replacevalue>public java.lang.String getVersionString() {</replacevalue>
-    </replace>
-    <replace file="${s2b_root_app_7}/Application.java" summary="true">
-        <replacetoken>public void setVersion(java.lang.String value) {</replacetoken>
-        <replacevalue>public void setVersionString(java.lang.String value) {</replacevalue>
-    </replace>
-    <replace file="${s2b_root_app_7}/Application.java" summary="true">
-        <replacetoken>(getVersion()</replacetoken>
-        <replacevalue>(getVersionString()</replacevalue>
-    </replace>
-    <replace file="${s2b_root_app_7}/Application.java" summary="true">
-        <replacetoken>setVersion("7");</replacetoken>
-        <replacevalue>setVersionString("7");</replacevalue>
-    </replace>
+        <schema2beans schema="${s2b_res_root}/application_8.xsd"
+        mddFile="${s2b_res_root}/application_8.mdd"
+        package="org.netbeans.modules.j2ee.dd.impl.application.model_8"
+        schemaType="xmlschema"
+        useInterfaces="true"
+        validate="true"
+        attrProp="true"
+        removeUnreferencedNodes="true"
+        rootDir="src"
+        java5="true"/>
+        <echo file="${s2b_root_app_8}/package-info.java">@org.netbeans.api.annotations.common.SuppressWarnings("NM_SAME_SIMPLE_NAME_AS_INTERFACE") // justification="Generated implementation classes"${line.separator}package org.netbeans.modules.j2ee.dd.impl.application.model_8;</echo>
+
+        <replace file="${s2b_root_app_6}/Application.java" summary="true">
+            <replacetoken>public java.lang.String getVersion() {</replacetoken>
+            <replacevalue>public java.lang.String getVersionString() {</replacevalue>
+        </replace>
+        <replace file="${s2b_root_app_6}/Application.java" summary="true">
+            <replacetoken>public void setVersion(java.lang.String value) {</replacetoken>
+            <replacevalue>public void setVersionString(java.lang.String value) {</replacevalue>
+        </replace>
+        <replace file="${s2b_root_app_6}/Application.java" summary="true">
+            <replacetoken>(getVersion()</replacetoken>
+            <replacevalue>(getVersionString()</replacevalue>
+        </replace>
+        <replace file="${s2b_root_app_6}/Application.java" summary="true">
+            <replacetoken>setVersion("6");</replacetoken>
+            <replacevalue>setVersionString("6");</replacevalue>
+        </replace>
+        <replace file="${s2b_root_app_7}/Application.java" summary="true">
+            <replacetoken>public java.lang.String getVersion() {</replacetoken>
+            <replacevalue>public java.lang.String getVersionString() {</replacevalue>
+        </replace>
+        <replace file="${s2b_root_app_7}/Application.java" summary="true">
+            <replacetoken>public void setVersion(java.lang.String value) {</replacetoken>
+            <replacevalue>public void setVersionString(java.lang.String value) {</replacevalue>
+        </replace>
+        <replace file="${s2b_root_app_7}/Application.java" summary="true">
+            <replacetoken>(getVersion()</replacetoken>
+            <replacevalue>(getVersionString()</replacevalue>
+        </replace>
+        <replace file="${s2b_root_app_7}/Application.java" summary="true">
+            <replacetoken>setVersion("7");</replacetoken>
+            <replacevalue>setVersionString("7");</replacevalue>
+        </replace>
+
+
         <schema2beans schema="${s2b_res_root}/application-client_1_4.xsd"
- 	  mddFile="${s2b_res_root}/application-client_1_4.mdd"
-	  package="org.netbeans.modules.j2ee.dd.impl.client.model_1_4"
-	  schemaType="xmlschema"
-	  useInterfaces="true"
-	  validate="true"
-	  attrProp="true"
-	  removeUnreferencedNodes="true"
-	  rootDir="src"
-          java5="true"/>
+        mddFile="${s2b_res_root}/application-client_1_4.mdd"
+        package="org.netbeans.modules.j2ee.dd.impl.client.model_1_4"
+        schemaType="xmlschema"
+        useInterfaces="true"
+        validate="true"
+        attrProp="true"
+        removeUnreferencedNodes="true"
+        rootDir="src"
+        java5="true"/>
         <echo file="${s2b_root_client_1_4}/package-info.java">@org.netbeans.api.annotations.common.SuppressWarnings("NM_SAME_SIMPLE_NAME_AS_INTERFACE") // justification="Generated implementation classes"${line.separator}package org.netbeans.modules.j2ee.dd.impl.client.model_1_4;</echo>
         <schema2beans schema="${s2b_res_root}/application-client_5.xsd"
- 	  mddFile="${s2b_res_root}/application-client_5.mdd"
-	  package="org.netbeans.modules.j2ee.dd.impl.client.model_5_0"
-	  schemaType="xmlschema"
-	  useInterfaces="true"
-	  validate="true"
-	  attrProp="true"
-	  removeUnreferencedNodes="true"
-	  rootDir="src"
-          java5="true"/>
+        mddFile="${s2b_res_root}/application-client_5.mdd"
+        package="org.netbeans.modules.j2ee.dd.impl.client.model_5_0"
+        schemaType="xmlschema"
+        useInterfaces="true"
+        validate="true"
+        attrProp="true"
+        removeUnreferencedNodes="true"
+        rootDir="src"
+        java5="true"/>
         <echo file="${s2b_root_client_5_0}/package-info.java">@org.netbeans.api.annotations.common.SuppressWarnings("NM_SAME_SIMPLE_NAME_AS_INTERFACE") // justification="Generated implementation classes"${line.separator}package org.netbeans.modules.j2ee.dd.impl.client.model_5_0;</echo>
         <schema2beans schema="${s2b_res_root}/application-client_6.xsd"
- 	  mddFile="${s2b_res_root}/application-client_6.mdd"
-	  package="org.netbeans.modules.j2ee.dd.impl.client.model_6_0"
-	  schemaType="xmlschema"
-	  useInterfaces="true"
-	  validate="true"
-	  attrProp="true"
-	  removeUnreferencedNodes="true"
-	  rootDir="src"
-          java5="true"/>
+        mddFile="${s2b_res_root}/application-client_6.mdd"
+        package="org.netbeans.modules.j2ee.dd.impl.client.model_6_0"
+        schemaType="xmlschema"
+        useInterfaces="true"
+        validate="true"
+        attrProp="true"
+        removeUnreferencedNodes="true"
+        rootDir="src"
+        java5="true"/>
         <echo file="${s2b_root_client_6_0}/package-info.java">@org.netbeans.api.annotations.common.SuppressWarnings("NM_SAME_SIMPLE_NAME_AS_INTERFACE") // justification="Generated implementation classes"${line.separator}package org.netbeans.modules.j2ee.dd.impl.client.model_6_0;</echo>
         <schema2beans schema="${s2b_res_root}/application-client_7.xsd"
- 	  mddFile="${s2b_res_root}/application-client_7.mdd"
-	  package="org.netbeans.modules.j2ee.dd.impl.client.model_7_0"
-	  schemaType="xmlschema"
-	  useInterfaces="true"
-	  validate="true"
-	  attrProp="true"
-	  removeUnreferencedNodes="true"
-	  rootDir="src"
-          java5="true"/>
+        mddFile="${s2b_res_root}/application-client_7.mdd"
+        package="org.netbeans.modules.j2ee.dd.impl.client.model_7_0"
+        schemaType="xmlschema"
+        useInterfaces="true"
+        validate="true"
+        attrProp="true"
+        removeUnreferencedNodes="true"
+        rootDir="src"
+        java5="true"/>
         <echo file="${s2b_root_client_7_0}/package-info.java">@org.netbeans.api.annotations.common.SuppressWarnings("NM_SAME_SIMPLE_NAME_AS_INTERFACE") // justification="Generated implementation classes"${line.separator}package org.netbeans.modules.j2ee.dd.impl.client.model_7_0;</echo>
-    <replace file="${s2b_root_client_6_0}/ApplicationClient.java" summary="true">
-        <replacetoken>public java.lang.String getVersion() {</replacetoken>
-        <replacevalue>public java.lang.String getVersionString() {</replacevalue>
-    </replace>
-    <replace file="${s2b_root_client_6_0}/ApplicationClient.java" summary="true">
-        <replacetoken>public void setVersion(java.lang.String value) {</replacetoken>
-        <replacevalue>public void setVersionString(java.lang.String value) {</replacevalue>
-    </replace>
-    <replace file="${s2b_root_client_6_0}/ApplicationClient.java" summary="true">
-        <replacetoken>(getVersion()</replacetoken>
-        <replacevalue>(getVersionString()</replacevalue>
-    </replace>
-    <replace file="${s2b_root_client_6_0}/ApplicationClient.java" summary="true">
-        <replacetoken>setVersion("6");</replacetoken>
-        <replacevalue>setVersionString("6");</replacevalue>
-    </replace>
-    <replace file="${s2b_root_client_7_0}/ApplicationClient.java" summary="true">
-        <replacetoken>public java.lang.String getVersion() {</replacetoken>
-        <replacevalue>public java.lang.String getVersionString() {</replacevalue>
-    </replace>
-    <replace file="${s2b_root_client_7_0}/ApplicationClient.java" summary="true">
-        <replacetoken>public void setVersion(java.lang.String value) {</replacetoken>
-        <replacevalue>public void setVersionString(java.lang.String value) {</replacevalue>
-    </replace>
-    <replace file="${s2b_root_client_7_0}/ApplicationClient.java" summary="true">
-        <replacetoken>(getVersion()</replacetoken>
-        <replacevalue>(getVersionString()</replacevalue>
-    </replace>
-    <replace file="${s2b_root_client_7_0}/ApplicationClient.java" summary="true">
-        <replacetoken>setVersion("7");</replacetoken>
-        <replacevalue>setVersionString("7");</replacevalue>
-    </replace>
-  </target>
+        <replace file="${s2b_root_client_6_0}/ApplicationClient.java" summary="true">
+            <replacetoken>public java.lang.String getVersion() {</replacetoken>
+            <replacevalue>public java.lang.String getVersionString() {</replacevalue>
+        </replace>
+        <replace file="${s2b_root_client_6_0}/ApplicationClient.java" summary="true">
+            <replacetoken>public void setVersion(java.lang.String value) {</replacetoken>
+            <replacevalue>public void setVersionString(java.lang.String value) {</replacevalue>
+        </replace>
+        <replace file="${s2b_root_client_6_0}/ApplicationClient.java" summary="true">
+            <replacetoken>(getVersion()</replacetoken>
+            <replacevalue>(getVersionString()</replacevalue>
+        </replace>
+        <replace file="${s2b_root_client_6_0}/ApplicationClient.java" summary="true">
+            <replacetoken>setVersion("6");</replacetoken>
+            <replacevalue>setVersionString("6");</replacevalue>
+        </replace>
+        <replace file="${s2b_root_client_7_0}/ApplicationClient.java" summary="true">
+            <replacetoken>public java.lang.String getVersion() {</replacetoken>
+            <replacevalue>public java.lang.String getVersionString() {</replacevalue>
+        </replace>
+        <replace file="${s2b_root_client_7_0}/ApplicationClient.java" summary="true">
+            <replacetoken>public void setVersion(java.lang.String value) {</replacetoken>
+            <replacevalue>public void setVersionString(java.lang.String value) {</replacevalue>
+        </replace>
+        <replace file="${s2b_root_client_7_0}/ApplicationClient.java" summary="true">
+            <replacetoken>(getVersion()</replacetoken>
+            <replacevalue>(getVersionString()</replacevalue>
+        </replace>
+        <replace file="${s2b_root_client_7_0}/ApplicationClient.java" summary="true">
+            <replacetoken>setVersion("7");</replacetoken>
+            <replacevalue>setVersionString("7");</replacevalue>
+        </replace>
+    </target>
 
-  <target name="compile" depends="dd2beansgen,projectized-common.compile"/>
+    <target name="compile" depends="dd2beansgen,projectized-common.compile"/>
 
-  <target name="clean" depends="projectized-common.clean,clean-ddgen-src"/>
+    <target name="clean" depends="projectized-common.clean,clean-ddgen-src"/>
 
-  <target name="clean-ddgen-src">
+    <target name="clean-ddgen-src">
         <mkdir dir="${s2b_root_web_2_4}"/>
         <mkdir dir="${s2b_root_web_2_5}"/>
         <mkdir dir="${s2b_root_web_3_0}"/>
         <mkdir dir="${s2b_root_web_3_0_frag}"/>
         <mkdir dir="${s2b_root_web_3_1}"/>
         <mkdir dir="${s2b_root_web_3_1_frag}"/>
+        <mkdir dir="${s2b_root_web_4_0}"/>
+        <mkdir dir="${s2b_root_web_4_0_frag}"/>
         <mkdir dir="${s2b_root_2_1}"/>
         <mkdir dir="${s2b_root_3_0}"/>
         <mkdir dir="${s2b_root_3_1}"/>
@@ -679,10 +786,12 @@
         <mkdir dir="${s2b_root_app_5}"/>
         <mkdir dir="${s2b_root_app_6}"/>
         <mkdir dir="${s2b_root_app_7}"/>
+        <mkdir dir="${s2b_root_app_8}"/>
         <mkdir dir="${s2b_root_client_1_4}"/>
         <mkdir dir="${s2b_root_client_5_0}"/>
         <mkdir dir="${s2b_root_client_6_0}"/>
         <mkdir dir="${s2b_root_client_7_0}"/>
+        <mkdir dir="${s2b_root_client_8_0}"/>
         <delete>
             <fileset dir="${s2b_root_web_2_4}">
                 <include name="*.java"/>
@@ -720,6 +829,18 @@
         </delete>
         <delete dir="${s2b_root_web_3_1_frag}"/>
         <delete>
+            <fileset dir="${s2b_root_web_4_0}">
+                <include name="*.java"/>
+            </fileset>
+        </delete>
+        <delete dir="${s2b_root_web_4_0}"/>
+        <delete>
+            <fileset dir="${s2b_root_web_4_0_frag}">
+                <include name="*.java"/>
+            </fileset>
+        </delete>
+        <delete dir="${s2b_root_web_4_0_frag}"/>
+        <delete>
             <fileset dir="${s2b_root_2_1}">
                 <include name="*.java"/>
             </fileset>
@@ -768,6 +889,12 @@
         </delete>
         <delete dir="${s2b_root_app_7}"/>
         <delete>
+            <fileset dir="${s2b_root_app_8}">
+                <include name="*.java"/>
+            </fileset>
+        </delete>
+        <delete dir="${s2b_root_app_8}"/>
+        <delete>
             <fileset dir="${s2b_root_client_1_4}">
                 <include name="*.java"/>
             </fileset>
@@ -791,15 +918,21 @@
             </fileset>
         </delete>
         <delete dir="${s2b_root_client_7_0}"/>
-  </target>
+        <delete>
+            <fileset dir="${s2b_root_client_8_0}">
+                <include name="*.java"/>
+            </fileset>
+        </delete>
+        <delete dir="${s2b_root_client_8_0}"/>
+    </target>
 
-  <target name="javadoc" depends="init-javadoc, projectized.javadoc"/>
+    <target name="javadoc" depends="init-javadoc, projectized.javadoc"/>
 
-  <target name="init-javadoc">
-      <mkdir dir="${netbeans.javadoc.dir}/org-netbeans-modules-j2ee-dd/arch"/>
-      <copy file="doc/ddapi_architecture.html" todir="${netbeans.javadoc.dir}/org-netbeans-modules-j2ee-dd/arch"/>
-      <copy file="doc/dd_api_schema.jpg" todir="${netbeans.javadoc.dir}/org-netbeans-modules-j2ee-dd/arch"/>
-      <copy file="doc/usage.html" todir="${netbeans.javadoc.dir}/org-netbeans-modules-j2ee-dd/arch"/>
-  </target>
+    <target name="init-javadoc">
+        <mkdir dir="${netbeans.javadoc.dir}/org-netbeans-modules-j2ee-dd/arch"/>
+        <copy file="doc/ddapi_architecture.html" todir="${netbeans.javadoc.dir}/org-netbeans-modules-j2ee-dd/arch"/>
+        <copy file="doc/dd_api_schema.jpg" todir="${netbeans.javadoc.dir}/org-netbeans-modules-j2ee-dd/arch"/>
+        <copy file="doc/usage.html" todir="${netbeans.javadoc.dir}/org-netbeans-modules-j2ee-dd/arch"/>
+    </target>
 
 </project>
diff --git a/enterprise/j2ee.dd/licenseinfo.xml b/enterprise/j2ee.dd/licenseinfo.xml
index e4b68c3..8d612e6 100755
--- a/enterprise/j2ee.dd/licenseinfo.xml
+++ b/enterprise/j2ee.dd/licenseinfo.xml
@@ -36,6 +36,7 @@
         <file>src/org/netbeans/modules/j2ee/dd/impl/resources/application_6.xsd</file>
         <file>src/org/netbeans/modules/j2ee/dd/impl/resources/application_7.mdd</file>
         <file>src/org/netbeans/modules/j2ee/dd/impl/resources/application_7.xsd</file>
+        <file>src/org/netbeans/modules/j2ee/dd/impl/resources/application_8.mdd</file>
         <file>src/org/netbeans/modules/j2ee/dd/impl/resources/application_8.xsd</file>
         <file>src/org/netbeans/modules/j2ee/dd/impl/resources/application-client_1_4.mdd</file>
         <file>src/org/netbeans/modules/j2ee/dd/impl/resources/application-client_1_4.xsd</file>
@@ -87,6 +88,7 @@
         <file>src/org/netbeans/modules/j2ee/dd/impl/resources/web-app_3_0.xsd</file>
         <file>src/org/netbeans/modules/j2ee/dd/impl/resources/web-app_3_1.mdd</file>
         <file>src/org/netbeans/modules/j2ee/dd/impl/resources/web-app_3_1.xsd</file>
+        <file>src/org/netbeans/modules/j2ee/dd/impl/resources/web-app_4_0.mdd</file>
         <file>src/org/netbeans/modules/j2ee/dd/impl/resources/web-app_4_0.xsd</file>
         <file>src/org/netbeans/modules/j2ee/dd/impl/resources/web-common_3_0.xsd</file>
         <file>src/org/netbeans/modules/j2ee/dd/impl/resources/web-common_3_1.xsd</file>
@@ -95,6 +97,7 @@
         <file>src/org/netbeans/modules/j2ee/dd/impl/resources/web-fragment_3_0.xsd</file>
         <file>src/org/netbeans/modules/j2ee/dd/impl/resources/web-fragment_3_1.mdd</file>
         <file>src/org/netbeans/modules/j2ee/dd/impl/resources/web-fragment_3_1.xsd</file>
+        <file>src/org/netbeans/modules/j2ee/dd/impl/resources/web-fragment_4_0.mdd</file>
         <file>src/org/netbeans/modules/j2ee/dd/impl/resources/web-fragment_4_0.xsd</file>
         <license ref="CDDL-1.1" />
         <comment type="CATEGORY_B" />
diff --git a/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/common/DDUtils.java b/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/common/DDUtils.java
index 5d88787..f5aa051 100644
--- a/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/common/DDUtils.java
+++ b/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/common/DDUtils.java
@@ -52,11 +52,11 @@
             inputStream.close();
         }
     }
-    
+
     public static EjbJarProxy createEjbJarProxy(Reader reader) throws IOException {
         return createEjbJarProxy(new InputSource(reader));
     }
-    
+
     public static EjbJarProxy createEjbJarProxy(InputSource inputSource) throws IOException {
         try {
             return (EjbJarProxy) DDProvider.getDefault().getDDRoot(inputSource);
@@ -73,8 +73,8 @@
             return ejbJarProxy;
         }
     }
-    
-    
+
+
     public static void merge(EjbJarProxy ejbJarProxy, Reader reader) {
         try {
             EjbJarProxy newEjbJarProxy = createEjbJarProxy(reader);
@@ -95,10 +95,10 @@
             // so lets not set the original to null here but wait
             // until the file becomes parsable again to do a merge
             //ejbJarProxy.setOriginal(null);
-        } catch (Schema2BeansRuntimeException s2bre){ // see #70286    
+        } catch (Schema2BeansRuntimeException s2bre){ // see #70286
             ejbJarProxy.setStatus(EjbJar.STATE_INVALID_UNPARSABLE);
             ejbJarProxy.setError(new SAXParseException(null, null, s2bre));
-        } catch (RuntimeException re){ // see #99047    
+        } catch (RuntimeException re){ // see #99047
             if (re.getCause() instanceof Schema2BeansException){
                 ejbJarProxy.setStatus(EjbJar.STATE_INVALID_UNPARSABLE);
                 ejbJarProxy.setError(new SAXParseException(null, null, (Schema2BeansException) re.getCause()));
@@ -121,6 +121,8 @@
                 return org.netbeans.modules.j2ee.dd.impl.web.model_3_0.WebApp.createGraph(is);
             } else if (WebApp.VERSION_3_1.equals(version)) {
                 return org.netbeans.modules.j2ee.dd.impl.web.model_3_1.WebApp.createGraph(is);
+            } else if (WebApp.VERSION_4_0.equals(version)) {
+                return org.netbeans.modules.j2ee.dd.impl.web.model_4_0.WebApp.createGraph(is);
             } else {
                 return null;
             }
@@ -137,7 +139,7 @@
             inputStream.close();
         }
     }
-    
+
     public static AppClient createAppClient(InputStream is, String version) throws IOException, SAXException {
         try {
             if (AppClient.VERSION_1_4.equals(version)) {
diff --git a/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/resources/application_8.mdd b/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/resources/application_8.mdd
new file mode 100644
index 0000000..00ef938
--- /dev/null
+++ b/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/resources/application_8.mdd
@@ -0,0 +1,1002 @@
+<?xml version='1.0' encoding='UTF-8' ?>
+<metaDD>
+	<meta-element>
+		<dtd-name>application</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>Application</bean-name>
+		<meta-property>
+			<bean-name>ApplicationName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Description</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>DisplayName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Icon</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>InitializeInOrder</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Module</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>SecurityRole</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>LibraryDirectory</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>EnvEntry</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>EjbRef</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>EjbLocalRef</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ServiceRef</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ResourceRef</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ResourceEnvRef</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MessageDestinationRef</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>PersistenceContextRef</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>PersistenceUnitRef</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MessageDestination</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>DataSource</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>JmsConnectionFactory</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>JmsDestination</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MailSession</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ConnectionFactory</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>AdministeredObject</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>string</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>String</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>generic-booleanType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>GenericBooleanType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>moduleType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>ModuleType</bean-name>
+		<meta-property>
+			<bean-name>Connector</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Ejb</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Java</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Web</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>AltDd</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>security-roleType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>SecurityRoleType</bean-name>
+		<meta-property>
+			<bean-name>Description</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>RoleName</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>pathType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>PathType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>env-entryType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>EnvEntryType</bean-name>
+		<meta-property>
+			<bean-name>Description</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>EnvEntryName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>EnvEntryType</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>EnvEntryValue</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MappedName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>InjectionTarget</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>LookupName</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>ejb-refType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>EjbRefType</bean-name>
+		<meta-property>
+			<bean-name>Description</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>EjbRefName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>EjbRefType</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Home</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Remote</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>EjbLink</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MappedName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>InjectionTarget</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>LookupName</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>ejb-local-refType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>EjbLocalRefType</bean-name>
+		<meta-property>
+			<bean-name>Description</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>EjbRefName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>EjbRefType</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>LocalHome</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Local</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>EjbLink</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MappedName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>InjectionTarget</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>LookupName</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>resource-refType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>ResourceRefType</bean-name>
+		<meta-property>
+			<bean-name>Description</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ResRefName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ResType</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ResAuth</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ResSharingScope</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MappedName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>InjectionTarget</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>LookupName</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>resource-env-refType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>ResourceEnvRefType</bean-name>
+		<meta-property>
+			<bean-name>Description</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ResourceEnvRefName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ResourceEnvRefType</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MappedName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>InjectionTarget</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>LookupName</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>message-destination-refType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>MessageDestinationRefType</bean-name>
+		<meta-property>
+			<bean-name>Description</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MessageDestinationRefName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MessageDestinationType</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MessageDestinationUsage</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MessageDestinationLink</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MappedName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>InjectionTarget</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>LookupName</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>persistence-context-refType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>PersistenceContextRefType</bean-name>
+		<meta-property>
+			<bean-name>Description</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>PersistenceContextRefName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>PersistenceUnitName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>PersistenceContextType</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>PersistenceContextSynchronization</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>PersistenceProperty</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MappedName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>InjectionTarget</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>persistence-unit-refType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>PersistenceUnitRefType</bean-name>
+		<meta-property>
+			<bean-name>Description</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>PersistenceUnitRefName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>PersistenceUnitName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MappedName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>InjectionTarget</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>message-destinationType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>MessageDestinationType</bean-name>
+		<meta-property>
+			<bean-name>Description</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>DisplayName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Icon</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MessageDestinationName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MappedName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>LookupName</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>data-sourceType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>DataSourceType</bean-name>
+		<meta-property>
+			<bean-name>Description</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Name</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ClassName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ServerName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>PortNumber</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>DatabaseName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Url</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>User</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Password</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Property2</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>LoginTimeout</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Transactional</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>IsolationLevel</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>InitialPoolSize</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MaxPoolSize</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MinPoolSize</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MaxIdleTime</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MaxStatements</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>jms-connection-factoryType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>JmsConnectionFactoryType</bean-name>
+		<meta-property>
+			<bean-name>Description</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Name</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>InterfaceName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ClassName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ResourceAdapter</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>User</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Password</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ClientId</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Property2</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Transactional</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MaxPoolSize</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MinPoolSize</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>jms-destinationType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>JmsDestinationType</bean-name>
+		<meta-property>
+			<bean-name>Description</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Name</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>InterfaceName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ClassName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ResourceAdapter</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>DestinationName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Property2</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>mail-sessionType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>MailSessionType</bean-name>
+		<meta-property>
+			<bean-name>Description</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Name</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>StoreProtocol</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>StoreProtocolClass</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>TransportProtocol</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>TransportProtocolClass</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Host</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>User</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Password</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>From</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Property2</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>connection-factory-resourceType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>ConnectionFactoryResourceType</bean-name>
+		<meta-property>
+			<bean-name>Description</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Name</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>InterfaceName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ResourceAdapter</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MaxPoolSize</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MinPoolSize</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>TransactionSupport</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Property2</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>administered-objectType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>AdministeredObjectType</bean-name>
+		<meta-property>
+			<bean-name>Description</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Name</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>InterfaceName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ClassName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ResourceAdapter</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Property2</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>descriptionType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>DescriptionType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>xsdStringType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>XsdStringType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>jndi-nameType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>JndiNameType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>fully-qualified-classType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>FullyQualifiedClassType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>propertyType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>PropertyType</bean-name>
+		<meta-property>
+			<bean-name>Name</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Value</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>xsdIntegerType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>XsdIntegerType</bean-name>
+		<wrapper-class>java.math.BigInteger</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>transaction-supportType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>TransactionSupportType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>xsdBooleanType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>XsdBooleanType</bean-name>
+		<wrapper-class>boolean</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>jdbc-urlType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>JdbcUrlType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>isolation-levelType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>IsolationLevelType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>display-nameType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>DisplayNameType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>iconType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>IconType</bean-name>
+		<meta-property>
+			<bean-name>SmallIcon</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>LargeIcon</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>injection-targetType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>InjectionTargetType</bean-name>
+		<meta-property>
+			<bean-name>InjectionTargetClass</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>InjectionTargetName</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>java-identifierType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>JavaIdentifierType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>persistence-context-typeType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>PersistenceContextTypeType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>persistence-context-synchronizationType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>PersistenceContextSynchronizationType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>message-destination-typeType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>MessageDestinationTypeType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>message-destination-usageType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>MessageDestinationUsageType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>message-destination-linkType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>MessageDestinationLinkType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>res-authType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>ResAuthType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>res-sharing-scopeType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>ResSharingScopeType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>service-refType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>ServiceRefType</bean-name>
+		<meta-property>
+			<bean-name>Description</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>DisplayName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Icon</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ServiceRefName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ServiceInterface</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ServiceRefType</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>WsdlFile</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>JaxrpcMappingFile</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ServiceQname</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>PortComponentRef</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Handler</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>HandlerChains</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MappedName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>InjectionTarget</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>LookupName</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>xsdAnyURIType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>XsdAnyURIType</bean-name>
+		<wrapper-class>java.net.URI</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>xsdQNameType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>XsdQNameType</bean-name>
+		<wrapper-class>javax.xml.namespace.QName</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>port-component-refType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>PortComponentRefType</bean-name>
+		<meta-property>
+			<bean-name>ServiceEndpointInterface</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>EnableMtom</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MtomThreshold</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Addressing</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>RespectBinding</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>PortComponentLink</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>handlerType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>HandlerType</bean-name>
+		<meta-property>
+			<bean-name>Description</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>DisplayName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Icon</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>HandlerName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>HandlerClass</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>InitParam</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>SoapHeader</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>SoapRole</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>PortName</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>handler-chainsType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>HandlerChainsType</bean-name>
+		<meta-property>
+			<bean-name>HandlerChain</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>handler-chainType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>HandlerChainType</bean-name>
+		<meta-property>
+			<bean-name>ServiceNamePattern</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>PortNamePattern</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ProtocolBindings</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Handler</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>qname-pattern</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>QnamePattern</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>protocol-bindingListType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>ProtocolBindingListType</bean-name>
+		<wrapper-class>String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>param-valueType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>ParamValueType</bean-name>
+		<meta-property>
+			<bean-name>Description</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ParamName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ParamValue</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>true-falseType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>TrueFalseType</bean-name>
+		<wrapper-class>boolean</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>xsdNonNegativeIntegerType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>XsdNonNegativeIntegerType</bean-name>
+		<wrapper-class>java.math.BigInteger</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>addressingType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>AddressingType</bean-name>
+		<meta-property>
+			<bean-name>Enabled</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Required</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Responses</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>respect-bindingType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>RespectBindingType</bean-name>
+		<meta-property>
+			<bean-name>Enabled</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>addressing-responsesType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>AddressingResponsesType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>ejb-ref-nameType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>EjbRefNameType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>ejb-ref-typeType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>EjbRefTypeType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>local-homeType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>LocalHomeType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>localType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>LocalType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>ejb-linkType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>EjbLinkType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>homeType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>HomeType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>remoteType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>RemoteType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>env-entry-type-valuesType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>EnvEntryTypeValuesType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>role-nameType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>RoleNameType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>webType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>WebType</bean-name>
+		<meta-property>
+			<bean-name>WebUri</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ContextRoot</bean-name>
+		</meta-property>
+	</meta-element>
+</metaDD>
diff --git a/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/resources/web-app_4_0.mdd b/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/resources/web-app_4_0.mdd
new file mode 100644
index 0000000..17bf2e9
--- /dev/null
+++ b/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/resources/web-app_4_0.mdd
@@ -0,0 +1,880 @@
+<?xml version='1.0' encoding='UTF-8' ?>
+<!--
+DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+
+Copyright (c) 2013, 2016 Oracle and/or its affiliates. All rights reserved.
+
+Oracle and Java are registered trademarks of Oracle and/or its affiliates.
+Other names may be trademarks of their respective owners.
+
+The contents of this file are subject to the terms of either the GNU
+General Public License Version 2 only ("GPL") or the Common
+Development and Distribution License("CDDL") (collectively, the
+"License"). You may not use this file except in compliance with the
+License. You can obtain a copy of the License at
+http://www.netbeans.org/cddl-gplv2.html
+or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
+specific language governing permissions and limitations under the
+License.  When distributing the software, include this License Header
+Notice in each file and include the License file at
+nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
+particular file as subject to the "Classpath" exception as provided
+by Oracle in the GPL Version 2 section of the License file that
+accompanied this code. If applicable, add the following below the
+License Header, with the fields enclosed by brackets [] replaced by
+your own identifying information:
+"Portions Copyrighted [year] [name of copyright owner]"
+
+If you wish your version of this file to be governed by only the CDDL
+or only the GPL Version 2, indicate your decision by adding
+"[Contributor] elects to include this software in this distribution
+under the [CDDL or GPL Version 2] license." If you do not indicate a
+single choice of license, a recipient has the option to distribute
+your version of this file under either the CDDL, the GPL Version 2 or
+to extend the choice of license to its licensees as provided above.
+However, if you add GPL Version 2 code and therefore, elected the GPL
+Version 2 license, then the option applies only if the new code is
+made subject to such option by the copyright holder.
+
+Contributor(s):
+-->
+<metaDD>
+        <meta-element>
+            <dtd-name>web-app</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>WebApp</bean-name>
+            <comparator-class>org.netbeans.modules.j2ee.dd.impl.common.Comparator</comparator-class>
+            <extends>org.netbeans.modules.j2ee.dd.impl.common.ComponentBeanMultiple</extends>
+            <implements>
+                    org.netbeans.modules.j2ee.dd.api.web.WebApp
+            </implements>
+            <user-code>
+                    public org.xml.sax.SAXParseException getError() {
+                        return null;
+                    }
+                    public int getStatus() {
+                        return STATE_VALID;
+                    }
+                    public void setJspConfig(org.netbeans.modules.j2ee.dd.api.web.JspConfig value) {
+                        if (value==null) setJspConfig(new org.netbeans.modules.j2ee.dd.api.web.JspConfig[]{});
+                        else setJspConfig(new org.netbeans.modules.j2ee.dd.api.web.JspConfig[]{value});
+                    }
+                    public org.netbeans.modules.j2ee.dd.api.web.JspConfig getSingleJspConfig() {
+                        org.netbeans.modules.j2ee.dd.api.web.JspConfig[] values = getJspConfig();
+                        if (values==null || values.length==0) return null;
+                        else return values[0];
+                    }
+                    public void setWelcomeFileList(org.netbeans.modules.j2ee.dd.api.web.WelcomeFileList value) {
+                        if (value==null) setWelcomeFileList(new org.netbeans.modules.j2ee.dd.api.web.WelcomeFileList[]{});
+                        setWelcomeFileList(new org.netbeans.modules.j2ee.dd.api.web.WelcomeFileList[]{value});
+                    }
+                    public org.netbeans.modules.j2ee.dd.api.web.WelcomeFileList getSingleWelcomeFileList() {
+                        org.netbeans.modules.j2ee.dd.api.web.WelcomeFileList[] values = getWelcomeFileList();
+                        if (values==null || values.length==0) return null;
+                        else return values[0];
+                    }
+                    public void setSessionConfig(org.netbeans.modules.j2ee.dd.api.web.SessionConfig value) {
+                        if (value==null) setSessionConfig(new org.netbeans.modules.j2ee.dd.api.web.SessionConfig[]{});
+                        else setSessionConfig(new org.netbeans.modules.j2ee.dd.api.web.SessionConfig[]{value});
+                    }
+                    public org.netbeans.modules.j2ee.dd.api.web.SessionConfig getSingleSessionConfig() {
+                        org.netbeans.modules.j2ee.dd.api.web.SessionConfig[] values = getSessionConfig();
+                        if (values==null || values.length==0) return null;
+                        else return values[0];
+                    }
+                    public void setLoginConfig(org.netbeans.modules.j2ee.dd.api.web.LoginConfig value) {
+                        if (value==null) setLoginConfig(new org.netbeans.modules.j2ee.dd.api.web.LoginConfig[]{});
+                        else setLoginConfig(new org.netbeans.modules.j2ee.dd.api.web.LoginConfig[]{value});
+                    }
+                    public org.netbeans.modules.j2ee.dd.api.web.LoginConfig getSingleLoginConfig() {
+                        org.netbeans.modules.j2ee.dd.api.web.LoginConfig[] values = getLoginConfig();
+                        if (values==null || values.length==0) return null;
+                        else return values[0];
+                    }
+                    public void setDistributable(boolean value) {
+                        if (value) setDistributable(new EmptyType[]{new EmptyType()});
+                        else setDistributable(new EmptyType[]{});
+                    }
+                    public boolean isDistributable() {
+                        EmptyType[] values = getDistributable();
+                        if (values==null || values.length==0) return false;
+                        else return true;
+                    }
+                    public void setLocaleEncodingMappingList(org.netbeans.modules.j2ee.dd.api.web.LocaleEncodingMappingList value) {
+                        if (value==null) setLocaleEncodingMappingList(new org.netbeans.modules.j2ee.dd.api.web.LocaleEncodingMappingList[]{});
+                        else setLocaleEncodingMappingList(new org.netbeans.modules.j2ee.dd.api.web.LocaleEncodingMappingList[]{value});
+                    }
+                    public org.netbeans.modules.j2ee.dd.api.web.LocaleEncodingMappingList getSingleLocaleEncodingMappingList() {
+                        org.netbeans.modules.j2ee.dd.api.web.LocaleEncodingMappingList[] values = getLocaleEncodingMappingList();
+                        if (values==null || values.length==0) return null;
+                        else return values[0];
+                    }
+                    public void setName(String[] value) throws org.netbeans.modules.j2ee.dd.api.common.VersionNotSupportedException {
+                        throw new org.netbeans.modules.j2ee.dd.api.common.VersionNotSupportedException(WebApp.VERSION_4_0);
+                    }
+                    public String[] getName() throws org.netbeans.modules.j2ee.dd.api.common.VersionNotSupportedException {
+                        throw new org.netbeans.modules.j2ee.dd.api.common.VersionNotSupportedException(WebApp.VERSION_4_0);
+                    }
+            </user-code>
+        </meta-element>
+        <meta-element>
+            <dtd-name>emptyType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>EmptyType</bean-name>
+        </meta-element>
+        <meta-element>
+            <dtd-name>param-valueType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+                <bean-name>InitParam</bean-name>
+                <extends>org.netbeans.modules.j2ee.dd.impl.common.DescriptionBeanMultiple</extends>
+                <implements>
+                    org.netbeans.modules.j2ee.dd.api.common.InitParam, org.netbeans.modules.j2ee.dd.impl.common.KeyBean
+                </implements>
+                <user-code>
+                    public String getKeyProperty() { return "ParamName"; }
+                </user-code>
+        </meta-element>
+        <meta-element>
+            <dtd-name>filterType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+                <bean-name>Filter</bean-name>
+                <comparator-class>org.netbeans.modules.j2ee.dd.impl.common.Comparator</comparator-class>
+                <extends>org.netbeans.modules.j2ee.dd.impl.common.ComponentBeanMultiple</extends>
+                <implements>
+                    org.netbeans.modules.j2ee.dd.api.web.Filter, org.netbeans.modules.j2ee.dd.impl.common.KeyBean
+                </implements>
+                <user-code>
+                    public String getKeyProperty() { return "FilterName"; }
+                </user-code>
+        </meta-element>
+        <meta-element>
+            <dtd-name>filter-mappingType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+                <bean-name>FilterMapping</bean-name>
+                <implements>
+                    org.netbeans.modules.j2ee.dd.api.web.FilterMapping
+                </implements>
+                <user-code>
+public String getServletName() {
+    return this.sizeServletName() > 0 ? (String)this.getValue(SERVLET_NAME, 0) : null;
+}
+
+public void setServletName(String value) {
+    setServletNames(value != null ? new String[]{value} : new String[]{});
+}
+
+public String getUrlPattern() {
+    return this.sizeUrlPattern() > 0 ? (String)this.getValue(URL_PATTERN, 0) : null;
+}
+
+public void setUrlPattern(String value) {
+    setUrlPatterns(value != null ? new String[]{value} : new String[]{});
+}
+                </user-code>
+        </meta-element>
+        <meta-element>
+            <dtd-name>listenerType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>Listener</bean-name>
+            <extends>org.netbeans.modules.j2ee.dd.impl.common.ComponentBeanMultiple</extends>
+            <implements>
+                org.netbeans.modules.j2ee.dd.api.web.Listener
+            </implements>
+        </meta-element>
+        <meta-element>
+            <dtd-name>servletType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>Servlet</bean-name>
+            <comparator-class>org.netbeans.modules.j2ee.dd.impl.common.Comparator</comparator-class>
+            <extends>org.netbeans.modules.j2ee.dd.impl.common.ComponentBeanMultiple</extends>
+            <implements>
+                org.netbeans.modules.j2ee.dd.api.web.Servlet, org.netbeans.modules.j2ee.dd.impl.common.KeyBean
+            </implements>
+            <user-code>
+                public String getKeyProperty() { return "ServletName"; }
+            </user-code>
+        </meta-element>
+        <meta-element>
+            <dtd-name>servlet-mappingType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>ServletMapping</bean-name>
+            <implements>
+                org.netbeans.modules.j2ee.dd.api.web.ServletMapping25, org.netbeans.modules.j2ee.dd.impl.common.KeyBean
+            </implements>
+            <user-code>
+                public String getKeyProperty() { return "UrlPattern"; }
+
+                public void setUrlPattern(String value) {
+                    setUrlPatterns(new String[] {value});
+                }
+
+                public String getUrlPattern() {
+                    String[] urlPatterns = getUrlPatterns();
+                    if (urlPatterns != null &amp;&amp; urlPatterns.length > 0) {
+                        return urlPatterns[0];
+                    }
+                    return null;
+                }
+
+            </user-code>
+        </meta-element>
+        <meta-element>
+            <dtd-name>session-configType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>SessionConfig</bean-name>
+            <comparator-class>org.netbeans.modules.j2ee.dd.impl.common.Comparator</comparator-class>
+            <implements>
+                org.netbeans.modules.j2ee.dd.api.web.SessionConfig
+            </implements>
+        </meta-element>
+        <meta-element>
+            <dtd-name>mime-mappingType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>MimeMapping</bean-name>
+            <implements>
+                org.netbeans.modules.j2ee.dd.api.web.MimeMapping, org.netbeans.modules.j2ee.dd.impl.common.KeyBean
+            </implements>
+            <user-code>
+                public String getKeyProperty() { return "Extension"; }
+            </user-code>
+        </meta-element>
+        <meta-element>
+            <dtd-name>welcome-file-listType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>WelcomeFileList</bean-name>
+            <implements>
+                org.netbeans.modules.j2ee.dd.api.web.WelcomeFileList
+            </implements>
+        </meta-element>
+	<meta-element>
+            <dtd-name>error-pageType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>ErrorPage</bean-name>
+            <comparator-class>org.netbeans.modules.j2ee.dd.impl.common.Comparator</comparator-class>
+            <implements>
+                org.netbeans.modules.j2ee.dd.api.web.ErrorPage, org.netbeans.modules.j2ee.dd.impl.common.KeyBean
+            </implements>
+            <user-code>
+                public String getKeyProperty() { return "ErrorCode"; }
+            </user-code>
+	</meta-element>
+	<meta-element>
+		<dtd-name>jsp-configType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>JspConfig</bean-name>
+                <comparator-class>org.netbeans.modules.j2ee.dd.impl.common.Comparator</comparator-class>
+                <extends>org.netbeans.modules.j2ee.dd.impl.common.EnclosingBean</extends>
+                <implements>
+                    org.netbeans.modules.j2ee.dd.api.web.JspConfig
+                </implements>
+	</meta-element>
+	<meta-element>
+		<dtd-name>security-constraintType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>SecurityConstraint</bean-name>
+                <comparator-class>org.netbeans.modules.j2ee.dd.impl.common.Comparator</comparator-class>
+                <extends>org.netbeans.modules.j2ee.dd.impl.common.ComponentBeanMultiple</extends>
+                <implements>
+                    org.netbeans.modules.j2ee.dd.api.web.SecurityConstraint
+                </implements>
+	</meta-element>
+	<meta-element>
+		<dtd-name>login-configType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>LoginConfig</bean-name>
+                <comparator-class>org.netbeans.modules.j2ee.dd.impl.common.Comparator</comparator-class>
+                <extends>org.netbeans.modules.j2ee.dd.impl.common.EnclosingBean</extends>
+                <implements>
+                    org.netbeans.modules.j2ee.dd.api.web.LoginConfig
+                </implements>
+	</meta-element>
+	<meta-element>
+            <dtd-name>security-roleType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>SecurityRole</bean-name>
+            <extends>org.netbeans.modules.j2ee.dd.impl.common.DescriptionBeanMultiple</extends>
+            <implements>
+                org.netbeans.modules.j2ee.dd.api.common.SecurityRole, org.netbeans.modules.j2ee.dd.impl.common.KeyBean
+            </implements>
+            <user-code>
+                public String getKeyProperty() { return "RoleName"; }
+            </user-code>
+	</meta-element>
+	<meta-element>
+            <dtd-name>message-destinationType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>MessageDestination</bean-name>
+            <extends>org.netbeans.modules.j2ee.dd.impl.common.ComponentBeanMultiple</extends>
+            <implements>
+                org.netbeans.modules.j2ee.dd.api.common.MessageDestination, org.netbeans.modules.j2ee.dd.impl.common.KeyBean
+            </implements>
+            <user-code>
+                public String getKeyProperty() { return "MessageDestinationName"; }
+            </user-code>
+	</meta-element>
+	<meta-element>
+		<dtd-name>locale-encoding-mapping-listType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>LocaleEncodingMappingList</bean-name>
+                <comparator-class>org.netbeans.modules.j2ee.dd.impl.common.Comparator</comparator-class>
+                <extends>org.netbeans.modules.j2ee.dd.impl.common.EnclosingBean</extends>
+                <implements>
+                    org.netbeans.modules.j2ee.dd.api.web.LocaleEncodingMappingList
+                </implements>
+	</meta-element>
+	<meta-element>
+            <dtd-name>locale-encoding-mappingType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>LocaleEncodingMapping</bean-name>
+            <implements>
+                org.netbeans.modules.j2ee.dd.api.web.LocaleEncodingMapping, org.netbeans.modules.j2ee.dd.impl.common.KeyBean
+            </implements>
+            <user-code>
+                public String getKeyProperty() { return "Locale"; }
+            </user-code>
+	</meta-element>
+        <meta-element>
+            <dtd-name>localeType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>LocaleType</bean-name>
+            <wrapper-class>java.lang.String</wrapper-class>
+        </meta-element>
+        <meta-element>
+            <dtd-name>encodingType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>EncodingType</bean-name>
+            <wrapper-class>java.lang.String</wrapper-class>
+        </meta-element>
+        <meta-element>
+            <dtd-name>string</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>String</bean-name>
+            <wrapper-class>java.lang.String</wrapper-class>
+        </meta-element>
+        <meta-element>
+            <dtd-name>descriptionType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>DescriptionType</bean-name>
+            <wrapper-class>java.lang.String</wrapper-class>
+        </meta-element>
+        <meta-element>
+            <dtd-name>xsdStringType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>XsdStringType</bean-name>
+            <wrapper-class>java.lang.String</wrapper-class>
+        </meta-element>
+        <meta-element>
+            <dtd-name>display-nameType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>DisplayNameType</bean-name>
+            <wrapper-class>java.lang.String</wrapper-class>
+        </meta-element>
+        <meta-element>
+            <dtd-name>iconType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>Icon</bean-name>
+            <implements>
+                org.netbeans.modules.j2ee.dd.api.common.Icon
+            </implements>
+        </meta-element>
+        <meta-element>
+            <dtd-name>pathType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>PathType</bean-name>
+            <wrapper-class>java.lang.String</wrapper-class>
+        </meta-element>
+	<meta-element>
+            <dtd-name>env-entryType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>EnvEntry</bean-name>
+            <extends>org.netbeans.modules.j2ee.dd.impl.common.DescriptionBeanMultiple</extends>
+            <implements>
+                org.netbeans.modules.j2ee.dd.api.common.EnvEntry, org.netbeans.modules.j2ee.dd.impl.common.KeyBean
+            </implements>
+            <user-code>
+                public String getKeyProperty() { return "EnvEntryName"; }
+            </user-code>
+	</meta-element>
+	<meta-element>
+            <dtd-name>ejb-refType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>EjbRef</bean-name>
+            <extends>org.netbeans.modules.j2ee.dd.impl.common.DescriptionBeanMultiple</extends>
+            <implements>
+                org.netbeans.modules.j2ee.dd.api.common.EjbRef, org.netbeans.modules.j2ee.dd.impl.common.KeyBean
+            </implements>
+            <user-code>
+                public String getKeyProperty() { return "EjbRefName"; }
+            </user-code>
+	</meta-element>
+	<meta-element>
+            <dtd-name>ejb-local-refType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>EjbLocalRef</bean-name>
+            <extends>org.netbeans.modules.j2ee.dd.impl.common.DescriptionBeanMultiple</extends>
+            <implements>
+                org.netbeans.modules.j2ee.dd.api.common.EjbLocalRef, org.netbeans.modules.j2ee.dd.impl.common.KeyBean
+            </implements>
+            <user-code>
+                public String getKeyProperty() { return "EjbRefName"; }
+            </user-code>
+	</meta-element>
+	<meta-element>
+            <dtd-name>resource-refType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>ResourceRef</bean-name>
+            <extends>org.netbeans.modules.j2ee.dd.impl.common.DescriptionBeanMultiple</extends>
+            <implements>
+                org.netbeans.modules.j2ee.dd.api.common.ResourceRef, org.netbeans.modules.j2ee.dd.impl.common.KeyBean
+            </implements>
+            <user-code>
+                public String getKeyProperty() { return "ResRefName"; }
+            </user-code>
+	</meta-element>
+	<meta-element>
+            <dtd-name>resource-env-refType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>ResourceEnvRef</bean-name>
+            <extends>org.netbeans.modules.j2ee.dd.impl.common.DescriptionBeanMultiple</extends>
+            <implements>
+                org.netbeans.modules.j2ee.dd.api.common.ResourceEnvRef, org.netbeans.modules.j2ee.dd.impl.common.KeyBean
+            </implements>
+            <user-code>
+                public String getKeyProperty() { return "ResourceEnvRefName"; }
+            </user-code>
+	</meta-element>
+	<meta-element>
+            <dtd-name>message-destination-refType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>MessageDestinationRef</bean-name>
+            <extends>org.netbeans.modules.j2ee.dd.impl.common.DescriptionBeanMultiple</extends>
+            <implements>
+                org.netbeans.modules.j2ee.dd.api.common.MessageDestinationRef, org.netbeans.modules.j2ee.dd.impl.common.KeyBean
+            </implements>
+            <user-code>
+                public String getKeyProperty() { return "MessageDestinationRefName"; }
+            </user-code>
+        </meta-element>
+        <meta-element>
+            <dtd-name>persistence-context-refType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>PersistenceContextRefType</bean-name>
+        </meta-element>
+        <meta-element>
+            <dtd-name>persistence-unit-refType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>PersistenceUnitRefType</bean-name>
+        </meta-element>
+        <meta-element>
+            <dtd-name>lifecycle-callbackType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>LifecycleCallbackType</bean-name>
+        </meta-element>
+        <meta-element>
+            <dtd-name>fully-qualified-classType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>FullyQualifiedClassType</bean-name>
+            <wrapper-class>java.lang.String</wrapper-class>
+        </meta-element>
+        <meta-element>
+            <dtd-name>java-identifierType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>JavaIdentifierType</bean-name>
+            <wrapper-class>java.lang.String</wrapper-class>
+        </meta-element>
+        <meta-element>
+            <dtd-name>jndi-nameType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>JndiNameType</bean-name>
+            <wrapper-class>java.lang.String</wrapper-class>
+        </meta-element>
+        <meta-element>
+            <dtd-name>persistence-context-typeType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>PersistenceContextTypeType</bean-name>
+            <wrapper-class>java.lang.String</wrapper-class>
+        </meta-element>
+        <meta-element>
+            <dtd-name>propertyType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>PropertyType</bean-name>
+        </meta-element>
+        <meta-element>
+            <dtd-name>message-destination-typeType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>MessageDestinationTypeType</bean-name>
+            <wrapper-class>java.lang.String</wrapper-class>
+        </meta-element>
+        <meta-element>
+            <dtd-name>message-destination-usageType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>MessageDestinationUsageType</bean-name>
+            <wrapper-class>java.lang.String</wrapper-class>
+        </meta-element>
+        <meta-element>
+            <dtd-name>message-destination-linkType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>MessageDestinationLinkType</bean-name>
+            <wrapper-class>java.lang.String</wrapper-class>
+        </meta-element>
+        <meta-element>
+            <dtd-name>injection-targetType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>InjectionTarget</bean-name>
+            <implements>org.netbeans.modules.j2ee.dd.api.common.InjectionTarget</implements>
+            <extends>org.netbeans.modules.j2ee.dd.impl.common.EnclosingBean</extends>
+        </meta-element>
+        <meta-element>
+            <dtd-name>res-authType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>ResAuthType</bean-name>
+            <wrapper-class>java.lang.String</wrapper-class>
+        </meta-element>
+        <meta-element>
+            <dtd-name>res-sharing-scopeType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>ResSharingScopeType</bean-name>
+            <wrapper-class>java.lang.String</wrapper-class>
+        </meta-element>
+        <meta-element>
+            <dtd-name>service-refType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>ServiceRef</bean-name>
+            <comparator-class>org.netbeans.modules.j2ee.dd.impl.common.Comparator</comparator-class>
+            <extends>org.netbeans.modules.j2ee.dd.impl.common.ComponentBeanMultiple</extends>
+            <implements>
+                org.netbeans.modules.j2ee.dd.api.common.ServiceRef, org.netbeans.modules.j2ee.dd.impl.common.KeyBean
+            </implements>
+            <user-code>
+                public String getKeyProperty() { return "ServiceRefName"; }
+            </user-code>
+        </meta-element>
+        <meta-element>
+            <dtd-name>xsdAnyURIType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>XsdAnyURIType</bean-name>
+            <wrapper-class>java.net.URI</wrapper-class>
+        </meta-element>
+        <meta-element>
+            <dtd-name>xsdQNameType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>XsdQNameType</bean-name>
+            <wrapper-class>java.lang.String</wrapper-class>
+        </meta-element>
+        <meta-element>
+            <dtd-name>port-component-refType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>PortComponentRef</bean-name>
+            <implements>
+                org.netbeans.modules.j2ee.dd.api.common.PortComponentRef
+            </implements>
+        </meta-element>
+        <meta-element>
+            <dtd-name>service-ref_handlerType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>ServiceRefHandler</bean-name>
+            <comparator-class>org.netbeans.modules.j2ee.dd.impl.common.Comparator</comparator-class>
+            <extends>org.netbeans.modules.j2ee.dd.impl.common.ComponentBeanMultiple</extends>
+            <implements>
+                org.netbeans.modules.j2ee.dd.api.common.ServiceRefHandler, org.netbeans.modules.j2ee.dd.impl.common.KeyBean
+            </implements>
+            <user-code>
+                public String getKeyProperty() { return "HandlerName"; }
+            </user-code>
+        </meta-element>
+        <meta-element>
+            <dtd-name>service-ref_handler-chainsType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>ServiceRefHandlerChains</bean-name>
+            <implements>org.netbeans.modules.j2ee.dd.api.common.ServiceRefHandlerChains</implements>
+        </meta-element>
+        <meta-element>
+            <dtd-name>service-ref_handler-chainType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>ServiceRefHandlerChain</bean-name>
+            <implements>org.netbeans.modules.j2ee.dd.api.common.ServiceRefHandlerChain</implements>
+        </meta-element>
+        <meta-element>
+            <dtd-name>service-ref_qname-pattern</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>ServiceRefQnamePattern</bean-name>
+            <wrapper-class>java.lang.String</wrapper-class>
+        </meta-element>
+        <meta-element>
+            <dtd-name>service-ref_protocol-bindingListType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>ServiceRefProtocolBindingListType</bean-name>
+            <wrapper-class>String</wrapper-class>
+        </meta-element>
+        <meta-element>
+            <dtd-name>ejb-ref-nameType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>EjbRefNameType</bean-name>
+            <wrapper-class>java.lang.String</wrapper-class>
+        </meta-element>
+        <meta-element>
+            <dtd-name>ejb-ref-typeType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>EjbRefTypeType</bean-name>
+            <wrapper-class>java.lang.String</wrapper-class>
+        </meta-element>
+        <meta-element>
+            <dtd-name>local-homeType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>LocalHomeType</bean-name>
+            <wrapper-class>java.lang.String</wrapper-class>
+        </meta-element>
+        <meta-element>
+            <dtd-name>localType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>LocalType</bean-name>
+            <wrapper-class>java.lang.String</wrapper-class>
+        </meta-element>
+        <meta-element>
+            <dtd-name>ejb-linkType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>EjbLinkType</bean-name>
+            <wrapper-class>java.lang.String</wrapper-class>
+        </meta-element>
+        <meta-element>
+            <dtd-name>homeType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>HomeType</bean-name>
+            <wrapper-class>java.lang.String</wrapper-class>
+        </meta-element>
+        <meta-element>
+            <dtd-name>remoteType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>RemoteType</bean-name>
+            <wrapper-class>java.lang.String</wrapper-class>
+        </meta-element>
+        <meta-element>
+            <dtd-name>env-entry-type-valuesType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>EnvEntryTypeValuesType</bean-name>
+            <wrapper-class>java.lang.String</wrapper-class>
+        </meta-element>
+        <meta-element>
+            <dtd-name>role-nameType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>RoleNameType</bean-name>
+            <wrapper-class>java.lang.String</wrapper-class>
+        </meta-element>
+        <meta-element>
+            <dtd-name>auth-methodType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>AuthMethodType</bean-name>
+            <wrapper-class>java.lang.String</wrapper-class>
+        </meta-element>
+        <meta-element>
+            <dtd-name>form-login-configType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>FormLoginConfig</bean-name>
+            <implements>
+                org.netbeans.modules.j2ee.dd.api.web.FormLoginConfig
+            </implements>
+        </meta-element>
+        <meta-element>
+            <dtd-name>war-pathType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>WarPathType</bean-name>
+            <wrapper-class>java.lang.String</wrapper-class>
+        </meta-element>
+        <meta-element>
+            <dtd-name>web-resource-collectionType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>WebResourceCollection</bean-name>
+            <extends>org.netbeans.modules.j2ee.dd.impl.common.DescriptionBeanMultiple</extends>
+            <implements>
+                org.netbeans.modules.j2ee.dd.api.web.WebResourceCollection, org.netbeans.modules.j2ee.dd.impl.common.KeyBean
+            </implements>
+            <user-code>
+                public String getKeyProperty() { return "WebResourceName"; }
+            </user-code>
+        </meta-element>
+        <meta-element>
+            <dtd-name>auth-constraintType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>AuthConstraint</bean-name>
+            <extends>org.netbeans.modules.j2ee.dd.impl.common.DescriptionBeanMultiple</extends>
+            <implements>
+                org.netbeans.modules.j2ee.dd.api.web.AuthConstraint
+            </implements>
+        </meta-element>
+        <meta-element>
+            <dtd-name>user-data-constraintType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>UserDataConstraint</bean-name>
+            <extends>org.netbeans.modules.j2ee.dd.impl.common.DescriptionBeanMultiple</extends>
+            <implements>
+                org.netbeans.modules.j2ee.dd.api.web.UserDataConstraint
+            </implements>
+        </meta-element>
+        <meta-element>
+            <dtd-name>transport-guaranteeType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>TransportGuaranteeType</bean-name>
+            <wrapper-class>java.lang.String</wrapper-class>
+        </meta-element>
+        <meta-element>
+            <dtd-name>url-patternType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>UrlPatternType</bean-name>
+            <wrapper-class>java.lang.String</wrapper-class>
+        </meta-element>
+        <meta-element>
+            <dtd-name>http-methodType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>HttpMethodType</bean-name>
+            <wrapper-class>java.lang.String</wrapper-class>
+        </meta-element>
+        <meta-element>
+            <dtd-name>taglibType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>Taglib</bean-name>
+            <implements>
+                org.netbeans.modules.j2ee.dd.api.web.Taglib, org.netbeans.modules.j2ee.dd.impl.common.KeyBean
+            </implements>
+            <user-code>
+                public String getKeyProperty() { return "TaglibUri"; }
+            </user-code>
+        </meta-element>
+        <meta-element>
+            <dtd-name>jsp-property-groupType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>JspPropertyGroup</bean-name>
+            <extends>org.netbeans.modules.j2ee.dd.impl.common.ComponentBeanMultiple</extends>
+            <implements>
+                org.netbeans.modules.j2ee.dd.api.web.JspPropertyGroup
+            </implements>
+        </meta-element>
+        <meta-element>
+            <dtd-name>true-falseType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>TrueFalseType</bean-name>
+            <wrapper-class>boolean</wrapper-class>
+        </meta-element>
+        <meta-element>
+            <dtd-name>error-codeType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>ErrorCodeType</bean-name>
+            <wrapper-class>Integer</wrapper-class>
+        </meta-element>
+        <meta-element>
+            <dtd-name>string</dtd-name>
+            <namespace>http://www.w3.org/2001/XMLSchema</namespace>
+            <bean-name>String</bean-name>
+            <wrapper-class>java.lang.String</wrapper-class>
+        </meta-element>
+        <meta-element>
+            <dtd-name>mime-typeType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>MimeTypeType</bean-name>
+            <wrapper-class>java.lang.String</wrapper-class>
+        </meta-element>
+        <meta-element>
+            <dtd-name>xsdIntegerType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>XsdIntegerType</bean-name>
+            <wrapper-class>java.math.BigInteger</wrapper-class>
+        </meta-element>
+        <meta-element>
+            <dtd-name>servlet-nameType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>ServletNameType</bean-name>
+            <wrapper-class>java.lang.String</wrapper-class>
+        </meta-element>
+        <meta-element>
+            <dtd-name>nonEmptyStringType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>NonEmptyStringType</bean-name>
+            <wrapper-class>java.lang.String</wrapper-class>
+        </meta-element>
+        <meta-element>
+            <dtd-name>load-on-startupType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>LoadOnStartupType</bean-name>
+            <wrapper-class>java.math.BigInteger</wrapper-class>
+        </meta-element>
+        <meta-element>
+            <dtd-name>run-asType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>RunAs</bean-name>
+            <extends>org.netbeans.modules.j2ee.dd.impl.common.DescriptionBeanMultiple</extends>
+            <implements>
+                org.netbeans.modules.j2ee.dd.api.common.RunAs
+            </implements>
+        </meta-element>
+        <meta-element>
+            <dtd-name>security-role-refType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>SecurityRoleRef</bean-name>
+            <extends>org.netbeans.modules.j2ee.dd.impl.common.DescriptionBeanMultiple</extends>
+            <implements>
+                org.netbeans.modules.j2ee.dd.api.common.SecurityRoleRef, org.netbeans.modules.j2ee.dd.impl.common.KeyBean
+            </implements>
+            <user-code>
+                public String getKeyProperty() { return "RoleName"; }
+            </user-code>
+        </meta-element>
+        <meta-element>
+            <dtd-name>jsp-fileType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>JspFileType</bean-name>
+            <wrapper-class>java.lang.String</wrapper-class>
+        </meta-element>
+        <meta-element>
+            <dtd-name>filter-nameType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>FilterNameType</bean-name>
+            <wrapper-class>java.lang.String</wrapper-class>
+        </meta-element>
+        <meta-element>
+            <dtd-name>dispatcherType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>DispatcherType</bean-name>
+            <wrapper-class>java.lang.String</wrapper-class>
+        </meta-element>
+        <meta-element>
+            <dtd-name>absoluteOrderingType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>AbsoluteOrdering</bean-name>
+            <implements>
+                org.netbeans.modules.j2ee.dd.api.web.AbsoluteOrdering
+            </implements>
+        </meta-element>
+
+<!-- changes added for EE6: -->
+
+        <meta-element>
+            <dtd-name>handlerType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>ServiceRefHandler</bean-name>
+            <comparator-class>org.netbeans.modules.j2ee.dd.impl.common.Comparator</comparator-class>
+            <extends>org.netbeans.modules.j2ee.dd.impl.common.ComponentBeanMultiple</extends>
+            <implements>
+                org.netbeans.modules.j2ee.dd.api.common.ServiceRefHandler, org.netbeans.modules.j2ee.dd.impl.common.KeyBean
+            </implements>
+            <user-code>
+                public String getKeyProperty() { return "HandlerName"; }
+            </user-code>
+        </meta-element>
+        <meta-element>
+               <dtd-name>handler-chainsType</dtd-name>
+               <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+               <bean-name>ServiceRefHandlerChains</bean-name>
+               <implements>org.netbeans.modules.j2ee.dd.api.common.ServiceRefHandlerChains</implements>
+        </meta-element>
+        <meta-element>
+            <dtd-name>handler-chainType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>ServiceRefHandlerChainType</bean-name>
+            <implements>org.netbeans.modules.j2ee.dd.api.common.ServiceRefHandlerChain</implements>
+        </meta-element>
+        <meta-element>
+            <dtd-name>dewey-versionType</dtd-name>
+            <namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+            <bean-name>version</bean-name>
+            <wrapper-class>java.math.BigDecimal</wrapper-class>
+        </meta-element>
+</metaDD>
diff --git a/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/resources/web-fragment_4_0.mdd b/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/resources/web-fragment_4_0.mdd
new file mode 100644
index 0000000..469e0a0
--- /dev/null
+++ b/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/resources/web-fragment_4_0.mdd
@@ -0,0 +1,1596 @@
+<?xml version='1.0' encoding='UTF-8' ?>
+<metaDD>
+	<meta-element>
+		<dtd-name>web-fragment</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>WebFragment</bean-name>
+		<meta-property>
+			<bean-name>Name</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Description</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>DisplayName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Icon</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Distributable</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ContextParam</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Filter</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>FilterMapping</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Listener</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Servlet</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ServletMapping</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>SessionConfig</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MimeMapping</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>WelcomeFileList</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ErrorPage</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>JspConfig</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>SecurityConstraint</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>LoginConfig</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>SecurityRole</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>EnvEntry</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>EjbRef</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>EjbLocalRef</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ServiceRef</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ResourceRef</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ResourceEnvRef</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MessageDestinationRef</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>PersistenceContextRef</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>PersistenceUnitRef</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>PostConstruct</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>PreDestroy</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>DataSource</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>JmsConnectionFactory</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>JmsDestination</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MailSession</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ConnectionFactory</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>AdministeredObject</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MessageDestination</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>LocaleEncodingMappingList</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Ordering</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>java-identifierType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>JavaIdentifierType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>orderingType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>OrderingType</bean-name>
+		<meta-property>
+			<bean-name>After</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Before</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>ordering-orderingType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>OrderingOrderingType</bean-name>
+		<meta-property>
+			<bean-name>Name</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Others</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>ordering-othersType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>OrderingOthersType</bean-name>
+	</meta-element>
+	<meta-element>
+		<dtd-name>emptyType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>EmptyType</bean-name>
+	</meta-element>
+	<meta-element>
+		<dtd-name>param-valueType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>ParamValueType</bean-name>
+		<meta-property>
+			<bean-name>Description</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ParamName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ParamValue</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>filterType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>FilterType</bean-name>
+		<meta-property>
+			<bean-name>Description</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>DisplayName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Icon</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>FilterName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>FilterClass</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>AsyncSupported</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>InitParam</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>filter-mappingType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>FilterMappingType</bean-name>
+		<meta-property>
+			<bean-name>FilterName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>UrlPattern</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ServletName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Dispatcher</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>listenerType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>ListenerType</bean-name>
+		<meta-property>
+			<bean-name>Description</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>DisplayName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Icon</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ListenerClass</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>servletType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>ServletType</bean-name>
+		<meta-property>
+			<bean-name>Description</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>DisplayName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Icon</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ServletName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ServletClass</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>JspFile</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>InitParam</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>LoadOnStartup</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Enabled</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>AsyncSupported</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>RunAs</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>SecurityRoleRef</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MultipartConfig</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>servlet-mappingType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>ServletMappingType</bean-name>
+		<meta-property>
+			<bean-name>ServletName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>UrlPattern</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>session-configType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>SessionConfigType</bean-name>
+		<meta-property>
+			<bean-name>SessionTimeout</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>CookieConfig</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>TrackingMode</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>mime-mappingType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>MimeMappingType</bean-name>
+		<meta-property>
+			<bean-name>Extension</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MimeType</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>welcome-file-listType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>WelcomeFileListType</bean-name>
+		<meta-property>
+			<bean-name>WelcomeFile</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>error-pageType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>ErrorPageType</bean-name>
+		<meta-property>
+			<bean-name>ErrorCode</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ExceptionType</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Location</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>jsp-configType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>JspConfigType</bean-name>
+		<meta-property>
+			<bean-name>Taglib</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>JspPropertyGroup</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>security-constraintType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>SecurityConstraintType</bean-name>
+		<meta-property>
+			<bean-name>DisplayName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>WebResourceCollection</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>AuthConstraint</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>UserDataConstraint</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>login-configType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>LoginConfigType</bean-name>
+		<meta-property>
+			<bean-name>AuthMethod</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>RealmName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>FormLoginConfig</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>security-roleType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>SecurityRoleType</bean-name>
+		<meta-property>
+			<bean-name>Description</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>RoleName</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>message-destinationType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>MessageDestinationType</bean-name>
+		<meta-property>
+			<bean-name>Description</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>DisplayName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Icon</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MessageDestinationName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MappedName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>LookupName</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>locale-encoding-mapping-listType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>LocaleEncodingMappingListType</bean-name>
+		<meta-property>
+			<bean-name>LocaleEncodingMapping</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>locale-encoding-mappingType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>LocaleEncodingMappingType</bean-name>
+		<meta-property>
+			<bean-name>Locale</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Encoding</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>localeType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>LocaleType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>encodingType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>EncodingType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>string</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>String</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>xsdStringType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>XsdStringType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>descriptionType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>DescriptionType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>display-nameType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>DisplayNameType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>iconType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>IconType</bean-name>
+		<meta-property>
+			<bean-name>SmallIcon</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>LargeIcon</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>pathType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>PathType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>env-entryType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>EnvEntryType</bean-name>
+		<meta-property>
+			<bean-name>Description</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>EnvEntryName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>EnvEntryType</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>EnvEntryValue</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MappedName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>InjectionTarget</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>LookupName</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>ejb-refType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>EjbRefType</bean-name>
+		<meta-property>
+			<bean-name>Description</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>EjbRefName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>EjbRefType</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Home</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Remote</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>EjbLink</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MappedName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>InjectionTarget</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>LookupName</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>ejb-local-refType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>EjbLocalRefType</bean-name>
+		<meta-property>
+			<bean-name>Description</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>EjbRefName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>EjbRefType</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>LocalHome</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Local</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>EjbLink</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MappedName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>InjectionTarget</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>LookupName</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>resource-refType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>ResourceRefType</bean-name>
+		<meta-property>
+			<bean-name>Description</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ResRefName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ResType</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ResAuth</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ResSharingScope</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MappedName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>InjectionTarget</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>LookupName</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>resource-env-refType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>ResourceEnvRefType</bean-name>
+		<meta-property>
+			<bean-name>Description</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ResourceEnvRefName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ResourceEnvRefType</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MappedName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>InjectionTarget</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>LookupName</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>message-destination-refType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>MessageDestinationRefType</bean-name>
+		<meta-property>
+			<bean-name>Description</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MessageDestinationRefName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MessageDestinationType</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MessageDestinationUsage</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MessageDestinationLink</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MappedName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>InjectionTarget</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>LookupName</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>persistence-context-refType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>PersistenceContextRefType</bean-name>
+		<meta-property>
+			<bean-name>Description</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>PersistenceContextRefName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>PersistenceUnitName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>PersistenceContextType</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>PersistenceContextSynchronization</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>PersistenceProperty</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MappedName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>InjectionTarget</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>persistence-unit-refType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>PersistenceUnitRefType</bean-name>
+		<meta-property>
+			<bean-name>Description</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>PersistenceUnitRefName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>PersistenceUnitName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MappedName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>InjectionTarget</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>lifecycle-callbackType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>LifecycleCallbackType</bean-name>
+		<meta-property>
+			<bean-name>LifecycleCallbackClass</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>LifecycleCallbackMethod</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>data-sourceType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>DataSourceType</bean-name>
+		<meta-property>
+			<bean-name>Description</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Name</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ClassName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ServerName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>PortNumber</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>DatabaseName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Url</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>User</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Password</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Property2</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>LoginTimeout</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Transactional</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>IsolationLevel</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>InitialPoolSize</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MaxPoolSize</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MinPoolSize</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MaxIdleTime</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MaxStatements</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>jms-connection-factoryType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>JmsConnectionFactoryType</bean-name>
+		<meta-property>
+			<bean-name>Description</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Name</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>InterfaceName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ClassName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ResourceAdapter</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>User</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Password</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ClientId</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Property2</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Transactional</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MaxPoolSize</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MinPoolSize</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>jms-destinationType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>JmsDestinationType</bean-name>
+		<meta-property>
+			<bean-name>Description</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Name</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>InterfaceName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ClassName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ResourceAdapter</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>DestinationName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Property2</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>mail-sessionType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>MailSessionType</bean-name>
+		<meta-property>
+			<bean-name>Description</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Name</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>StoreProtocol</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>StoreProtocolClass</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>TransportProtocol</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>TransportProtocolClass</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Host</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>User</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Password</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>From</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Property2</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>connection-factory-resourceType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>ConnectionFactoryResourceType</bean-name>
+		<meta-property>
+			<bean-name>Description</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Name</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>InterfaceName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ResourceAdapter</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MaxPoolSize</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MinPoolSize</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>TransactionSupport</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Property2</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>administered-objectType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>AdministeredObjectType</bean-name>
+		<meta-property>
+			<bean-name>Description</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Name</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>InterfaceName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ClassName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ResourceAdapter</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Property2</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>jndi-nameType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>JndiNameType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>fully-qualified-classType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>FullyQualifiedClassType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>propertyType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>PropertyType</bean-name>
+		<meta-property>
+			<bean-name>Name</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Value</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>xsdIntegerType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>XsdIntegerType</bean-name>
+		<wrapper-class>java.math.BigInteger</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>transaction-supportType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>TransactionSupportType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>xsdBooleanType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>XsdBooleanType</bean-name>
+		<wrapper-class>boolean</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>jdbc-urlType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>JdbcUrlType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>isolation-levelType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>IsolationLevelType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>injection-targetType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>InjectionTargetType</bean-name>
+		<meta-property>
+			<bean-name>InjectionTargetClass</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>InjectionTargetName</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>persistence-context-typeType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>PersistenceContextTypeType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>persistence-context-synchronizationType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>PersistenceContextSynchronizationType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>message-destination-typeType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>MessageDestinationTypeType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>message-destination-usageType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>MessageDestinationUsageType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>message-destination-linkType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>MessageDestinationLinkType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>res-authType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>ResAuthType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>res-sharing-scopeType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>ResSharingScopeType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>service-refType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>ServiceRefType</bean-name>
+		<meta-property>
+			<bean-name>Description</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>DisplayName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Icon</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ServiceRefName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ServiceInterface</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ServiceRefType</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>WsdlFile</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>JaxrpcMappingFile</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ServiceQname</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>PortComponentRef</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Handler</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>HandlerChains</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MappedName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>InjectionTarget</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>LookupName</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>xsdAnyURIType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>XsdAnyURIType</bean-name>
+		<wrapper-class>java.net.URI</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>xsdQNameType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>XsdQNameType</bean-name>
+		<wrapper-class>javax.xml.namespace.QName</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>port-component-refType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>PortComponentRefType</bean-name>
+		<meta-property>
+			<bean-name>ServiceEndpointInterface</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>EnableMtom</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MtomThreshold</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Addressing</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>RespectBinding</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>PortComponentLink</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>handlerType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>HandlerType</bean-name>
+		<meta-property>
+			<bean-name>Description</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>DisplayName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Icon</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>HandlerName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>HandlerClass</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>InitParam</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>SoapHeader</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>SoapRole</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>PortName</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>handler-chainsType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>HandlerChainsType</bean-name>
+		<meta-property>
+			<bean-name>HandlerChain</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>handler-chainType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>HandlerChainType</bean-name>
+		<meta-property>
+			<bean-name>ServiceNamePattern</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>PortNamePattern</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ProtocolBindings</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Handler</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>qname-pattern</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>QnamePattern</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>protocol-bindingListType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>ProtocolBindingListType</bean-name>
+		<wrapper-class>String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>true-falseType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>TrueFalseType</bean-name>
+		<wrapper-class>boolean</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>xsdNonNegativeIntegerType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>XsdNonNegativeIntegerType</bean-name>
+		<wrapper-class>java.math.BigInteger</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>addressingType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>AddressingType</bean-name>
+		<meta-property>
+			<bean-name>Enabled</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Required</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Responses</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>respect-bindingType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>RespectBindingType</bean-name>
+		<meta-property>
+			<bean-name>Enabled</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>addressing-responsesType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>AddressingResponsesType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>ejb-ref-nameType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>EjbRefNameType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>ejb-ref-typeType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>EjbRefTypeType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>local-homeType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>LocalHomeType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>localType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>LocalType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>ejb-linkType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>EjbLinkType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>homeType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>HomeType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>remoteType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>RemoteType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>env-entry-type-valuesType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>EnvEntryTypeValuesType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>role-nameType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>RoleNameType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>auth-methodType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>AuthMethodType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>form-login-configType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>FormLoginConfigType</bean-name>
+		<meta-property>
+			<bean-name>FormLoginPage</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>FormErrorPage</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>war-pathType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>WarPathType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>web-resource-collectionType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>WebResourceCollectionType</bean-name>
+		<meta-property>
+			<bean-name>WebResourceName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Description</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>UrlPattern</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>HttpMethod</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>HttpMethodOmission</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>auth-constraintType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>AuthConstraintType</bean-name>
+		<meta-property>
+			<bean-name>Description</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>RoleName</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>user-data-constraintType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>UserDataConstraintType</bean-name>
+		<meta-property>
+			<bean-name>Description</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>TransportGuarantee</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>transport-guaranteeType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>TransportGuaranteeType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>url-patternType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>UrlPatternType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>http-methodType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>HttpMethodType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>taglibType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>TaglibType</bean-name>
+		<meta-property>
+			<bean-name>TaglibUri</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>TaglibLocation</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>jsp-property-groupType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>JspPropertyGroupType</bean-name>
+		<meta-property>
+			<bean-name>Description</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>DisplayName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Icon</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>UrlPattern</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ElIgnored</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>PageEncoding</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ScriptingInvalid</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>IsXml</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>IncludePrelude</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>IncludeCoda</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>DeferredSyntaxAllowedAsLiteral</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>TrimDirectiveWhitespaces</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>DefaultContentType</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Buffer</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>ErrorOnUndeclaredNamespace</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>error-codeType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>ErrorCodeType</bean-name>
+		<wrapper-class>long</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>string</dtd-name>
+		<namespace>http://www.w3.org/2001/XMLSchema</namespace>
+		<bean-name>String</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>mime-typeType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>MimeTypeType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>cookie-configType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>CookieConfigType</bean-name>
+		<meta-property>
+			<bean-name>Name</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Domain</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Path</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Comment</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>HttpOnly</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>Secure</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MaxAge</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>tracking-modeType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>TrackingModeType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>cookie-nameType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>CookieNameType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>nonEmptyStringType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>NonEmptyStringType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>cookie-domainType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>CookieDomainType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>cookie-pathType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>CookiePathType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>cookie-commentType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>CookieCommentType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>servlet-nameType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>ServletNameType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>load-on-startupType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>LoadOnStartupType</bean-name>
+		<wrapper-class>String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>run-asType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>RunAsType</bean-name>
+		<meta-property>
+			<bean-name>Description</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>RoleName</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>security-role-refType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>SecurityRoleRefType</bean-name>
+		<meta-property>
+			<bean-name>Description</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>RoleName</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>RoleLink</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>multipart-configType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>MultipartConfigType</bean-name>
+		<meta-property>
+			<bean-name>Location</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MaxFileSize</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>MaxRequestSize</bean-name>
+		</meta-property>
+		<meta-property>
+			<bean-name>FileSizeThreshold</bean-name>
+		</meta-property>
+	</meta-element>
+	<meta-element>
+		<dtd-name>long</dtd-name>
+		<namespace>http://www.w3.org/2001/XMLSchema</namespace>
+		<bean-name>Long</bean-name>
+		<wrapper-class>long</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>integer</dtd-name>
+		<namespace>http://www.w3.org/2001/XMLSchema</namespace>
+		<bean-name>Integer</bean-name>
+		<wrapper-class>java.math.BigInteger</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>jsp-fileType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>JspFileType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>filter-nameType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>FilterNameType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+	<meta-element>
+		<dtd-name>dispatcherType</dtd-name>
+		<namespace>http://xmlns.jcp.org/xml/ns/javaee</namespace>
+		<bean-name>DispatcherType</bean-name>
+		<wrapper-class>java.lang.String</wrapper-class>
+	</meta-element>
+</metaDD>
diff --git a/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/web/WebAppProxy.java b/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/web/WebAppProxy.java
index 29cdde1..1c3bfc9 100644
--- a/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/web/WebAppProxy.java
+++ b/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/web/WebAppProxy.java
@@ -954,6 +954,9 @@
             } else if (WebApp.VERSION_3_1.equals(version)) {
                 ((org.netbeans.modules.j2ee.dd.impl.web.model_3_1.WebApp)clonedWebApp)._setSchemaLocation
                     ("http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd");
+            } else if (WebApp.VERSION_4_0.equals(version)) {
+                ((org.netbeans.modules.j2ee.dd.impl.web.model_4_0.WebApp)clonedWebApp)._setSchemaLocation
+                    ("http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd");
             }
         }
         proxy.setError(error);
@@ -968,17 +971,17 @@
     public void setWriting(boolean writing) {
         this.writing=writing;
     }
-    
+
     public void setMetadataComplete(boolean value) throws org.netbeans.modules.j2ee.dd.api.common.VersionNotSupportedException {
         if (webApp!=null) webApp.setMetadataComplete(value);
     }
-    
+
     public boolean isMetadataComplete() throws org.netbeans.modules.j2ee.dd.api.common.VersionNotSupportedException{
         return webApp==null?false:webApp.isMetadataComplete();
     }
 
     public int addJspConfig(JspConfig valueInterface) throws VersionNotSupportedException {
-        return webApp == null ? 0 : webApp.addJspConfig(valueInterface); 
+        return webApp == null ? 0 : webApp.addJspConfig(valueInterface);
     }
 
     public int removeJspConfig(JspConfig valueInterface) throws VersionNotSupportedException {
@@ -996,7 +999,7 @@
     public AbsoluteOrdering newAbsoluteOrdering() throws VersionNotSupportedException {
         return webApp != null ? webApp.newAbsoluteOrdering() : null;
     }
-    
+
     public void setAbsoluteOrdering(AbsoluteOrdering[] value) throws VersionNotSupportedException {
         if (webApp != null) webApp.setAbsoluteOrdering(value);
     }
diff --git a/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/web/WebParseUtils.java b/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/web/WebParseUtils.java
index f10257a..04053a1 100644
--- a/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/web/WebParseUtils.java
+++ b/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/web/WebParseUtils.java
@@ -30,17 +30,17 @@
 import org.xml.sax.*;
 
 
-/** Class that collects XML parsing utility methods for web applications. It is 
- * implementation private for this module, however it is also intended to be used by 
- * the DDLoaders modules, which requires tighter coupling with ddapi and has an 
+/** Class that collects XML parsing utility methods for web applications. It is
+ * implementation private for this module, however it is also intended to be used by
+ * the DDLoaders modules, which requires tighter coupling with ddapi and has an
  * implementation dependency on it.
  *
  * @author Petr Jiricka
  */
 public class WebParseUtils {
-  
+
     private static final Logger LOGGER = Logger.getLogger(WebParseUtils.class.getName());
-    
+
     /** Parsing just for detecting the version  SAX parser used
      */
     public static String getVersion(java.io.InputStream is) throws java.io.IOException, SAXException {
@@ -57,13 +57,13 @@
             inputStream.close();
         }
     }
-    
+
     /** Parsing just for detecting the version  SAX parser used
     */
     public static String getVersion(InputSource is) throws IOException, SAXException {
         return ParseUtils.getVersion(is, new VersionHandler(), DDResolver.getInstance());
     }
-    
+
     private static class VersionHandler extends org.xml.sax.helpers.DefaultHandler {
         @Override
         public void startElement(String uri, String localName, String rawName, Attributes atts) throws SAXException {
@@ -77,7 +77,7 @@
             }
         }
     }
-    
+
     //XXX: note that this resolver does not handle entities from included schemas
     // correctly. See #116379.
     private static class DDResolver implements EntityResolver {
@@ -107,10 +107,14 @@
                 resource="/org/netbeans/modules/j2ee/dd/impl/resources/web-app_3_0.xsd"; //NOI18N
             } else if (systemId!=null && systemId.endsWith("web-app_3_1.xsd")) { //NOI18N
                 resource="/org/netbeans/modules/j2ee/dd/impl/resources/web-app_3_1.xsd"; //NOI18N
+            } else if (systemId!=null && systemId.endsWith("web-app_4_0.xsd")) { //NOI18N
+                resource="/org/netbeans/modules/j2ee/dd/impl/resources/web-app_4_0.xsd"; //NOI18N
             } else if (systemId!=null && systemId.endsWith("web-fragment_3_0.xsd")) { //NOI18N
                 resource="/org/netbeans/modules/j2ee/dd/impl/resources/web-fragment_3_0.xsd"; //NOI18N
             } else if (systemId!=null && systemId.endsWith("web-fragment_3_1.xsd")) { //NOI18N
                 resource="/org/netbeans/modules/j2ee/dd/impl/resources/web-fragment_3_1.xsd"; //NOI18N
+            } else if (systemId!=null && systemId.endsWith("web-fragment_4_0.xsd")) { //NOI18N
+                resource="/org/netbeans/modules/j2ee/dd/impl/resources/web-fragment_4_0.xsd"; //NOI18N
             }
             // additional logging for #127276
             if (LOGGER.isLoggable(Level.FINE)) {
@@ -123,7 +127,7 @@
             return new InputSource(url.toString());
         }
     }
-    
+
     public static SAXParseException parse(FileObject fo)
     throws org.xml.sax.SAXException, java.io.IOException {
         InputStream inputStream = fo.getInputStream();
@@ -133,12 +137,12 @@
             inputStream.close();
         }
     }
-    
-    public static SAXParseException parse (InputSource is) 
+
+    public static SAXParseException parse (InputSource is)
             throws org.xml.sax.SAXException, java.io.IOException {
         return ParseUtils.parseDD(is, DDResolver.getInstance());
     }
-   
+
     /**
      * Parses the given <code>inputSource</code> using the given <code>resolver</code>.
      * @param inputSource the source to parse.
@@ -146,9 +150,9 @@
      * @return the SAX exception encountered during parsing or null if there was
      * no exception.
      */
-    public static SAXParseException parse (InputSource is, EntityResolver resolver) 
+    public static SAXParseException parse (InputSource is, EntityResolver resolver)
             throws org.xml.sax.SAXException, java.io.IOException {
         return ParseUtils.parseDD(is, resolver);
     }
-   
+
 }
diff --git a/enterprise/j2ee.ddloaders/src/org/netbeans/modules/j2ee/ddloaders/catalog/EnterpriseCatalog.java b/enterprise/j2ee.ddloaders/src/org/netbeans/modules/j2ee/ddloaders/catalog/EnterpriseCatalog.java
index ce0e942..b595872 100644
--- a/enterprise/j2ee.ddloaders/src/org/netbeans/modules/j2ee/ddloaders/catalog/EnterpriseCatalog.java
+++ b/enterprise/j2ee.ddloaders/src/org/netbeans/modules/j2ee/ddloaders/catalog/EnterpriseCatalog.java
@@ -36,9 +36,9 @@
 import org.xml.sax.SAXException;
 
 /**
- * A catalog that provides web, application, web services, web services client, javaee, j2ee, 
+ * A catalog that provides web, application, web services, web services client, javaee, j2ee,
  * ejb-jar and application client deployment descriptor schemas for code completion and validation.
- * 
+ *
  * @author Erno Mononen
  */
 public final class EnterpriseCatalog implements CatalogReader, CatalogDescriptor2, EntityResolver  {
@@ -47,12 +47,12 @@
     private static final String JAVAEE_NS = "http://java.sun.com/xml/ns/javaee"; //NOI18N
     private static final String XML_NS = "http://www.w3.org/2001/XMLSchema"; //NOI18N
     private static final String NEW_JAVAEE_NS = "http://xmlns.jcp.org/xml/ns/javaee"; //NOI18N
-    private static final String RESOURCE_PATH = "nbres:/org/netbeans/modules/j2ee/ddloaders/catalog/resources/"; //NO18N 
-    
+    private static final String RESOURCE_PATH = "nbres:/org/netbeans/modules/j2ee/ddloaders/catalog/resources/"; //NO18N
+
     private List<SchemaInfo> schemas = new ArrayList<SchemaInfo>();
-    
+
     private static final Logger LOGGER = Logger.getLogger(EnterpriseCatalog.class.getName());
-    
+
     public EnterpriseCatalog() {
         initialize();
     }
@@ -97,9 +97,11 @@
 
         schemas.add(new SchemaInfo("web-common_3_0.xsd", JAVAEE_NS));
         schemas.add(new SchemaInfo("web-common_3_1.xsd", NEW_JAVAEE_NS));
-        
+        schemas.add(new SchemaInfo("web-common_4_0.xsd", NEW_JAVAEE_NS));
+
         schemas.add(new SchemaInfo("web-fragment_3_0.xsd", JAVAEE_NS));
         schemas.add(new SchemaInfo("web-fragment_3_1.xsd", NEW_JAVAEE_NS));
+        schemas.add(new SchemaInfo("web-fragment_4_0.xsd", NEW_JAVAEE_NS));
         // jsp
         schemas.add(new SchemaInfo("jsp_2_0.xsd", J2EE_NS));
         schemas.add(new SchemaInfo("jsp_2_1.xsd", JAVAEE_NS));
@@ -124,7 +126,7 @@
         schemas.add(new SchemaInfo("jobXML_1_0.xsd", NEW_JAVAEE_NS));
 
     }
-    
+
     public String getIconResource(int type) {
         return "org/netbeans/modules/j2ee/ddloaders/catalog/resources/DDCatalog.gif"; // NOI18N
     }
@@ -207,9 +209,9 @@
     /**
      * A simple holder for the information needed
      * for resolving the resource path and public id of a schema.
-     */ 
+     */
     private static class SchemaInfo {
-        
+
         private final String schemaName;
         private final String namespace;
         private final boolean dtd;
@@ -223,7 +225,7 @@
             this.namespace = namespace;
             this.dtd = dtd;
         }
-        
+
         public String getResourcePath() {
             return RESOURCE_PATH + getSchemaName();
         }
@@ -231,13 +233,13 @@
         public String getSchemaName() {
             return schemaName;
         }
-        
+
         public String getPublicId(){
             if (dtd){
                 return namespace;
             }
             return "SCHEMA:" + namespace + "/" + schemaName; //NO18N
         }
-        
+
     }
 }
diff --git a/enterprise/libs.elimpl/nbproject/org-netbeans-libs-elimpl.sig b/enterprise/libs.elimpl/nbproject/org-netbeans-libs-elimpl.sig
index b0a2ad8..7a2f153 100644
--- a/enterprise/libs.elimpl/nbproject/org-netbeans-libs-elimpl.sig
+++ b/enterprise/libs.elimpl/nbproject/org-netbeans-libs-elimpl.sig
@@ -1,5 +1,5 @@
 #Signature file v4.1
-#Version 1.23.1
+#Version 1.24.0
 
 CLSS public com.sun.el.ExpressionFactoryImpl
 cons public init()
diff --git a/enterprise/libs.elimpl/nbproject/project.properties b/enterprise/libs.elimpl/nbproject/project.properties
index 33fff98..0a11394 100644
--- a/enterprise/libs.elimpl/nbproject/project.properties
+++ b/enterprise/libs.elimpl/nbproject/project.properties
@@ -21,3 +21,5 @@
 javadoc.arch=${basedir}/arch.xml
 release.external/el-impl-3.0-b07.jar=modules/ext/el-impl.jar
 spec.version.base=1.24.0
+sigtest.gen.fail.on.error=false
+
diff --git a/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/MicroApplication.java b/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/MicroApplication.java
index 43ef4c3..9404bce 100644
--- a/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/MicroApplication.java
+++ b/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/MicroApplication.java
@@ -145,8 +145,10 @@
     public static MicroApplication getInstance(Project project) {
         MicroApplication microApplication = null;
         if (project != null) {
-           MicroApplicationContent content = project.getLookup().lookup(MicroApplicationContent.class);
-           microApplication = content.getMicroApplication();
+            MicroApplicationContent content = project.getLookup().lookup(MicroApplicationContent.class);
+            if (content != null) {
+                microApplication = content.getMicroApplication();
+            }
         }
         return microApplication;
     }
diff --git a/groovy/gradle.htmlui/src/org/netbeans/modules/gradle/htmlui/resources/desktop_build.gradle.fmk b/groovy/gradle.htmlui/src/org/netbeans/modules/gradle/htmlui/resources/desktop_build.gradle.fmk
index f69ce48..6ce6469 100644
--- a/groovy/gradle.htmlui/src/org/netbeans/modules/gradle/htmlui/resources/desktop_build.gradle.fmk
+++ b/groovy/gradle.htmlui/src/org/netbeans/modules/gradle/htmlui/resources/desktop_build.gradle.fmk
@@ -18,10 +18,14 @@
     under the License.
 
 -->
-apply plugin: 'java'
-apply plugin: 'application'
+plugins {
+    id 'java'
+    id 'application'
+    id 'org.openjfx.javafxplugin' version '0.0.7' apply false
+}
 
 def commonProject = project.parent
+def jdk8 = System.getProperty("java.version").startsWith("1.8")
 
 mainClassName = '${packageBase}.DesktopMain'
 
@@ -37,6 +41,13 @@
 tasks.run {
     jvmArgs "-Dbrowser.rootdir=${commonProject.projectDir}/src/main/webapp/"
 }
+if (!jdk8) {
+    apply plugin: 'org.openjfx.javafxplugin'
+    javafx {
+        version = "11"
+        modules = ["javafx.web"]
+    }
+}
 </#noparse>
 dependencies {
     compile commonProject
diff --git a/groovy/gradle.htmlui/src/org/netbeans/modules/gradle/htmlui/resources/root_build.gradle.fmk b/groovy/gradle.htmlui/src/org/netbeans/modules/gradle/htmlui/resources/root_build.gradle.fmk
index 2fe362b..88e4206 100644
--- a/groovy/gradle.htmlui/src/org/netbeans/modules/gradle/htmlui/resources/root_build.gradle.fmk
+++ b/groovy/gradle.htmlui/src/org/netbeans/modules/gradle/htmlui/resources/root_build.gradle.fmk
@@ -20,7 +20,7 @@
 -->
 <#noparse>
 plugins {
-    id "me.tatarka.retrolambda" version "3.7.0"
+    id "me.tatarka.retrolambda" version "3.7.1"
 }
 
 apply plugin: 'java'
diff --git a/groovy/gradle.htmlui/src/org/netbeans/modules/gradle/htmlui/resources/web_build.gradle.fmk b/groovy/gradle.htmlui/src/org/netbeans/modules/gradle/htmlui/resources/web_build.gradle.fmk
index a3446cd..981c051 100644
--- a/groovy/gradle.htmlui/src/org/netbeans/modules/gradle/htmlui/resources/web_build.gradle.fmk
+++ b/groovy/gradle.htmlui/src/org/netbeans/modules/gradle/htmlui/resources/web_build.gradle.fmk
@@ -32,6 +32,9 @@
 apply plugin: 'java'
 apply plugin: 'bck2brwsr'
 
+targetCompatibility = '1.8'
+sourceCompatibility = '1.8'
+
 mainClassName = '${packageBase}.BrowserMain'
 
 <#noparse>
diff --git a/groovy/gradle.javaee/src/org/netbeans/modules/gradle/javaee/api/ui/support/CheckBoxUpdater.java b/groovy/gradle.javaee/src/org/netbeans/modules/gradle/javaee/api/ui/support/CheckBoxUpdater.java
index 7e876dc..bb5de0c 100644
--- a/groovy/gradle.javaee/src/org/netbeans/modules/gradle/javaee/api/ui/support/CheckBoxUpdater.java
+++ b/groovy/gradle.javaee/src/org/netbeans/modules/gradle/javaee/api/ui/support/CheckBoxUpdater.java
@@ -1,46 +1,4 @@
 /*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
- *
- * Copyright 2013 Oracle and/or its affiliates. All rights reserved.
- *
- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
- * Other names may be trademarks of their respective owners.
- *
- * The contents of this file are subject to the terms of either the GNU
- * General Public License Version 2 only ("GPL") or the Common
- * Development and Distribution License("CDDL") (collectively, the
- * "License"). You may not use this file except in compliance with the
- * License. You can obtain a copy of the License at
- * http://www.netbeans.org/cddl-gplv2.html
- * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
- * specific language governing permissions and limitations under the
- * License.  When distributing the software, include this License Header
- * Notice in each file and include the License file at
- * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the GPL Version 2 section of the License file that
- * accompanied this code. If applicable, add the following below the
- * License Header, with the fields enclosed by brackets [] replaced by
- * your own identifying information:
- * "Portions Copyrighted [year] [name of copyright owner]"
- *
- * If you wish your version of this file to be governed by only the CDDL
- * or only the GPL Version 2, indicate your decision by adding
- * "[Contributor] elects to include this software in this distribution
- * under the [CDDL or GPL Version 2] license." If you do not indicate a
- * single choice of license, a recipient has the option to distribute
- * your version of this file under either the CDDL, the GPL Version 2 or
- * to extend the choice of license to its licensees as provided above.
- * However, if you add GPL Version 2 code and therefore, elected the GPL
- * Version 2 license, then the option applies only if the new code is
- * made subject to such option by the copyright holder.
- *
- * Contributor(s):
- *
- * Portions Copyrighted 2013 Sun Microsystems, Inc.
- */
-
-/*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
diff --git a/groovy/gradle.javaee/src/org/netbeans/modules/gradle/javaee/api/ui/support/ComboBoxUpdater.java b/groovy/gradle.javaee/src/org/netbeans/modules/gradle/javaee/api/ui/support/ComboBoxUpdater.java
index 34a4e4a..df08ff2 100644
--- a/groovy/gradle.javaee/src/org/netbeans/modules/gradle/javaee/api/ui/support/ComboBoxUpdater.java
+++ b/groovy/gradle.javaee/src/org/netbeans/modules/gradle/javaee/api/ui/support/ComboBoxUpdater.java
@@ -1,46 +1,4 @@
 /*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
- *
- * Copyright 2013 Oracle and/or its affiliates. All rights reserved.
- *
- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
- * Other names may be trademarks of their respective owners.
- *
- * The contents of this file are subject to the terms of either the GNU
- * General Public License Version 2 only ("GPL") or the Common
- * Development and Distribution License("CDDL") (collectively, the
- * "License"). You may not use this file except in compliance with the
- * License. You can obtain a copy of the License at
- * http://www.netbeans.org/cddl-gplv2.html
- * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
- * specific language governing permissions and limitations under the
- * License.  When distributing the software, include this License Header
- * Notice in each file and include the License file at
- * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the GPL Version 2 section of the License file that
- * accompanied this code. If applicable, add the following below the
- * License Header, with the fields enclosed by brackets [] replaced by
- * your own identifying information:
- * "Portions Copyrighted [year] [name of copyright owner]"
- *
- * If you wish your version of this file to be governed by only the CDDL
- * or only the GPL Version 2, indicate your decision by adding
- * "[Contributor] elects to include this software in this distribution
- * under the [CDDL or GPL Version 2] license." If you do not indicate a
- * single choice of license, a recipient has the option to distribute
- * your version of this file under either the CDDL, the GPL Version 2 or
- * to extend the choice of license to its licensees as provided above.
- * However, if you add GPL Version 2 code and therefore, elected the GPL
- * Version 2 license, then the option applies only if the new code is
- * made subject to such option by the copyright holder.
- *
- * Contributor(s):
- *
- * Portions Copyrighted 2013 Sun Microsystems, Inc.
- */
-
-/*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
diff --git a/groovy/gradle.javaee/src/org/netbeans/modules/gradle/javaee/web/AdditionalWebProvider.java b/groovy/gradle.javaee/src/org/netbeans/modules/gradle/javaee/web/AdditionalWebProvider.java
index aa316e5..e31e87c 100644
--- a/groovy/gradle.javaee/src/org/netbeans/modules/gradle/javaee/web/AdditionalWebProvider.java
+++ b/groovy/gradle.javaee/src/org/netbeans/modules/gradle/javaee/web/AdditionalWebProvider.java
@@ -1,45 +1,4 @@
 /*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
- *
- * Copyright 2011 Oracle and/or its affiliates. All rights reserved.
- *
- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
- * Other names may be trademarks of their respective owners.
- *
- * The contents of this file are subject to the terms of either the GNU
- * General Public License Version 2 only ("GPL") or the Common
- * Development and Distribution License("CDDL") (collectively, the
- * "License"). You may not use this file except in compliance with the
- * License. You can obtain a copy of the License at
- * http://www.netbeans.org/cddl-gplv2.html
- * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
- * specific language governing permissions and limitations under the
- * License.  When distributing the software, include this License Header
- * Notice in each file and include the License file at
- * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the GPL Version 2 section of the License file that
- * accompanied this code. If applicable, add the following below the
- * License Header, with the fields enclosed by brackets [] replaced by
- * your own identifying information:
- * "Portions Copyrighted [year] [name of copyright owner]"
- *
- * If you wish your version of this file to be governed by only the CDDL
- * or only the GPL Version 2, indicate your decision by adding
- * "[Contributor] elects to include this software in this distribution
- * under the [CDDL or GPL Version 2] license." If you do not indicate a
- * single choice of license, a recipient has the option to distribute
- * your version of this file under either the CDDL, the GPL Version 2 or
- * to extend the choice of license to its licensees as provided above.
- * However, if you add GPL Version 2 code and therefore, elected the GPL
- * Version 2 license, then the option applies only if the new code is
- * made subject to such option by the copyright holder.
- *
- * Contributor(s):
- *
- * Portions Copyrighted 2011 Sun Microsystems, Inc.
- */
-/*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
diff --git a/groovy/gradle.javaee/src/org/netbeans/modules/gradle/javaee/web/CssPreprocessorsProblemProvider.java b/groovy/gradle.javaee/src/org/netbeans/modules/gradle/javaee/web/CssPreprocessorsProblemProvider.java
index 2fac280..1a6c7b0 100644
--- a/groovy/gradle.javaee/src/org/netbeans/modules/gradle/javaee/web/CssPreprocessorsProblemProvider.java
+++ b/groovy/gradle.javaee/src/org/netbeans/modules/gradle/javaee/web/CssPreprocessorsProblemProvider.java
@@ -1,45 +1,4 @@
 /*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
- *
- * Copyright 2013 Oracle and/or its affiliates. All rights reserved.
- *
- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
- * Other names may be trademarks of their respective owners.
- *
- * The contents of this file are subject to the terms of either the GNU
- * General Public License Version 2 only ("GPL") or the Common
- * Development and Distribution License("CDDL") (collectively, the
- * "License"). You may not use this file except in compliance with the
- * License. You can obtain a copy of the License at
- * http://www.netbeans.org/cddl-gplv2.html
- * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
- * specific language governing permissions and limitations under the
- * License.  When distributing the software, include this License Header
- * Notice in each file and include the License file at
- * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the GPL Version 2 section of the License file that
- * accompanied this code. If applicable, add the following below the
- * License Header, with the fields enclosed by brackets [] replaced by
- * your own identifying information:
- * "Portions Copyrighted [year] [name of copyright owner]"
- *
- * If you wish your version of this file to be governed by only the CDDL
- * or only the GPL Version 2, indicate your decision by adding
- * "[Contributor] elects to include this software in this distribution
- * under the [CDDL or GPL Version 2] license." If you do not indicate a
- * single choice of license, a recipient has the option to distribute
- * your version of this file under either the CDDL, the GPL Version 2 or
- * to extend the choice of license to its licensees as provided above.
- * However, if you add GPL Version 2 code and therefore, elected the GPL
- * Version 2 license, then the option applies only if the new code is
- * made subject to such option by the copyright holder.
- *
- * Contributor(s):
- *
- * Portions Copyrighted 2013 Sun Microsystems, Inc.
- */
-/*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
diff --git a/groovy/gradle.javaee/src/org/netbeans/modules/gradle/javaee/web/CssPreprocessorsSupport.java b/groovy/gradle.javaee/src/org/netbeans/modules/gradle/javaee/web/CssPreprocessorsSupport.java
index fa61a35..c3bc107 100644
--- a/groovy/gradle.javaee/src/org/netbeans/modules/gradle/javaee/web/CssPreprocessorsSupport.java
+++ b/groovy/gradle.javaee/src/org/netbeans/modules/gradle/javaee/web/CssPreprocessorsSupport.java
@@ -1,46 +1,4 @@
 /*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
- *
- * Copyright 2013 Oracle and/or its affiliates. All rights reserved.
- *
- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
- * Other names may be trademarks of their respective owners.
- *
- * The contents of this file are subject to the terms of either the GNU
- * General Public License Version 2 only ("GPL") or the Common
- * Development and Distribution License("CDDL") (collectively, the
- * "License"). You may not use this file except in compliance with the
- * License. You can obtain a copy of the License at
- * http://www.netbeans.org/cddl-gplv2.html
- * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
- * specific language governing permissions and limitations under the
- * License.  When distributing the software, include this License Header
- * Notice in each file and include the License file at
- * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the GPL Version 2 section of the License file that
- * accompanied this code. If applicable, add the following below the
- * License Header, with the fields enclosed by brackets [] replaced by
- * your own identifying information:
- * "Portions Copyrighted [year] [name of copyright owner]"
- *
- * If you wish your version of this file to be governed by only the CDDL
- * or only the GPL Version 2, indicate your decision by adding
- * "[Contributor] elects to include this software in this distribution
- * under the [CDDL or GPL Version 2] license." If you do not indicate a
- * single choice of license, a recipient has the option to distribute
- * your version of this file under either the CDDL, the GPL Version 2 or
- * to extend the choice of license to its licensees as provided above.
- * However, if you add GPL Version 2 code and therefore, elected the GPL
- * Version 2 license, then the option applies only if the new code is
- * made subject to such option by the copyright holder.
- *
- * Contributor(s):
- *
- * Portions Copyrighted 2013 Sun Microsystems, Inc.
- */
-
-/*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
diff --git a/groovy/gradle.javaee/src/org/netbeans/modules/gradle/javaee/web/WebEjbJarImpl.java b/groovy/gradle.javaee/src/org/netbeans/modules/gradle/javaee/web/WebEjbJarImpl.java
index 0ff593f..9624bc6 100644
--- a/groovy/gradle.javaee/src/org/netbeans/modules/gradle/javaee/web/WebEjbJarImpl.java
+++ b/groovy/gradle.javaee/src/org/netbeans/modules/gradle/javaee/web/WebEjbJarImpl.java
@@ -1,45 +1,4 @@
 /*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
- *
- * Copyright 2010 Oracle and/or its affiliates. All rights reserved.
- *
- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
- * Other names may be trademarks of their respective owners.
- *
- * The contents of this file are subject to the terms of either the GNU
- * General Public License Version 2 only ("GPL") or the Common
- * Development and Distribution License("CDDL") (collectively, the
- * "License"). You may not use this file except in compliance with the
- * License. You can obtain a copy of the License at
- * http://www.netbeans.org/cddl-gplv2.html
- * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
- * specific language governing permissions and limitations under the
- * License.  When distributing the software, include this License Header
- * Notice in each file and include the License file at
- * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the GPL Version 2 section of the License file that
- * accompanied this code. If applicable, add the following below the
- * License Header, with the fields enclosed by brackets [] replaced by
- * your own identifying information:
- * "Portions Copyrighted [year] [name of copyright owner]"
- *
- * If you wish your version of this file to be governed by only the CDDL
- * or only the GPL Version 2, indicate your decision by adding
- * "[Contributor] elects to include this software in this distribution
- * under the [CDDL or GPL Version 2] license." If you do not indicate a
- * single choice of license, a recipient has the option to distribute
- * your version of this file under either the CDDL, the GPL Version 2 or
- * to extend the choice of license to its licensees as provided above.
- * However, if you add GPL Version 2 code and therefore, elected the GPL
- * Version 2 license, then the option applies only if the new code is
- * made subject to such option by the copyright holder.
- *
- * Contributor(s):
- *
- * Portions Copyrighted 2009 Sun Microsystems, Inc.
- */
-/*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
diff --git a/groovy/gradle.javaee/src/org/netbeans/modules/gradle/javaee/web/WebRecoPrivTemplates.java b/groovy/gradle.javaee/src/org/netbeans/modules/gradle/javaee/web/WebRecoPrivTemplates.java
index 6a8e776..69475f1 100644
--- a/groovy/gradle.javaee/src/org/netbeans/modules/gradle/javaee/web/WebRecoPrivTemplates.java
+++ b/groovy/gradle.javaee/src/org/netbeans/modules/gradle/javaee/web/WebRecoPrivTemplates.java
@@ -1,45 +1,4 @@
 /*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
- *
- * Copyright 2011 Oracle and/or its affiliates. All rights reserved.
- *
- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
- * Other names may be trademarks of their respective owners.
- *
- * The contents of this file are subject to the terms of either the GNU
- * General Public License Version 2 only ("GPL") or the Common
- * Development and Distribution License("CDDL") (collectively, the
- * "License"). You may not use this file except in compliance with the
- * License. You can obtain a copy of the License at
- * http://www.netbeans.org/cddl-gplv2.html
- * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
- * specific language governing permissions and limitations under the
- * License.  When distributing the software, include this License Header
- * Notice in each file and include the License file at
- * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the GPL Version 2 section of the License file that
- * accompanied this code. If applicable, add the following below the
- * License Header, with the fields enclosed by brackets [] replaced by
- * your own identifying information:
- * "Portions Copyrighted [year] [name of copyright owner]"
- *
- * If you wish your version of this file to be governed by only the CDDL
- * or only the GPL Version 2, indicate your decision by adding
- * "[Contributor] elects to include this software in this distribution
- * under the [CDDL or GPL Version 2] license." If you do not indicate a
- * single choice of license, a recipient has the option to distribute
- * your version of this file under either the CDDL, the GPL Version 2 or
- * to extend the choice of license to its licensees as provided above.
- * However, if you add GPL Version 2 code and therefore, elected the GPL
- * Version 2 license, then the option applies only if the new code is
- * made subject to such option by the copyright holder.
- *
- * Contributor(s):
- *
- * Portions Copyrighted 2011 Sun Microsystems, Inc.
- */
-/*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/HyperlinkProviderImpl.java b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/HyperlinkProviderImpl.java
index 3419d7e..e427a89 100644
--- a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/HyperlinkProviderImpl.java
+++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/HyperlinkProviderImpl.java
@@ -69,6 +69,11 @@
 
     @Override
     public int[] getHyperlinkSpan(Document doc, int offset, HyperlinkType type) {
+        if (doc.getProperty(HyperlinkProviderImpl.class) != Boolean.TRUE) {
+            //not handled by a LSP handler
+            return null;
+        }
+
         try {
             //XXX: not really using the server, are we?
             return Utilities.getIdentifierBlock((BaseDocument) doc, offset);
diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/TextDocumentSyncServerCapabilityHandler.java b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/TextDocumentSyncServerCapabilityHandler.java
index 79c88af..3c59ffa 100644
--- a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/TextDocumentSyncServerCapabilityHandler.java
+++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/TextDocumentSyncServerCapabilityHandler.java
@@ -86,6 +86,8 @@
                 if (server == null)
                     return ; //ignore
 
+                doc.putProperty(HyperlinkProviderImpl.class, Boolean.TRUE);
+
                 String uri = Utils.toURI(file);
                 String[] text = new String[1];
 
diff --git a/java/java.api.common/nbproject/org-netbeans-modules-java-api-common.sig b/java/java.api.common/nbproject/org-netbeans-modules-java-api-common.sig
index fb59f24..bd6fb9f 100644
--- a/java/java.api.common/nbproject/org-netbeans-modules-java-api-common.sig
+++ b/java/java.api.common/nbproject/org-netbeans-modules-java-api-common.sig
@@ -1,5 +1,5 @@
 #Signature file v4.1
-#Version 1.127.1
+#Version 1.128
 
 CLSS public abstract java.awt.Component
 cons protected init()
@@ -807,6 +807,15 @@
 hfds hint,isSourceRoot,support,supportIncludes,type
 hcls MyAccessor,NonSourceRoots,PropSourceRoots
 
+CLSS public final org.netbeans.modules.java.api.common.SingleJavaSourceRunActionProvider
+cons public init()
+intf org.netbeans.spi.project.ActionProvider
+meth public boolean isActionEnabled(java.lang.String,org.openide.util.Lookup)
+meth public java.lang.String[] getSupportedActions()
+meth public void invokeAction(java.lang.String,org.openide.util.Lookup)
+supr java.lang.Object
+hfds FILE_ARGUMENTS,FILE_VM_OPTIONS
+
 CLSS public org.netbeans.modules.java.api.common.SourceRoots
 fld public final static java.lang.String DEFAULT_SOURCE_LABEL
 fld public final static java.lang.String DEFAULT_TEST_LABEL
diff --git a/java/java.api.common/src/org/netbeans/modules/java/api/common/SingleJavaSourceRunActionProvider.java b/java/java.api.common/src/org/netbeans/modules/java/api/common/SingleJavaSourceRunActionProvider.java
index 662d454..04a081b 100644
--- a/java/java.api.common/src/org/netbeans/modules/java/api/common/SingleJavaSourceRunActionProvider.java
+++ b/java/java.api.common/src/org/netbeans/modules/java/api/common/SingleJavaSourceRunActionProvider.java
@@ -40,7 +40,7 @@
  * @author Sarvesh Kesharwani
  */
 @ServiceProvider(service = ActionProvider.class)
-public class SingleJavaSourceRunActionProvider implements ActionProvider {
+public final class SingleJavaSourceRunActionProvider implements ActionProvider {
     
     private static final String FILE_ARGUMENTS = "single_file_run_arguments"; //NOI18N
     private static final String FILE_VM_OPTIONS = "single_file_vm_options"; //NOI18N
@@ -76,7 +76,7 @@
         return version >= 11 && fileObject != null;
     }
     
-    public RunProcess invokeActionHelper (String command, FileObject fileObject) {
+    final RunProcess invokeActionHelper (String command, FileObject fileObject) {
         String filePath = fileObject.getPath();
         Object argumentsObject = fileObject.getAttribute(FILE_ARGUMENTS);
         String arguments = argumentsObject != null ? (String) argumentsObject : "";
diff --git a/nbbuild/notice-stub.txt b/nbbuild/notice-stub.txt
index d47c7d7..2927944 100644
--- a/nbbuild/notice-stub.txt
+++ b/nbbuild/notice-stub.txt
@@ -1,5 +1,5 @@
 Apache NetBeans
-Copyright 2017-2018 The Apache Software Foundation
+Copyright 2017-2019 The Apache Software Foundation
 
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).