[436495] ArrayIndexOutOfBoundsException occurs randomly during a
headless build
diff --git a/features/org.eclipse.wst.common_core.feature.patch/buildnotes_org.eclipse.wst.common_core.feature.patch.html b/features/org.eclipse.wst.common_core.feature.patch/buildnotes_org.eclipse.wst.common_core.feature.patch.html
index 8ec7bc7..570145a 100644
--- a/features/org.eclipse.wst.common_core.feature.patch/buildnotes_org.eclipse.wst.common_core.feature.patch.html
+++ b/features/org.eclipse.wst.common_core.feature.patch/buildnotes_org.eclipse.wst.common_core.feature.patch.html
@@ -16,6 +16,7 @@
 <p>Bug <a href='https://bugs.eclipse.org/404092'>404092</a>. Failure to create a WAR file with project containing virtual folders</p>

 <p>Bug <a href='https://bugs.eclipse.org/407211'>407211</a>. URIHelper.getInputStream() does not work properly if an InterruptedException happens.</p>

 <p>Bug <a href='https://bugs.eclipse.org/404689'>404689</a>. Validation rule for target runtime is not working on EJB Validator</p>

+<p>Bug <a href='https://bugs.eclipse.org/436495'>436495</a>. ArrayIndexOutOfBoundsException occurs randomly during a headless build</p>

 

 </body>

 </html>
\ No newline at end of file
diff --git a/features/org.eclipse.wst.common_core.feature.patch/feature.properties b/features/org.eclipse.wst.common_core.feature.patch/feature.properties
index 07bab41..94c1dd1 100644
--- a/features/org.eclipse.wst.common_core.feature.patch/feature.properties
+++ b/features/org.eclipse.wst.common_core.feature.patch/feature.properties
@@ -30,6 +30,7 @@
 Bug https://bugs.eclipse.org/404092 Failure to create a WAR file with project containing virtual folders\n\

 Bug https://bugs.eclipse.org/407211 URIHelper.getInputStream() does not work properly if an InterruptedException happens.\n\

 Bug https://bugs.eclipse.org/404689 Validation rule for target runtime is not working on EJB Validator\n\

+Bug https://bugs.eclipse.org/436495 ArrayIndexOutOfBoundsException occurs randomly during a headless build\n\

 \n\

 # "copyright" property - text of the "Feature Update Copyright"

 copyright=\

diff --git a/features/org.eclipse.wst.common_core.feature.patch/feature.xml b/features/org.eclipse.wst.common_core.feature.patch/feature.xml
index 7b75739..23b68df 100644
--- a/features/org.eclipse.wst.common_core.feature.patch/feature.xml
+++ b/features/org.eclipse.wst.common_core.feature.patch/feature.xml
@@ -42,4 +42,11 @@
          version="0.0.0"

          unpack="false"/>

 

+   <plugin

+         id="org.eclipse.wst.common.emf"

+         download-size="0"

+         install-size="0"

+         version="0.0.0"

+         unpack="false"/>

+

 </feature>

diff --git a/plugins/org.eclipse.wst.common.emf/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.common.emf/META-INF/MANIFEST.MF
index 5878621..67d316e 100644
--- a/plugins/org.eclipse.wst.common.emf/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.wst.common.emf/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.wst.common.emf; singleton:=true
-Bundle-Version: 1.2.100.qualifier
+Bundle-Version: 1.2.101.qualifier
 Bundle-Activator: org.eclipse.wst.common.internal.emf.plugin.EcoreUtilitiesPlugin
 Bundle-Vendor: %pluginProvider
 Bundle-Localization: plugin
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/ExtendedEcoreUtil.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/ExtendedEcoreUtil.java
index 823f191..5f49729 100644
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/ExtendedEcoreUtil.java
+++ b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/ExtendedEcoreUtil.java
@@ -89,6 +89,37 @@
 	    {
 	     super.clear();
 	    }
+	    
+	    @Override
+		public synchronized Object [] data()
+		{
+			return super.data();
+		}
+
+	    @Override
+	    protected synchronized void ensureSafety()
+	    {
+	    	super.ensureSafety();
+	    }
+	    
+	    @Override
+	    protected synchronized Object [] newData(int capacity)
+	    {
+	    	return super.newData(capacity);
+	    }
+	    
+	    @Override
+	    public synchronized boolean addAllUnique(int index, Collection collection) 
+	    {
+	    	return super.addAllUnique(index, collection);
+	    }
+	    
+	    @Override
+	    public synchronized void addUnique(int index, Object object) 
+	    {
+	    	super.addUnique(index, object);
+	    }
+	    
 
 
 	    @Override
@@ -96,6 +127,11 @@
 	    {
 	    return super.set(index, object);
 	    }
+	    
+	    @Override
+	    public synchronized void setData(int size, Object [] data){
+	    	super.setData(size, data);
+	    }
 
 	    @Override
 		public synchronized void move(int newPosition, Object object)