[461398] Improve/fix caching in EClass' eAllStructuralFeature list.
diff --git a/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/impl/EClassImpl.java b/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/impl/EClassImpl.java
index 9333e9d..00babf5 100644
--- a/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/impl/EClassImpl.java
+++ b/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/impl/EClassImpl.java
@@ -806,8 +806,8 @@
       {
         private static final long serialVersionUID = 1L;
 
-        protected EStructuralFeature [] containments;
-        protected EStructuralFeature [] crossReferences;
+        protected EStructuralFeature [] containments = NO_EALL_STRUCTURE_FEATURES_DATA;
+        protected EStructuralFeature [] crossReferences = NO_EALL_STRUCTURE_FEATURES_DATA;
 
         public EAllStructuralFeaturesList(BasicEList<EStructuralFeature> eAllStructuralFeatures)
         {
@@ -869,7 +869,7 @@
 
         public EStructuralFeature [] containments()
         {
-          if (containments == null)
+          if (containments == NO_EALL_STRUCTURE_FEATURES_DATA)
           {
             init();
           }
@@ -878,7 +878,7 @@
 
         public EStructuralFeature [] crossReferences()
         {
-          if (crossReferences == null)
+          if (crossReferences == NO_EALL_STRUCTURE_FEATURES_DATA)
           {
             init();
           }