function EntityCollection(owner) {
  this._owner = owner;
  this._entities = new AssociativeArray();
  this._addedEntities = new AssociativeArray();
  this._removedEntities = new AssociativeArray();
  this._changedEntities = new AssociativeArray();
  this._suspendCount = 0;
  this._collectionChanged = new Event();
  this._id = createGuid();
  this._show = true;
  this._firing = false;
  this._refire = false;
}
An observable collection of {@link Entity} instances where each entity has a unique id.
@alias EntityCollection
@constructor

@param {DataSource|CompositeEntityCollection} [owner] The data source (or composite entity collection) which created this collection.