code: function ArrayProperty(name, value, parent, metadata) {
          Property.call(this, name, value, parent, metadata);
          ObservableArray.call(this, this, value);
      }
docs: The modeljs Property Object that extends a javaScript Array so that Array function like push,
  pop, reverse, etc... can be used while at the same time inherited Property methods. Be
  aware instances will return false to native Array.isArray() function. THe alternative is
  to use Model.isArray() or Array.isArray(instance.getValue()). The former is recommended.
  
  @example
  For examples see: <b>testPropertyArray</b>,  and <b>testPropertyArrayLoading</b>
  
  @class ArrayProperty
  @constructor
  @extends Property