docs: function (obj) {
              var index;
              if (this.__freeObjects.contains(obj)) {
                  this.__freeObjects.remove(obj);
              } else if ((index = this.__inUseObjects.indexOf(obj)) > -1) {
                  this.__inUseObjects.splice(index, 1);
              }
              //otherwise its not contained in this pool;
              return obj;
          }