code: function EntityProvider(storage, location) {
    EntityProvider.super_.call(this, storage);
  
    Object.defineProperties(this, {
  
      /**
       * The location of the entities in the storage.
       *
       * @property location
       * @type String
       * @final
       */
      location: {value: location}
  
    });
  
    if (Object.prototype.toString.call(this.location) !== '[object String]')
      throw new TypeError('location must be a string');
  }
docs: Defines a provider holding a single type of resources.
  
  An entity provider manages a single type of resources. These resources are stored into the given storage / location.
  
  @class EntityProvider
  @extends Provider
  @constructor
  @param {Storage} storage The storage to use to store provider entities
  @param {String} location The location of the entities in the storage
  @throws {TypeError} If storage and / or location is not valid