code: function () {
              var ret;
              if (this.count <= this.__maxObjects && this.freeCount > 0) {
                  ret = this.__freeObjects.dequeue();
                  this.__inUseObjects.push(ret);
              } else if (this.count < this.__maxObjects) {
                  ret = this.createObject();
                  this.__inUseObjects.push(ret);
              }
              return ret;
          }
docs: Retrieves an object from this pool.
  `
  @return {*} an object to contained in this pool