 package com.phylake.pooling
 {
     import flash.errors.IllegalOperationError;
+    import flash.utils.Dictionary;
     
     public class ObjectPool
     {

            if (destroyInstances && destroyFunction != null)
            {
                var instance:Object;
                while (instance = _inUse.pop())     destroyFunction(instance);
                while (instance = _available.pop()) destroyFunction(instance);
            }

            _instantiateFunction = null;

         */
        public function setObject(instance:Object):void
        {
            if (!instance) return;
            
            if (instance in _inUse)
            {
                delete _inUse[instance];
                _inUseCount--;
            }

            if (_bounded && _availableCount >= _maxSize)
            {
                if (destroyFunction != null) destroyFunction(instance);
                
