[452682] Guard against broken references for used package analysis

Change-Id: Ib9869756ec5e1d3524b422c60e0f4bd53e70a449
Signed-off-by: Miro Spönemann <miro.spoenemann@itemis.de>
diff --git a/plugins/org.eclipse.emf.ecore.xcore/src/org/eclipse/emf/ecore/xcore/util/XcoreGenModelBuilder.xtend b/plugins/org.eclipse.emf.ecore.xcore/src/org/eclipse/emf/ecore/xcore/util/XcoreGenModelBuilder.xtend
index bbcad56..f21675a 100644
--- a/plugins/org.eclipse.emf.ecore.xcore/src/org/eclipse/emf/ecore/xcore/util/XcoreGenModelBuilder.xtend
+++ b/plugins/org.eclipse.emf.ecore.xcore/src/org/eclipse/emf/ecore/xcore/util/XcoreGenModelBuilder.xtend
@@ -168,8 +168,11 @@
              EClassifier:
              {
                val EPackage referencedEPackage = eCrossReference.getEPackage
-               ePackages.add(referencedEPackage)
-               referencedEPackages.add(referencedEPackage)
+               if (referencedEPackage != null)
+               {
+                 ePackages.add(referencedEPackage)
+                 referencedEPackages.add(referencedEPackage)
+               }
              }
              EStructuralFeature:
              {
@@ -177,8 +180,11 @@
                if (eContainingClass != null)
                {
                  val EPackage referencedEPackage = eContainingClass.getEPackage
-                 ePackages.add(referencedEPackage)
-                 referencedEPackages.add(referencedEPackage)
+                 if (referencedEPackage != null)
+                 {
+                   ePackages.add(referencedEPackage) 
+                   referencedEPackages.add(referencedEPackage)
+                 }
                }
              }
            }
diff --git a/plugins/org.eclipse.emf.ecore.xcore/xtend-gen/org/eclipse/emf/ecore/xcore/util/XcoreGenModelBuilder.java b/plugins/org.eclipse.emf.ecore.xcore/xtend-gen/org/eclipse/emf/ecore/xcore/util/XcoreGenModelBuilder.java
index 8b8df99..da26294 100644
--- a/plugins/org.eclipse.emf.ecore.xcore/xtend-gen/org/eclipse/emf/ecore/xcore/util/XcoreGenModelBuilder.java
+++ b/plugins/org.eclipse.emf.ecore.xcore/xtend-gen/org/eclipse/emf/ecore/xcore/util/XcoreGenModelBuilder.java
@@ -249,8 +249,11 @@
                   if (eCrossReference instanceof EClassifier) {
                     _matched=true;
                     final EPackage referencedEPackage = ((EClassifier)eCrossReference).getEPackage();
-                    ePackages.add(referencedEPackage);
-                    referencedEPackages.add(referencedEPackage);
+                    boolean _notEquals = (!Objects.equal(referencedEPackage, null));
+                    if (_notEquals) {
+                      ePackages.add(referencedEPackage);
+                      referencedEPackages.add(referencedEPackage);
+                    }
                   }
                 }
                 if (!_matched) {
@@ -260,8 +263,11 @@
                     boolean _notEquals = (!Objects.equal(eContainingClass, null));
                     if (_notEquals) {
                       final EPackage referencedEPackage = eContainingClass.getEPackage();
-                      ePackages.add(referencedEPackage);
-                      referencedEPackages.add(referencedEPackage);
+                      boolean _notEquals_1 = (!Objects.equal(referencedEPackage, null));
+                      if (_notEquals_1) {
+                        ePackages.add(referencedEPackage);
+                        referencedEPackages.add(referencedEPackage);
+                      }
                     }
                   }
                 }