[300183] Componentcore.createComponent returns a null value when called from adopter product
diff --git a/plugins/org.eclipse.jst.j2ee/refactor/org/eclipse/jst/j2ee/refactor/operations/ProjectRefactorMetadata.java b/plugins/org.eclipse.jst.j2ee/refactor/org/eclipse/jst/j2ee/refactor/operations/ProjectRefactorMetadata.java
index c95b788..2905356 100644
--- a/plugins/org.eclipse.jst.j2ee/refactor/org/eclipse/jst/j2ee/refactor/operations/ProjectRefactorMetadata.java
+++ b/plugins/org.eclipse.jst.j2ee/refactor/org/eclipse/jst/j2ee/refactor/operations/ProjectRefactorMetadata.java
@@ -122,7 +122,7 @@
 				metadata = new ProjectRefactorMetadata(dependentProjects[i], virtualComponentCaching);
 				metadata.computeMetadata();
 				dependentMetadata.add(metadata);
-				if (metadata.isEAR()) {
+				if (metadata.isEAR() && virtualComp.getComponent() != null) {
 					final String uri = getModuleURI(dependentProject, virtualComp);
 					if (uri != null) {
 						earToModuleURI.put(dependentProject.getName(), uri);
@@ -252,6 +252,7 @@
 			return _comp.exists();
 		}
 		public IVirtualComponent getComponent() {
+			if(_comp == null) return null;
 			return _comp.getComponent();
 		}
 		public Properties getMetaProperties() {
@@ -324,7 +325,9 @@
 		private IVirtualReference[] cachedRefs;
 		public RefCachingVirtualComponent(final IVirtualComponent comp) {
 			super(comp);
-			cachedRefs = ((VirtualComponent)comp).getAllReferences();
+			if(comp != null){
+				cachedRefs = ((VirtualComponent)comp).getAllReferences();
+			}
 		}
 
 		public IVirtualReference getReference(String aComponentName) {
@@ -351,7 +354,9 @@
 		private IVirtualComponent[] cachedReferers;
 		public RefererCachingVirtualComponent(final IVirtualComponent comp) {
 			super(comp);
-			cachedReferers = comp.getReferencingComponents();
+			if(comp != null){
+				cachedReferers = comp.getReferencingComponents();
+			}
 		}
 
 		public IVirtualComponent[] getReferencingComponents() {