[300594] component equals fix
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/resources/VirtualComponent.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/resources/VirtualComponent.java
index fb135ca..87c3f05 100644
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/resources/VirtualComponent.java
+++ b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/resources/VirtualComponent.java
@@ -374,6 +374,7 @@
 	}
 
 	public int hashCode() {
+		if(componentProject == null) return super.hashCode();  //If component factory instance, don't use project to hash
 		int hash = HashUtil.SEED;
 		hash = HashUtil.hash(hash, getProject().getName());
 		hash = HashUtil.hash(hash, getName());
@@ -381,7 +382,8 @@
 		return hash;
 	}
 	
-	public boolean equals(Object anOther) { 
+	public boolean equals(Object anOther) {
+		if(componentProject == null) return super.equals(anOther);  //If component factory instance, don't use project to compare
 		if(anOther instanceof IVirtualComponent) {
 			IVirtualComponent otherComponent = (IVirtualComponent) anOther;
 			return getProject().equals(otherComponent.getProject()) &&