code: function() {
          var C = this;
          var l = arguments.length;
          if (l > 0) {
            var args = new Array(l);
            for (var i = 0; i < l; i++) {
              args[i] = arguments[i];
            }
            this._initProperties(args);
          }
          return new C();
        }
docs: Creates an instance of a class. Accepts either no arguments, or an object
  containing values to initialize the newly instantiated object with.
  
  ```javascript
  App.Person = Ember.Object.extend({
  helloWorld: function() {
  alert("Hi, my name is " + this.get('name'));
  }
  });
  
  var tom = App.Person.create({
  name: 'Tom Dale'
  });
  
  tom.helloWorld(); // alerts "Hi, my name is Tom Dale".
  ```
  
  `create` will call the `init` function if defined during
  `Ember.AnyObject.extend`
  
  If no arguments are passed to `create`, it will not set values to the new
  instance during initialization:
  
  ```javascript
  var noName = App.Person.create();
  noName.helloWorld(); // alerts undefined
  ```
  
  NOTE: For performance reasons, you cannot declare methods or computed
  properties during `create`. You should instead declare methods and computed
  properties when using `extend` or use the `createWithMixins` shorthand.
  
  @method create
  @static
  @param [arguments]*