[290131] Exceptions from JEM in adopter product
diff --git a/features/org.eclipse.jem.feature.patch/buildnotes_org.eclipse.jem.feature.patch.html b/features/org.eclipse.jem.feature.patch/buildnotes_org.eclipse.jem.feature.patch.html
index 24fec49..76d5f03 100644
--- a/features/org.eclipse.jem.feature.patch/buildnotes_org.eclipse.jem.feature.patch.html
+++ b/features/org.eclipse.jem.feature.patch/buildnotes_org.eclipse.jem.feature.patch.html
@@ -17,4 +17,5 @@
 <p>Bug <a href='https://bugs.eclipse.org/bugs/show_bug.cgi?id=247701'>247701</a>. JavaFieldJDOMAdapter causing StringIndexOutOfBoundsException</p>
 <p>Bug <a href='https://bugs.eclipse.org/bugs/show_bug.cgi?id=247895'>247895</a>. EJBValidator fails silently</p>
 <p>Bug <a href='https://bugs.eclipse.org/bugs/show_bug.cgi?id=249019'>249019</a>. Japanese chars in source code changed to illegible unicode</p>
+<p>Bug <a href='https://bugs.eclipse.org/bugs/show_bug.cgi?id=290131'>290131</a>. Exceptions from JEM in adopter product</p>
 </body></html>
\ No newline at end of file
diff --git a/features/org.eclipse.jem.feature.patch/feature.properties b/features/org.eclipse.jem.feature.patch/feature.properties
index 2492ca3..5c56dc9 100644
--- a/features/org.eclipse.jem.feature.patch/feature.properties
+++ b/features/org.eclipse.jem.feature.patch/feature.properties
@@ -30,6 +30,7 @@
 Bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=247701 JavaFieldJDOMAdapter causing StringIndexOutOfBoundsException\n\
 Bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=247895 EJBValidator fails silently\n\
 Bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=249019 Japanese chars in source code changed to illegible unicode\n\
+Bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=290131 Exceptions from JEM in adopter product\n\
 \n\
 copyright=\
 Copyright (c) 2008 IBM Corporation and others.\n\
diff --git a/plugins/org.eclipse.jem.workbench/META-INF/MANIFEST.MF b/plugins/org.eclipse.jem.workbench/META-INF/MANIFEST.MF
index 41eb9a4..e132e4d 100644
--- a/plugins/org.eclipse.jem.workbench/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.jem.workbench/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.jem.workbench; singleton:=true
-Bundle-Version: 1.2.5.qualifier
+Bundle-Version: 1.2.6.qualifier
 Bundle-Activator: org.eclipse.jem.internal.plugin.JavaPlugin
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
diff --git a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaMethodJDOMAdaptor.java b/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaMethodJDOMAdaptor.java
index 1c1af1a..6bbd7c2 100644
--- a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaMethodJDOMAdaptor.java
+++ b/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaMethodJDOMAdaptor.java
@@ -10,7 +10,7 @@
  *******************************************************************************/
 /*
  *  $RCSfile: JavaMethodJDOMAdaptor.java,v $
- *  $Revision: 1.15.2.1 $  $Date: 2007/04/18 13:46:00 $ 
+ *  $Revision: 1.15.2.1.2.1 $  $Date: 2009/10/01 22:01:27 $ 
  */
 package org.eclipse.jem.internal.adapters.jdom;
 
@@ -134,10 +134,12 @@
 	protected IType getParentType() {
 		if (parentType == null) {
 			Method targetMethod = (Method) getTarget();
-			JavaClass parentJavaClass = targetMethod.getContainingJavaClass();
-			JavaClassJDOMAdaptor pa = (JavaClassJDOMAdaptor) EcoreUtil.getAdapter(parentJavaClass.eAdapters(), ReadAdaptor.TYPE_KEY);
-			if (pa != null)
-				parentType = pa.getSourceType();
+			if(targetMethod != null){
+				JavaClass parentJavaClass = targetMethod.getContainingJavaClass();
+				JavaClassJDOMAdaptor pa = (JavaClassJDOMAdaptor) EcoreUtil.getAdapter(parentJavaClass.eAdapters(), ReadAdaptor.TYPE_KEY);
+				if (pa != null)
+					parentType = pa.getSourceType();
+			}
 		}
 		return parentType;
 	}
diff --git a/plugins/org.eclipse.jem/META-INF/MANIFEST.MF b/plugins/org.eclipse.jem/META-INF/MANIFEST.MF
index aceb0fd..2d62d26 100644
--- a/plugins/org.eclipse.jem/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.jem/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.jem; singleton:=true
-Bundle-Version: 1.2.3.qualifier
+Bundle-Version: 1.2.4.qualifier
 Bundle-Activator: org.eclipse.jem.internal.core.JEMPlugin
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/internal/impl/JavaClassImpl.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/internal/impl/JavaClassImpl.java
index e2040fd..42e872c 100644
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/internal/impl/JavaClassImpl.java
+++ b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/internal/impl/JavaClassImpl.java
@@ -10,7 +10,7 @@
  *******************************************************************************/
 /*
  *  $RCSfile: JavaClassImpl.java,v $
- *  $Revision: 1.4 $  $Date: 2006/05/17 20:13:07 $ 
+ *  $Revision: 1.4.6.1 $  $Date: 2009/10/01 22:01:28 $ 
  */
 package org.eclipse.jem.java.internal.impl;
 
@@ -262,7 +262,17 @@
 			if (!excludedClasses.contains(javaClass))
 				javaClass.collectMethodsExtended(methods, onlyPublic, excludedClasses, excludedMethods);
 		}
-		it1 = onlyPublic ? getPublicMethods().iterator() : getMethods().iterator();
+		
+		List allMethods = null;
+		if(onlyPublic){
+			allMethods = getPublicMethods();
+		} else{
+			allMethods = new ArrayList();
+			synchronized(getMethods()){
+				allMethods.addAll(getMethods());
+			}
+		}
+		it1 = allMethods.iterator();
 		Method nextMethod;
 		while (it1.hasNext()) {
 			nextMethod = (Method) it1.next();