docs: 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;
      }