code: function(eClass, attributes) {
          var attrs,
              eObject;
  
          if (!attributes) {
              if (eClass instanceof EObject) {
                  attrs = {};
                  attrs.eClass = eClass;
              } else {
                  attrs = eClass;
              }
          } else {
              attrs = attributes;
              attrs.eClass = attributes.eClass || eClass;
          }
  
          if (!attrs.eClass || attrs.eClass.get('abstract')) {
              throw new Error('Cannot create EObject from undefined or abstract EClass');
          }
  
          eObject = new EObject( attrs );
  
          return eObject;
      }
docs: Returns an instance of the given EClass.  The resulting object is an EObject having it's properties initialized from the structural features of the EClass.  Example:  var User = Ecore.EClass.create({ name: 'User', eStructuralFeatures: [ { eClass: Ecore.EAttribute, name: 'userName', eType: Ecore.EString } ] });  var u1 = Ecore.create(User); u1.set('userName', 'Randy');  alternatively  var u1 = User.create({ userName: 'Randy' });  u1.get('userName'); -> Randy